@kudusov.takhir/ba-toolkit 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/COMMANDS.md +69 -0
  3. package/LICENSE +21 -0
  4. package/README.md +842 -0
  5. package/README.ru.md +846 -0
  6. package/bin/ba-toolkit.js +468 -0
  7. package/package.json +49 -0
  8. package/skills/ac/SKILL.md +88 -0
  9. package/skills/analyze/SKILL.md +126 -0
  10. package/skills/apicontract/SKILL.md +113 -0
  11. package/skills/brief/SKILL.md +120 -0
  12. package/skills/clarify/SKILL.md +96 -0
  13. package/skills/datadict/SKILL.md +98 -0
  14. package/skills/estimate/SKILL.md +124 -0
  15. package/skills/export/SKILL.md +215 -0
  16. package/skills/glossary/SKILL.md +145 -0
  17. package/skills/handoff/SKILL.md +146 -0
  18. package/skills/nfr/SKILL.md +85 -0
  19. package/skills/principles/SKILL.md +182 -0
  20. package/skills/references/closing-message.md +33 -0
  21. package/skills/references/domains/ecommerce.md +209 -0
  22. package/skills/references/domains/fintech.md +180 -0
  23. package/skills/references/domains/healthcare.md +223 -0
  24. package/skills/references/domains/igaming.md +183 -0
  25. package/skills/references/domains/logistics.md +221 -0
  26. package/skills/references/domains/on-demand.md +231 -0
  27. package/skills/references/domains/real-estate.md +241 -0
  28. package/skills/references/domains/saas.md +185 -0
  29. package/skills/references/domains/social-media.md +234 -0
  30. package/skills/references/environment.md +57 -0
  31. package/skills/references/prerequisites.md +191 -0
  32. package/skills/references/templates/README.md +35 -0
  33. package/skills/references/templates/ac-template.md +58 -0
  34. package/skills/references/templates/analyze-template.md +65 -0
  35. package/skills/references/templates/apicontract-template.md +183 -0
  36. package/skills/references/templates/brief-template.md +51 -0
  37. package/skills/references/templates/datadict-template.md +75 -0
  38. package/skills/references/templates/export-template.md +112 -0
  39. package/skills/references/templates/handoff-template.md +102 -0
  40. package/skills/references/templates/nfr-template.md +97 -0
  41. package/skills/references/templates/principles-template.md +118 -0
  42. package/skills/references/templates/research-template.md +99 -0
  43. package/skills/references/templates/risk-template.md +188 -0
  44. package/skills/references/templates/scenarios-template.md +93 -0
  45. package/skills/references/templates/sprint-template.md +158 -0
  46. package/skills/references/templates/srs-template.md +90 -0
  47. package/skills/references/templates/stories-template.md +60 -0
  48. package/skills/references/templates/trace-template.md +59 -0
  49. package/skills/references/templates/usecases-template.md +51 -0
  50. package/skills/references/templates/wireframes-template.md +96 -0
  51. package/skills/research/SKILL.md +136 -0
  52. package/skills/risk/SKILL.md +163 -0
  53. package/skills/scenarios/SKILL.md +113 -0
  54. package/skills/sprint/SKILL.md +174 -0
  55. package/skills/srs/SKILL.md +124 -0
  56. package/skills/stories/SKILL.md +85 -0
  57. package/skills/trace/SKILL.md +85 -0
  58. package/skills/usecases/SKILL.md +91 -0
  59. package/skills/wireframes/SKILL.md +107 -0
package/README.md ADDED
@@ -0,0 +1,842 @@
1
+ <div align="center">
2
+
3
+ # πŸ“‹ BA Toolkit
4
+
5
+ <strong>AI-powered Business Analyst pipeline</strong><br>
6
+ From project brief to development handoff β€” 21 skills, fully structured pipeline
7
+
8
+ πŸ‡ΊπŸ‡Έ **English** Β· [πŸ‡·πŸ‡Ί Русский](README.ru.md)
9
+
10
+ <img src="https://img.shields.io/badge/skills-21-blue" alt="Skills">
11
+ <img src="https://img.shields.io/badge/domains-9-green" alt="Domains">
12
+ <img src="https://img.shields.io/badge/format-Markdown-orange" alt="Format">
13
+ <img src="https://img.shields.io/badge/language-auto--detect-purple" alt="Language">
14
+ <img src="https://img.shields.io/badge/license-MIT-lightgrey" alt="License">
15
+
16
+ <img src="https://img.shields.io/badge/Claude_Code-βœ“-6C5CE7" alt="Claude Code">
17
+ <img src="https://img.shields.io/badge/Codex_CLI-βœ“-00D26A" alt="Codex CLI">
18
+ <img src="https://img.shields.io/badge/Gemini_CLI-βœ“-4285F4" alt="Gemini CLI">
19
+ <img src="https://img.shields.io/badge/Cursor-convert-F5A623" alt="Cursor">
20
+ <img src="https://img.shields.io/badge/Windsurf-convert-1ABCFE" alt="Windsurf">
21
+
22
+ </div>
23
+
24
+ ---
25
+
26
+ ## Contents
27
+
28
+ - [What is this?](#-what-is-this)
29
+ - [Who is this for?](#who-is-this-for)
30
+ - [Why not just prompt directly?](#why-not-just-prompt-chatgpt--claude-directly)
31
+ - [Platform Compatibility](#-platform-compatibility)
32
+ - [Pipeline](#-pipeline)
33
+ - [Domain Support](#-domain-support)
34
+ - [How Each Skill Works](#-how-each-skill-works)
35
+ - [Installation](#-installation)
36
+ - [Option A: Claude Code](#option-a-claude-code-cli--recommended)
37
+ - [Option B: OpenAI Codex CLI](#option-b-openai-codex-cli)
38
+ - [Option C: Google Gemini CLI](#option-c-google-gemini-cli)
39
+ - [Option D: Cursor, Windsurf, Aider](#option-d-cursor-windsurf-aider)
40
+ - [Starting a new project](#starting-a-new-project)
41
+ - [Updating BA Toolkit](#updating-ba-toolkit)
42
+ - [Repository Structure](#-repository-structure)
43
+ - [Cross-Reference System](#-cross-reference-system)
44
+ - [Minimum Viable Pipeline](#-minimum-viable-pipeline)
45
+ - [Quick Start](#-quick-start)
46
+ - [What the Output Looks Like](#️-what-the-output-looks-like)
47
+ - [Usage Guide](#-usage-guide)
48
+ - [1. Starting a project](#1-starting-a-project)
49
+ - [2. Moving through the pipeline](#2-moving-through-the-pipeline)
50
+ - [3. Using /clarify](#3-using-clarify)
51
+ - [4. Using /analyze](#4-using-analyze)
52
+ - [5. Using /trace](#5-using-trace)
53
+ - [6. Splitting large elements](#6-splitting-large-elements)
54
+ - [7. Working with multiple projects](#7-working-with-multiple-projects)
55
+ - [8. Troubleshooting](#8-troubleshooting)
56
+ - [9. AGENTS.md β€” persistent project context](#9-agentsmd--persistent-project-context)
57
+ - [FAQ](#-faq)
58
+ - [Contributing](#-contributing)
59
+ - [Adding a New Domain](#adding-a-new-domain)
60
+ - [Changelog](CHANGELOG.md)
61
+ - [License](#-license)
62
+
63
+ ---
64
+
65
+ ## 🎯 What is this?
66
+
67
+ BA Toolkit is a set of **21 interconnected skills** that turn your AI coding agent into a business analyst. You walk through a structured pipeline β€” from a high-level project brief to a development handoff package β€” and get a complete requirements artifact set ready for engineering.
68
+
69
+ Each skill **reads the output of previous steps**, maintains cross-references between artifacts (FR β†’ US β†’ UC β†’ AC β†’ NFR β†’ Entities β†’ ADR β†’ API β†’ Screens β†’ Scenarios), and adapts to your project's domain.
70
+
71
+ **Artifacts are generated in the language you write in.** Ask in English β€” get English docs. Ask in Russian, Spanish, or any other language β€” the output follows.
72
+
73
+ ### Who is this for?
74
+
75
+ - **Developers** building a product without a dedicated BA β€” get structured requirements before writing code.
76
+ - **Product managers** who need formal documentation (SRS, AC, NFR) but want to produce it faster.
77
+ - **Business analysts** using AI to accelerate artifact creation and reduce manual cross-referencing.
78
+ - **Startup founders** turning an idea into a spec ready for a development team or investor presentation.
79
+
80
+ ### Why not just prompt ChatGPT / Claude directly?
81
+
82
+ | | Ad-hoc prompting | BA Toolkit |
83
+ |--|-----------------|-----------|
84
+ | Structure | One-shot; no memory across messages | 11 interconnected artifacts, each reads all previous ones |
85
+ | Coverage | Easy to miss NFR, edge cases, data model | Structured interview + checklists prevent gaps |
86
+ | Traceability | None | FR β†’ US β†’ AC β†’ API β†’ WF chain with `/trace` |
87
+ | Quality checks | Ad-hoc | `/clarify` and `/analyze` with CRITICAL/HIGH severity ratings |
88
+ | Domain knowledge | Generic | Built-in references for 9 domains (iGaming, Fintech, SaaS, E-commerce, Healthcare, Logistics, On-demand, Social/Media, Real Estate) |
89
+ | Handoff | Chat text | Up to 11 Markdown files ready for Jira, Spec Kit, or dev team |
90
+
91
+ ---
92
+
93
+ ## πŸ€– Platform Compatibility
94
+
95
+ BA Toolkit uses the open **Agent Skills specification** (SKILL.md format) published by Anthropic in December 2025 and adopted across multiple platforms.
96
+
97
+ | Platform | Support | Installation |
98
+ |----------|:-------:|-------------|
99
+ | **Claude Code** | βœ… Native | `cp -r skills/ .claude/skills/ba-toolkit/` |
100
+ | **OpenAI Codex CLI** | βœ… Native | `cp -r skills/ ~/.codex/skills/ba-toolkit/` |
101
+ | **Gemini CLI** | βœ… Native | Copy the entire `skills/` tree to `~/.gemini/skills/ba-toolkit/` (user) or `.gemini/skills/ba-toolkit/` (workspace) |
102
+ | **Cursor** | πŸ”„ Convert | SKILL.md β†’ `.mdc` rules in `.cursor/rules/` |
103
+ | **Windsurf** | πŸ”„ Convert | SKILL.md β†’ rules in `.windsurf/rules/` |
104
+ | **Aider** | πŸ”„ Convert | SKILL.md β†’ conventions file |
105
+
106
+ > πŸ’‘ Platforms marked **Native** read SKILL.md as-is. Platforms marked **Convert** require a one-time format conversion β€” the content is the same, only the file format differs. Tools like [convert.sh](https://github.com/alirezarezvani/claude-skills/blob/main/scripts/convert.sh) can automate this.
107
+
108
+ ### Environment detection
109
+
110
+ Skills do not hardcode platform-specific paths. Instead, they reference `references/environment.md` which contains the output directory logic for each platform. By default, artifacts are saved to the current working directory.
111
+
112
+ To customize for your setup, edit `skills/references/environment.md` β€” all skills will pick up the change automatically.
113
+
114
+ ---
115
+
116
+ ## πŸ”— Pipeline
117
+
118
+ ```
119
+ πŸ“ /principles (optional)
120
+ β”‚
121
+ β–Ό
122
+ πŸ“„ /brief β†’ πŸ“‘ /srs β†’ πŸ“ /stories β†’ πŸ”„ /usecases β†’ βœ… /ac β†’ ⚑ /nfr β†’ πŸ—ƒοΈ /datadict β†’ πŸ”¬ /research β†’ πŸ”Œ /apicontract β†’ πŸ–ΌοΈ /wireframes β†’ πŸ§ͺ /scenarios β†’ πŸ“¦ /handoff
123
+ β”‚
124
+ └──→ πŸ” /trace (available after /stories)
125
+
126
+ πŸ”Ž /clarify [focus] β€” available at any step, on any artifact
127
+ πŸ“Š /analyze β€” available at any step after /srs
128
+ ```
129
+
130
+ | # | Command | What it generates | Output file |
131
+ |:---:|---------|-------------------|-------------|
132
+ | 0 | `/principles` | πŸ“ Project Principles β€” language, ID conventions, DoR, traceability rules, NFR baseline | `00_principles_{slug}.md` |
133
+ | 1 | `/brief` | πŸ“„ Project Brief β€” goals, audience, stakeholders, risks | `01_brief_{slug}.md` |
134
+ | 2 | `/srs` | πŸ“‘ Requirements Specification (IEEE 830) | `02_srs_{slug}.md` |
135
+ | 3 | `/stories` | πŸ“ User Stories grouped by Epics | `03_stories_{slug}.md` |
136
+ | 4 | `/usecases` | πŸ”„ Use Cases with main/alt/exception flows | `04_usecases_{slug}.md` |
137
+ | 5 | `/ac` | βœ… Acceptance Criteria (Given/When/Then) | `05_ac_{slug}.md` |
138
+ | 6 | `/nfr` | ⚑ Non-functional Requirements with metrics | `06_nfr_{slug}.md` |
139
+ | 7 | `/datadict` | πŸ—ƒοΈ Data Dictionary β€” entities, types, constraints | `07_datadict_{slug}.md` |
140
+ | 7a | `/research` | πŸ”¬ Technology Research β€” ADRs, integration map, data storage decisions | `07a_research_{slug}.md` |
141
+ | 8 | `/apicontract` | πŸ”Œ API Contract β€” endpoints, schemas, errors | `08_apicontract_{slug}.md` |
142
+ | 9 | `/wireframes` | πŸ–ΌοΈ Textual Wireframe Descriptions | `09_wireframes_{slug}.md` |
143
+ | 10 | `/scenarios` | πŸ§ͺ End-to-end Validation Scenarios β€” user journeys linking US, AC, WF, API | `10_scenarios_{slug}.md` |
144
+ | 11 | `/handoff` | πŸ“¦ Development Handoff Package β€” artifact inventory, MVP scope, open items | `11_handoff_{slug}.md` |
145
+ | β€” | `/trace` | πŸ” Traceability Matrix + coverage gaps | `00_trace_{slug}.md` |
146
+ | β€” | `/clarify [focus]` | πŸ”Ž Targeted ambiguity resolution for any artifact | _(updates existing artifact)_ |
147
+ | β€” | `/analyze` | πŸ“Š Cross-artifact quality report with severity table | `00_analyze_{slug}.md` |
148
+ | β€” | `/estimate` | πŸ“ Effort estimation β€” Fibonacci SP, T-shirt sizes, or person-days | `00_estimate_{slug}.md` |
149
+ | β€” | `/glossary` | πŸ“– Unified project glossary with terminology drift detection | `00_glossary_{slug}.md` |
150
+ | β€” | `/export [format]` | πŸ“€ Export User Stories to Jira / GitHub Issues / Linear / CSV | `export_{slug}_{format}.json` / `.csv` |
151
+ | β€” | `/risk` | ⚠️ Risk register β€” probability Γ— impact matrix, mitigation per risk | `00_risks_{slug}.md` |
152
+ | β€” | `/sprint` | πŸ—“οΈ Sprint plan β€” stories grouped by velocity and capacity with sprint goals | `00_sprint_{slug}.md` |
153
+
154
+ > πŸ’‘ The project **slug** (e.g., `dragon-fortune`) is set at `/brief` and reused across all files automatically.
155
+
156
+ ---
157
+
158
+ ## 🌍 Domain Support
159
+
160
+ The pipeline is **domain-agnostic** by default. At the `/brief` stage, you pick a domain β€” and every subsequent skill loads domain-specific interview questions, mandatory entities, NFR categories, and glossary terms.
161
+
162
+ | Domain | Industries covered |
163
+ |--------|-------------------|
164
+ | 🎰 **iGaming** | Online slots, sports betting, casino lobbies, Telegram Mini Apps, promo mechanics |
165
+ | 🏦 **Fintech** | Neobanks, payment systems, crypto exchanges, investment platforms, P2P lending |
166
+ | ☁️ **SaaS** | B2B platforms, CRM, analytics, marketplaces, EdTech, HRTech |
167
+ | πŸ›’ **E-commerce** | B2C stores, B2B catalogs, multi-vendor marketplaces, D2C brands, digital goods |
168
+ | πŸ₯ **Healthcare** | Telemedicine, patient portals, EHR/EMR, clinic management, mental health apps |
169
+ | 🚚 **Logistics** | Last-mile delivery, courier management, freight tracking, WMS, fleet management |
170
+ | πŸ”§ **On-demand** | Ride-hailing, home services, task marketplaces, beauty, tutoring, pet care |
171
+ | πŸ“± **Social / Media** | Social networks, creator platforms, community forums, newsletters, short-video |
172
+ | 🏠 **Real Estate** | Property portals, agency CRM, rental management, property management, mortgage tools |
173
+ | ✏️ **Custom** | Any other domain β€” works with general interview questions |
174
+
175
+ > βž• **Adding a new domain** = creating one Markdown file in `skills/references/domains/`. See [Adding a New Domain](#adding-a-new-domain) below.
176
+
177
+ ---
178
+
179
+ ## πŸ”„ How Each Skill Works
180
+
181
+ Most pipeline skills follow this cycle:
182
+
183
+ ```
184
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
185
+ β”‚ 1. Command │────▢│ 2. Context │────▢│3. Interview │────▢│ 4. Generate β”‚
186
+ β”‚ /brief β”‚ β”‚ Load prior β”‚ β”‚ 3-7 Q's perβ”‚ β”‚ Markdown β”‚
187
+ β”‚ /srs ... β”‚ β”‚ artifacts β”‚ β”‚ round, 2-4 β”‚ β”‚ artifact + β”‚
188
+ β”‚ β”‚ β”‚ + domain + β”‚ β”‚ rounds β”‚ β”‚ summary β”‚
189
+ β”‚ β”‚ β”‚ principles β”‚ β”‚ β”‚ β”‚ β”‚
190
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
191
+ β”‚
192
+ β–Ό
193
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
194
+ β”‚ 5. Refine β”‚
195
+ β”‚ β”‚
196
+ β”‚ /clarify β”‚
197
+ β”‚ /revise β”‚
198
+ β”‚ /expand β”‚
199
+ β”‚ /split β”‚
200
+ β”‚ /validate β”‚
201
+ β”‚ /done ──────┼──▢ Next step
202
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
203
+ ```
204
+
205
+ > `/handoff`, `/trace`, and `/analyze` skip step 3 β€” they extract all information from existing artifacts automatically, with no interview.
206
+
207
+ ### Subcommands
208
+
209
+ | Command | What it does |
210
+ |---------|-------------|
211
+ | `/clarify [focus]` | Targeted ambiguity pass β€” surfaces vague terms, missing metrics, conflicting rules |
212
+ | `/revise [section]` | Rewrite a specific section with your feedback |
213
+ | `/expand [section]` | Add more detail to a section |
214
+ | `/split [element]` | Break a large element into smaller ones (e.g., a big user story) |
215
+ | `/validate` | Check completeness, consistency, and alignment with prior artifacts |
216
+ | `/analyze` | Cross-artifact quality report: duplicates, coverage gaps, terminology drift, invalid references |
217
+ | `/done` | Finalize the current artifact and move to the next pipeline step |
218
+
219
+ ---
220
+
221
+ ## πŸ“¦ Installation
222
+
223
+ ### πŸš€ Easiest: via npm (no clone required)
224
+
225
+ ```bash
226
+ # One-shot project setup β€” zero install, just run:
227
+ npx ba-toolkit init
228
+ npx ba-toolkit install --for claude-code
229
+
230
+ # Or install globally and reuse across projects:
231
+ npm install -g ba-toolkit
232
+ ba-toolkit install --for claude-code --global
233
+ ```
234
+
235
+ Supported agents: `claude-code`, `codex`, `gemini`, `cursor`, `windsurf`. Cursor and Windsurf installs automatically convert `SKILL.md` files into the `.mdc` rule format. Use `--dry-run` to preview without writing.
236
+
237
+ Run `ba-toolkit --help` for the full CLI reference. The npm package has **zero runtime dependencies** β€” only Node.js β‰₯ 18.
238
+
239
+ ---
240
+
241
+ ### Option A: Claude Code CLI ✨ Manual install
242
+
243
+ ```bash
244
+ # Clone and copy the skills directory (includes domain references)
245
+ git clone https://github.com/TakhirKudusov/ba-toolkit.git
246
+ cp -r ba-toolkit/skills/ /path/to/project/.claude/skills/ba-toolkit/
247
+ ```
248
+
249
+ Or install globally:
250
+
251
+ ```bash
252
+ cp -r ba-toolkit/skills/ ~/.claude/skills/ba-toolkit/
253
+ ```
254
+
255
+ Keep the full tree: skill folders (`brief/`, `srs/`, …) must stay together with `references/` in the same parent directory.
256
+
257
+ ### Option B: OpenAI Codex CLI
258
+
259
+ Skills load from `$CODEX_HOME/skills` (default `~/.codex/skills`). Copy the **whole** `skills/` directory as one folder so shared `references/` stays next to each skill:
260
+
261
+ ```bash
262
+ cp -r ba-toolkit/skills/ ~/.codex/skills/ba-toolkit/
263
+ ```
264
+
265
+ If you use a custom Codex home, set `CODEX_HOME` and copy under `$CODEX_HOME/skills/ba-toolkit/` instead.
266
+
267
+ ### Option C: Google Gemini CLI
268
+
269
+ Same layout as Codex: one directory that contains all skill subfolders **and** `references/`:
270
+
271
+ ```bash
272
+ # User-wide (all projects)
273
+ cp -r ba-toolkit/skills/ ~/.gemini/skills/ba-toolkit/
274
+
275
+ # Or project-only (under your repo root)
276
+ cp -r ba-toolkit/skills/ /path/to/project/.gemini/skills/ba-toolkit/
277
+ ```
278
+
279
+ Reload the CLI after copying.
280
+
281
+ ### Option D: Cursor, Windsurf, Aider
282
+
283
+ These platforms use their own rules format instead of SKILL.md. Convert first, then copy:
284
+
285
+ ```bash
286
+ # Option 1: Use the community converter
287
+ # https://github.com/alirezarezvani/claude-skills/blob/main/scripts/convert.sh
288
+ ./convert.sh --tool cursor --target /path/to/project
289
+ ./convert.sh --tool windsurf --target /path/to/project
290
+
291
+ # Option 2: Ask your AI agent
292
+ # "Convert all SKILL.md files in skills/ to Cursor .mdc rule format"
293
+ ```
294
+
295
+ **Cursor (details):** Project rules live in [`.cursor/rules/`](https://cursor.com/docs/rules) as `.mdc` files. Each rule is Markdown with **YAML frontmatter** at the top (for example `description`, optional `globs` for file patterns, and `alwaysApply` when the rule should run in every Agent chat). A plain rename of `SKILL.md` to `.mdc` is not enoughβ€”you need that metadata block. [Cursor CLI](https://cursor.com/docs/cli/using) uses the same `.cursor/rules` setup as the editor, and may also read `AGENTS.md` / `CLAUDE.md` at the repo root alongside rules.
296
+
297
+ ### Starting a new project
298
+
299
+ Run the initialiser script to create the output folder and a starter `AGENTS.md` in one step:
300
+
301
+ ```bash
302
+ # macOS / Linux
303
+ bash init.sh
304
+
305
+ # Windows PowerShell
306
+ .\init.ps1
307
+ ```
308
+
309
+ The script will ask for a project slug, name, and domain, then create `output/{slug}/` and an `AGENTS.md` with the full pipeline status table. After that, open your AI assistant and run `/brief`.
310
+
311
+ ---
312
+
313
+ ### Updating BA Toolkit
314
+
315
+ When a new version is released, pull the latest changes and re-copy the `skills/` directory to your install location:
316
+
317
+ ```bash
318
+ cd ba-toolkit
319
+ git pull
320
+
321
+ # Claude Code β€” project-level
322
+ cp -r skills/ /path/to/project/.claude/skills/ba-toolkit/
323
+
324
+ # Claude Code β€” global
325
+ cp -r skills/ ~/.claude/skills/ba-toolkit/
326
+
327
+ # Codex CLI
328
+ cp -r skills/ ~/.codex/skills/ba-toolkit/
329
+
330
+ # Gemini CLI (user-wide)
331
+ cp -r skills/ ~/.gemini/skills/ba-toolkit/
332
+ ```
333
+
334
+
335
+ Your previously generated artifact files (`01_brief_*.md`, `02_srs_*.md`, etc.) are not affected by updates β€” they stay exactly as you left them.
336
+
337
+ ---
338
+
339
+ ## πŸ“ Repository Structure
340
+
341
+ ```
342
+ ba-toolkit/
343
+ β”‚
344
+ β”œβ”€β”€ skills/ # 🧠 Source SKILL.md files (install this directory)
345
+ β”‚ β”œβ”€β”€ ac/SKILL.md # Step 5: Acceptance Criteria
346
+ β”‚ β”œβ”€β”€ apicontract/SKILL.md # Step 8: API Contract
347
+ β”‚ β”œβ”€β”€ brief/SKILL.md # Step 1: Project Brief
348
+ β”‚ β”œβ”€β”€ datadict/SKILL.md # Step 7: Data Dictionary
349
+ β”‚ β”œβ”€β”€ nfr/SKILL.md # Step 6: Non-functional Requirements
350
+ β”‚ β”œβ”€β”€ srs/SKILL.md # Step 2: Requirements (SRS)
351
+ β”‚ β”œβ”€β”€ stories/SKILL.md # Step 3: User Stories
352
+ β”‚ β”œβ”€β”€ principles/SKILL.md # Step 0 (optional): Project Principles
353
+ β”‚ β”œβ”€β”€ trace/SKILL.md # Cross-cutting: Traceability Matrix
354
+ β”‚ β”œβ”€β”€ clarify/SKILL.md # Cross-cutting: Targeted Ambiguity Resolution
355
+ β”‚ β”œβ”€β”€ analyze/SKILL.md # Cross-cutting: Cross-Artifact Quality Report
356
+ β”‚ β”œβ”€β”€ usecases/SKILL.md # Step 4: Use Cases
357
+ β”‚ β”œβ”€β”€ wireframes/SKILL.md # Step 9: Wireframe Descriptions
358
+ β”‚ β”œβ”€β”€ research/SKILL.md # Step 7a (optional): Technology Research & ADRs
359
+ β”‚ β”œβ”€β”€ scenarios/SKILL.md # Step 10 (optional): End-to-end Validation Scenarios
360
+ β”‚ β”œβ”€β”€ handoff/SKILL.md # Step 11 (optional): Development Handoff Package
361
+ β”‚ β”œβ”€β”€ estimate/SKILL.md # Utility: Effort Estimation (SP / T-shirt / person-days)
362
+ β”‚ β”œβ”€β”€ glossary/SKILL.md # Utility: Unified Project Glossary
363
+ β”‚ β”œβ”€β”€ export/SKILL.md # Utility: Export to Jira / GitHub Issues / Linear / CSV
364
+ β”‚ β”œβ”€β”€ risk/SKILL.md # Utility: Risk Register (probability Γ— impact matrix)
365
+ β”‚ β”œβ”€β”€ sprint/SKILL.md # Utility: Sprint Plan (velocity-based story grouping)
366
+ β”‚ └── references/
367
+ β”‚ β”œβ”€β”€ environment.md # πŸ–₯️ Platform-specific output paths
368
+ β”‚ β”œβ”€β”€ closing-message.md # πŸ“‹ Closing message template (used by all skills)
369
+ β”‚ β”œβ”€β”€ prerequisites.md # βœ… Per-step prerequisite checklists
370
+ β”‚ β”œβ”€β”€ templates/ # πŸ“„ Base artifact templates with [TOKEN] placeholders
371
+ β”‚ β”‚ β”œβ”€β”€ README.md
372
+ β”‚ β”‚ β”œβ”€β”€ principles-template.md
373
+ β”‚ β”‚ β”œβ”€β”€ brief-template.md
374
+ β”‚ β”‚ β”œβ”€β”€ srs-template.md
375
+ β”‚ β”‚ β”œβ”€β”€ stories-template.md
376
+ β”‚ β”‚ β”œβ”€β”€ usecases-template.md
377
+ β”‚ β”‚ β”œβ”€β”€ ac-template.md
378
+ β”‚ β”‚ β”œβ”€β”€ nfr-template.md
379
+ β”‚ β”‚ β”œβ”€β”€ datadict-template.md
380
+ β”‚ β”‚ β”œβ”€β”€ research-template.md
381
+ β”‚ β”‚ β”œβ”€β”€ apicontract-template.md
382
+ β”‚ β”‚ β”œβ”€β”€ wireframes-template.md
383
+ β”‚ β”‚ β”œβ”€β”€ scenarios-template.md
384
+ β”‚ β”‚ β”œβ”€β”€ trace-template.md
385
+ β”‚ β”‚ β”œβ”€β”€ analyze-template.md
386
+ β”‚ β”‚ └── handoff-template.md
387
+ β”‚ └── domains/
388
+ β”‚ β”œβ”€β”€ igaming.md # 🎰 iGaming domain knowledge
389
+ β”‚ β”œβ”€β”€ fintech.md # 🏦 Fintech domain knowledge
390
+ β”‚ β”œβ”€β”€ saas.md # ☁️ SaaS domain knowledge
391
+ β”‚ β”œβ”€β”€ ecommerce.md # πŸ›’ E-commerce domain knowledge
392
+ β”‚ β”œβ”€β”€ healthcare.md # πŸ₯ Healthcare / MedTech domain knowledge
393
+ β”‚ β”œβ”€β”€ logistics.md # 🚚 Logistics / Delivery domain knowledge
394
+ β”‚ β”œβ”€β”€ on-demand.md # πŸ”§ On-demand / Services domain knowledge
395
+ β”‚ β”œβ”€β”€ social-media.md # πŸ“± Social / Media domain knowledge
396
+ β”‚ └── real-estate.md # 🏠 Real Estate domain knowledge
397
+ β”‚
398
+ β”œβ”€β”€ bin/
399
+ β”‚ └── ba-toolkit.js # 🧰 npm CLI entry point (zero runtime deps)
400
+ β”œβ”€β”€ package.json # πŸ“¦ npm package manifest (for `npx ba-toolkit`)
401
+ β”œβ”€β”€ init.ps1 # πŸš€ Project initialiser (Windows PowerShell)
402
+ β”œβ”€β”€ init.sh # πŸš€ Project initialiser (macOS / Linux bash)
403
+ β”œβ”€β”€ CHANGELOG.md # πŸ“‹ Version history
404
+ β”œβ”€β”€ COMMANDS.md # πŸ“œ Command cheat sheet
405
+ β”œβ”€β”€ LICENSE # MIT license text
406
+ β”œβ”€β”€ README.md # English version
407
+ β”œβ”€β”€ README.ru.md # Russian version
408
+ β”œβ”€β”€ .gitignore
409
+ └── .github/
410
+ β”œβ”€β”€ workflows/
411
+ β”‚ β”œβ”€β”€ validate.yml # βœ… CI: validate artifacts and skill files on PR
412
+ β”‚ └── release.yml # πŸš€ CD: create GitHub Release on version tag push
413
+ └── scripts/
414
+ └── validate_artifacts.py # Python validator used by CI
415
+ ```
416
+
417
+ > πŸ’‘ **`skills/`** is the directory you install β€” copy it as one unit so that `references/` stays alongside all skill folders.
418
+
419
+ ---
420
+
421
+ ## πŸ”— Cross-Reference System
422
+
423
+ Every artifact links back to its predecessors. This chain ensures full traceability from business goals to screen specifications:
424
+
425
+ ```
426
+ FR-001 (SRS)
427
+ └── US-001 (Stories)
428
+ └── UC-001 (Use Cases)
429
+ └── AC-001-01 (Acceptance Criteria)
430
+ β”‚
431
+ NFR-003 (Non-functional Requirements)
432
+ β”‚
433
+ User, Bet (Data Dictionary)
434
+ β”‚
435
+ ADR-002 (Research β€” tech decision driven by this entity)
436
+ β”‚
437
+ POST /bets (API Contract)
438
+ β”‚
439
+ WF-005 (Wireframes)
440
+ β”‚
441
+ SC-003 (Validation Scenario β€” end-to-end journey)
442
+ ```
443
+
444
+ The `/trace` command builds the **complete matrix** of these links and highlights uncovered FRs, stories without AC, orphan entities and endpoints, and coverage percentage per artifact type. The `/analyze` command adds severity-rated findings: duplicates, ambiguous terms, terminology drift, and invalid references.
445
+
446
+ ---
447
+
448
+ ## ⚑ Minimum Viable Pipeline
449
+
450
+ Not every project needs all 21 skills. Two common paths:
451
+
452
+ **Lean** (fastest path to handoff β€” 9 steps):
453
+ ```
454
+ /brief β†’ /srs β†’ /stories β†’ /ac β†’ /nfr β†’ /datadict β†’ /apicontract β†’ /wireframes β†’ /handoff
455
+ ```
456
+
457
+ **Full** (complete traceability and quality gates β€” 15 steps):
458
+ ```
459
+ /principles β†’ /brief β†’ /srs β†’ /stories β†’ /usecases β†’ /ac β†’ /nfr β†’ /datadict
460
+ β†’ /research β†’ /apicontract β†’ /wireframes β†’ /scenarios
461
+ β†’ /trace β†’ /analyze β†’ /handoff
462
+ ```
463
+
464
+ Use `/clarify` at any step to resolve ambiguities before moving on.
465
+
466
+ **Time estimates** (approximate, depends on project complexity and interview depth):
467
+
468
+ | Step | Lean pipeline | Full pipeline |
469
+ |------|:---:|:---:|
470
+ | `/principles` | β€” | 5–10 min |
471
+ | `/brief` | 15–25 min | 20–35 min |
472
+ | `/srs` | 25–40 min | 30–50 min |
473
+ | `/stories` | 20–30 min | 25–40 min |
474
+ | `/usecases` | β€” | 20–35 min |
475
+ | `/ac` | 20–35 min | 25–40 min |
476
+ | `/nfr` | 15–20 min | 15–25 min |
477
+ | `/datadict` | 15–25 min | 20–30 min |
478
+ | `/research` | β€” | 15–25 min |
479
+ | `/apicontract` | 20–35 min | 25–40 min |
480
+ | `/wireframes` | 25–40 min | 30–50 min |
481
+ | `/scenarios` | β€” | 15–25 min |
482
+ | `/trace` + `/analyze` | β€” | 10–15 min |
483
+ | `/handoff` | 5–10 min | 5–10 min |
484
+ | **Total** | **~3–4 hours** | **~5–8 hours** |
485
+
486
+ ---
487
+
488
+ ## πŸš€ Quick Start
489
+
490
+ ```
491
+ # Optional: define conventions before starting
492
+ You: /principles
493
+ Agent: What language should artifacts be in? What severity blocks /done?
494
+ You: Russian, block on CRITICAL only
495
+ Agent: [generates 00_principles_dragon-fortune.md β€” applied by all subsequent skills]
496
+
497
+ You: /brief
498
+ Agent: What domain is your project in? (iGaming, Fintech, SaaS, other?)
499
+ You: iGaming β€” it's an online slot as a Telegram Mini App
500
+ Agent: [asks 5-6 targeted questions about goals, audience, constraints...]
501
+ You: [answer]
502
+ Agent: [generates 01_brief_dragon-fortune.md]
503
+ Artifact saved: 01_brief_dragon-fortune.md
504
+ Covered: 4 business goals, 3 stakeholders, 6 risks identified.
505
+ Next step: /srs
506
+
507
+ You: /done
508
+ Agent: Brief finalized. Next step: /srs
509
+
510
+ You: /srs
511
+ Agent: [reads the brief, asks about roles, integrations, business rules...]
512
+ ...
513
+ ```
514
+
515
+ Repeat for each step. At any point after `/srs`, run `/clarify [focus]` to resolve ambiguities in the current artifact or `/analyze` for a full cross-artifact quality report. After `/stories`, run `/trace` to check traceability coverage.
516
+
517
+ ---
518
+
519
+ ## πŸ—‚οΈ What the Output Looks Like
520
+
521
+ A complete example project β€” **Dragon Fortune** (iGaming Telegram Mini App) β€” is included in [`example/dragon-fortune/`](example/dragon-fortune/). All 15 artifacts are realistic, cross-referenced, and generated by running the full BA Toolkit pipeline.
522
+
523
+ | Artifact | File |
524
+ |---------|------|
525
+ | Project Principles | [`00_principles_dragon-fortune.md`](example/dragon-fortune/00_principles_dragon-fortune.md) |
526
+ | Project Brief | [`01_brief_dragon-fortune.md`](example/dragon-fortune/01_brief_dragon-fortune.md) |
527
+ | Requirements (SRS) | [`02_srs_dragon-fortune.md`](example/dragon-fortune/02_srs_dragon-fortune.md) |
528
+ | User Stories | [`03_stories_dragon-fortune.md`](example/dragon-fortune/03_stories_dragon-fortune.md) |
529
+ | Use Cases | [`04_usecases_dragon-fortune.md`](example/dragon-fortune/04_usecases_dragon-fortune.md) |
530
+ | Acceptance Criteria | [`05_ac_dragon-fortune.md`](example/dragon-fortune/05_ac_dragon-fortune.md) |
531
+ | Non-functional Requirements | [`06_nfr_dragon-fortune.md`](example/dragon-fortune/06_nfr_dragon-fortune.md) |
532
+ | Data Dictionary | [`07_datadict_dragon-fortune.md`](example/dragon-fortune/07_datadict_dragon-fortune.md) |
533
+ | Technology Research | [`07a_research_dragon-fortune.md`](example/dragon-fortune/07a_research_dragon-fortune.md) |
534
+ | API Contract | [`08_apicontract_dragon-fortune.md`](example/dragon-fortune/08_apicontract_dragon-fortune.md) |
535
+ | Wireframes | [`09_wireframes_dragon-fortune.md`](example/dragon-fortune/09_wireframes_dragon-fortune.md) |
536
+ | Validation Scenarios | [`10_scenarios_dragon-fortune.md`](example/dragon-fortune/10_scenarios_dragon-fortune.md) |
537
+ | Development Handoff | [`11_handoff_dragon-fortune.md`](example/dragon-fortune/11_handoff_dragon-fortune.md) |
538
+ | Risk Register | [`00_risks_dragon-fortune.md`](example/dragon-fortune/00_risks_dragon-fortune.md) |
539
+ | Sprint Plan | [`00_sprint_dragon-fortune.md`](example/dragon-fortune/00_sprint_dragon-fortune.md) |
540
+
541
+ > The example demonstrates full traceability: FR β†’ US β†’ UC β†’ AC β†’ NFR β†’ Entity β†’ ADR β†’ API β†’ WF β†’ Scenario, plus risk register and sprint plan.
542
+
543
+ ---
544
+
545
+ ## πŸ“– Usage Guide
546
+
547
+ ### 1. Starting a project
548
+
549
+ Run the first command and the agent takes it from there β€” it loads domain references, asks questions, and generates the artifact. You never edit SKILL.md files directly.
550
+
551
+ ```
552
+ You: /brief
553
+ Agent: What domain is your project in? (iGaming, Fintech, SaaS, other?)
554
+ You: Fintech β€” a neobank mobile app
555
+ Agent: Great. Let me ask a few questions.
556
+ 1. What is the primary business goal β€” acquiring new users, increasing card usage, or something else?
557
+ 2. What geography and currency does the app target?
558
+ 3. Are there existing banking partners or will the app be a standalone product?
559
+ You: [answer all three]
560
+ Agent: Two more questions...
561
+ [1-2 more rounds]
562
+ Agent: [generates 01_brief_neobank-app.md]
563
+
564
+ Artifact saved: 01_brief_neobank-app.md
565
+ Covered: 3 business goals, 5 stakeholders, 4 risks.
566
+ Slug fixed for this pipeline: neobank-app
567
+
568
+ Available: /clarify Β· /revise Β· /expand Β· /validate Β· /done
569
+ Next step: /srs
570
+ ```
571
+
572
+ The **slug** (`neobank-app`) is derived from the project name at `/brief` and used as a suffix for every subsequent file: `02_srs_neobank-app.md`, `03_stories_neobank-app.md`, and so on.
573
+
574
+ ---
575
+
576
+ ### 2. Moving through the pipeline
577
+
578
+ After reviewing the generated artifact, either refine it or finalize it:
579
+
580
+ ```
581
+ # Not happy with a section β€” rewrite it
582
+ You: /revise section 3
583
+ Agent: [asks what to change, rewrites section 3, saves the file]
584
+
585
+ # Want more detail
586
+ You: /expand section 7
587
+ Agent: [adds detail to section 7]
588
+
589
+ # Happy with the result β€” move to the next step
590
+ You: /done
591
+ Agent: Brief finalized. Artifact saved.
592
+ Next step: /srs
593
+ ```
594
+
595
+ Each step reads the output of all previous steps automatically. You do not need to paste or reference prior files β€” the agent finds them by slug in the output directory.
596
+
597
+ ---
598
+
599
+ ### 3. Using /clarify
600
+
601
+ Run `/clarify` after generating any artifact to surface ambiguities before moving on. It is faster than realising a problem three steps later.
602
+
603
+ ```
604
+ You: /clarify
605
+ Agent: Found 4 ambiguities in 02_srs_neobank-app.md:
606
+
607
+ 1. [FR-003] "The system must respond quickly" β€” what is the target response time in ms?
608
+ 2. [FR-011] "Admin" role is used but not defined in section 2.2 β€” same as "Compliance Officer"?
609
+ 3. [NFR-001] "High availability" β€” what is the numeric SLA target (%)?
610
+ 4. [FR-019 vs FR-024] Both describe currency conversion β€” are these the same feature?
611
+
612
+ You: 1. Under 200ms at p95. 2. No, Admin is a separate internal role. 3. 99.9%. 4. Yes, merge them.
613
+ Agent: [updates FR-003, adds Admin to roles, adds 99.9% to NFR-001, merges FR-019 and FR-024]
614
+ Updated: 02_srs_neobank-app.md β€” 4 ambiguities resolved.
615
+ ```
616
+
617
+ You can also focus on a specific area:
618
+
619
+ ```
620
+ You: /clarify security
621
+ You: /clarify FR-015
622
+ ```
623
+
624
+ ---
625
+
626
+ ### 4. Using /analyze
627
+
628
+ Run `/analyze` at any point after `/srs` to get a cross-artifact quality report. Unlike `/trace` (which checks links), `/analyze` also catches duplicates, ambiguous language, and terminology drift.
629
+
630
+ ```
631
+ You: /analyze
632
+ Agent: [reads all existing artifacts]
633
+
634
+ Artifact saved: 00_analyze_neobank-app.md
635
+
636
+ Finding Report:
637
+ | ID | Category | Severity | Location | Summary | Recommendation |
638
+ |----|---------------|----------|-------------------|----------------------------------|-----------------------|
639
+ | A1 | Coverage Gap | CRITICAL | srs:FR-008 | No linked user story | Create US or remove |
640
+ | A2 | Ambiguity | HIGH | nfr:NFR-004 | "Scalable" without metric | Add target RPS |
641
+ | A3 | Terminology | HIGH | srs + stories | "Wallet" vs "Balance" drift | Standardize in glossary |
642
+ | A4 | Duplication | MEDIUM | srs:FR-012,FR-017 | Near-duplicate login requirements| Merge |
643
+
644
+ Overall coverage: FR→US 87% · US→AC 94%
645
+ CRITICAL: 1 Β· HIGH: 2 Β· MEDIUM: 1
646
+
647
+ Top actions: fix A1 with /stories, fix A2 with /clarify NFR-004, fix A3 with /revise glossary
648
+ ```
649
+
650
+ **Severity guide:**
651
+
652
+ | Severity | Meaning | Action |
653
+ |----------|---------|--------|
654
+ | CRITICAL | Blocks pipeline integrity β€” missing mandatory link, non-existent ID | Fix before `/done` |
655
+ | HIGH | Significant quality risk β€” missing metric, key term drift | Fix before handoff |
656
+ | MEDIUM | Quality concern, does not block | Document or defer |
657
+ | LOW | Style suggestion | Optional |
658
+
659
+ Re-run `/analyze` after fixes to track progress.
660
+
661
+ ---
662
+
663
+ ### 5. Using /trace
664
+
665
+ Run `/trace` after `/stories` to check traceability coverage. It builds the full FR β†’ US β†’ UC β†’ AC β†’ ... matrix.
666
+
667
+ ```
668
+ You: /trace
669
+ Agent: [generates 00_trace_neobank-app.md]
670
+
671
+ Coverage Summary:
672
+ FR β†’ US: 24/27 (89%) β€” FR-008, FR-019, FR-022 uncovered
673
+ US β†’ AC: 41/41 (100%) βœ“
674
+ Entity β†’ FR: 18/20 (90%) β€” Transaction, AuditLog not linked
675
+
676
+ Recommendations:
677
+ β€” Create user stories for FR-008, FR-019, FR-022 or remove them from SRS
678
+ β€” Link Transaction and AuditLog to relevant FR in /datadict
679
+ ```
680
+
681
+ Run `/trace` again after fixing gaps β€” it re-reads all artifacts and recomputes the matrix.
682
+
683
+ ---
684
+
685
+ ### 6. Splitting large elements
686
+
687
+ If a user story or requirement is too broad, split it:
688
+
689
+ ```
690
+ You: /split US-014
691
+ Agent: US-014 covers 4 distinct actions. Suggested split:
692
+ β€” US-014a: Player views transaction history (read-only)
693
+ β€” US-014b: Player filters transactions by date and type
694
+ β€” US-014c: Player exports transactions as PDF
695
+ β€” US-014d: Player disputes a transaction
696
+
697
+ Shall I apply this split?
698
+ You: Yes, but combine 014a and 014b
699
+ Agent: [rewrites US-014 as two stories: US-014 and US-014b]
700
+ ```
701
+
702
+ ---
703
+
704
+ ### 7. Working with multiple projects
705
+
706
+ Each project gets its own slug and its own set of files. If you work on multiple projects in the same directory, run `/principles` first for each and set `output mode: subfolder` β€” files will be organised under `{slug}/` subfolders automatically.
707
+
708
+ If you start a new project without changing the output directory, the agent detects existing `01_brief_*.md` files and warns you before overwriting anything.
709
+
710
+ ---
711
+
712
+ ### 8. Troubleshooting
713
+
714
+ **Agent says it can't find the brief / SRS / previous artifact:**
715
+ The skill looks for files matching `01_brief_*.md` in the output directory. If the file was saved elsewhere, either move it or tell the agent the full path.
716
+
717
+ **Artifact was generated in the wrong language:**
718
+ Run `/principles` and set the artifact language explicitly. Then re-run the current step β€” all subsequent skills will use the language from `00_principles_{slug}.md`.
719
+
720
+ **Want to redo a step from scratch:**
721
+ Run the command again (e.g., `/srs`). The agent will warn that `02_srs_{slug}.md` already exists and offer to overwrite or create a new version.
722
+
723
+ **A domain reference is not loading:**
724
+ Check that `skills/references/domains/{domain}.md` exists and that the domain name in the brief matches exactly (`igaming`, `fintech`, `saas`, `ecommerce`, `healthcare`, `logistics`, `on-demand`, `social-media`, or `real-estate` β€” lowercase with hyphens).
725
+
726
+ **`/analyze` reports findings after you already fixed them:**
727
+ Run `/analyze` again β€” it always re-reads all artifacts fresh. Cached results are never used.
728
+
729
+ ---
730
+
731
+ ### 9. AGENTS.md β€” persistent project context
732
+
733
+ After `/brief` completes, the agent creates or updates `AGENTS.md` in your project root. This file stores the project slug, domain, key constraints, artifact paths, and the current pipeline stage.
734
+
735
+ ```markdown
736
+ # BA Toolkit β€” Project Context
737
+
738
+ **Project:** Dragon Fortune
739
+ **Slug:** dragon-fortune
740
+ **Domain:** iGaming
741
+ **Language:** English
742
+ **Pipeline stage:** Brief complete
743
+
744
+ ## Artifacts
745
+ - `/outputs/01_brief_dragon-fortune.md` β€” Project Brief
746
+
747
+ ## Key context
748
+ - **Business goal:** Telegram Mini App slot for CIS markets, 50k MAU in 6 months
749
+ - **Key constraints:** Telegram API limits, AML/KYC compliance, certified RTP
750
+
751
+ ## Next step
752
+ Run /srs to generate the Requirements Specification.
753
+ ```
754
+
755
+ `AGENTS.md` is updated again after `/srs` with roles, integrations, and FR count. Any AI agent (Claude Code, Codex, Gemini CLI) that reads this file will understand the project context without re-reading all artifacts β€” useful when resuming work in a new session.
756
+
757
+ ---
758
+
759
+ ## ❓ FAQ
760
+
761
+ **Do I need all 21 skills?**
762
+ No. The lean pipeline (`/brief β†’ /srs β†’ /stories β†’ /ac β†’ /nfr β†’ /datadict β†’ /apicontract β†’ /wireframes β†’ /handoff`) covers the essentials in ~3–4 hours. Add `/usecases`, `/research`, `/scenarios`, `/trace`, and `/analyze` when you need deeper coverage.
763
+
764
+ **Can I use it in any language?**
765
+ Yes. The agent detects the language of your first message and generates all artifacts in that language. Set it explicitly with `/principles` if you want to lock it regardless of the conversation language.
766
+
767
+ **Does it work offline / without internet?**
768
+ Yes. All skills are local Markdown files. The only network dependency is your AI agent itself (Claude Code, Codex CLI, etc.). No BA Toolkit component calls any external API.
769
+
770
+ **My domain isn't iGaming, Fintech, or SaaS β€” can I still use it?**
771
+ Yes. Select "Custom" at `/brief` and the skills use general interview questions. You can add your own domain in 30 minutes by creating one Markdown file β€” see [Adding a New Domain](#adding-a-new-domain).
772
+
773
+ **Can I go back and edit a previous artifact?**
774
+ Yes. Run `/revise [section]` at any step, or re-invoke the skill command (e.g., `/srs`) to regenerate from scratch. The agent warns before overwriting. Subsequent skills will read the updated version automatically.
775
+
776
+ **Does it work with smaller / faster models?**
777
+ The structured Markdown format and explicit cross-references help smaller models stay on track. For best results, use a model with a context window of at least 32k tokens β€” the later pipeline steps load multiple large artifacts simultaneously.
778
+
779
+ **How do I update BA Toolkit after a new version is released?**
780
+ See the update instructions in the [Installation](#-installation) section below.
781
+
782
+ ---
783
+
784
+ ## 🀝 Contributing
785
+
786
+ Contributions are welcome. The most useful additions are:
787
+
788
+ **New domains** (highest impact, no code required):
789
+ Create `skills/references/domains/{domain}.md` following the template in [Adding a New Domain](#adding-a-new-domain). Open a PR with the file and a brief description of the domain.
790
+
791
+ **Skill improvements:**
792
+ Edit the relevant `skills/{name}/SKILL.md`. Keep changes backward-compatible β€” avoid renaming sections or changing output file names, as other skills depend on them.
793
+
794
+ **Bug reports:**
795
+ Open a GitHub issue with: the skill name, the command you ran, the agent/platform you used, and what happened vs. what you expected.
796
+
797
+ **Guidelines:**
798
+ - One PR per domain or skill.
799
+ - Test the skill end-to-end before submitting (run the full command, check the output file).
800
+ - Keep the style consistent with existing skills: formal, neutral, no emoji in artifact body, language follows user input.
801
+
802
+ ---
803
+
804
+ <h2 id="adding-a-new-domain">βž• Adding a New Domain</h2>
805
+
806
+ Create `skills/references/domains/{domain}.md` following this structure:
807
+
808
+ ```markdown
809
+ # Domain Reference: {Name}
810
+
811
+ ## 1. /brief β€” Project Brief
812
+ ### Domain-specific interview questions
813
+ ### Typical business goals
814
+ ### Typical risks
815
+
816
+ ## 2. /srs β€” Requirements Specification
817
+ ### Domain-specific interview questions
818
+ ### Typical functional areas
819
+
820
+ ## 3. /stories β€” User Stories
821
+ ### Domain-specific interview questions
822
+ ### Typical epics
823
+
824
+ ## 4. /usecases β€” Use Cases
825
+ ## 5. /ac β€” Acceptance Criteria
826
+ ## 6. /nfr β€” Non-functional Requirements
827
+ ## 7. /datadict β€” Data Dictionary
828
+ ## 8. /apicontract β€” API Contract
829
+ ## 9. /wireframes β€” Wireframe Descriptions
830
+
831
+ ## Domain Glossary
832
+ | Term | Definition |
833
+ |------|-----------|
834
+ ```
835
+
836
+ Each skill loads **only its own section** from the reference file β€” keeping context usage efficient.
837
+
838
+ ---
839
+
840
+ ## πŸ“„ License
841
+
842
+ MIT β€” use freely, modify, distribute. See [LICENSE](LICENSE) for the full text.