@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.
- package/CHANGELOG.md +125 -0
- package/COMMANDS.md +69 -0
- package/LICENSE +21 -0
- package/README.md +842 -0
- package/README.ru.md +846 -0
- package/bin/ba-toolkit.js +468 -0
- package/package.json +49 -0
- package/skills/ac/SKILL.md +88 -0
- package/skills/analyze/SKILL.md +126 -0
- package/skills/apicontract/SKILL.md +113 -0
- package/skills/brief/SKILL.md +120 -0
- package/skills/clarify/SKILL.md +96 -0
- package/skills/datadict/SKILL.md +98 -0
- package/skills/estimate/SKILL.md +124 -0
- package/skills/export/SKILL.md +215 -0
- package/skills/glossary/SKILL.md +145 -0
- package/skills/handoff/SKILL.md +146 -0
- package/skills/nfr/SKILL.md +85 -0
- package/skills/principles/SKILL.md +182 -0
- package/skills/references/closing-message.md +33 -0
- package/skills/references/domains/ecommerce.md +209 -0
- package/skills/references/domains/fintech.md +180 -0
- package/skills/references/domains/healthcare.md +223 -0
- package/skills/references/domains/igaming.md +183 -0
- package/skills/references/domains/logistics.md +221 -0
- package/skills/references/domains/on-demand.md +231 -0
- package/skills/references/domains/real-estate.md +241 -0
- package/skills/references/domains/saas.md +185 -0
- package/skills/references/domains/social-media.md +234 -0
- package/skills/references/environment.md +57 -0
- package/skills/references/prerequisites.md +191 -0
- package/skills/references/templates/README.md +35 -0
- package/skills/references/templates/ac-template.md +58 -0
- package/skills/references/templates/analyze-template.md +65 -0
- package/skills/references/templates/apicontract-template.md +183 -0
- package/skills/references/templates/brief-template.md +51 -0
- package/skills/references/templates/datadict-template.md +75 -0
- package/skills/references/templates/export-template.md +112 -0
- package/skills/references/templates/handoff-template.md +102 -0
- package/skills/references/templates/nfr-template.md +97 -0
- package/skills/references/templates/principles-template.md +118 -0
- package/skills/references/templates/research-template.md +99 -0
- package/skills/references/templates/risk-template.md +188 -0
- package/skills/references/templates/scenarios-template.md +93 -0
- package/skills/references/templates/sprint-template.md +158 -0
- package/skills/references/templates/srs-template.md +90 -0
- package/skills/references/templates/stories-template.md +60 -0
- package/skills/references/templates/trace-template.md +59 -0
- package/skills/references/templates/usecases-template.md +51 -0
- package/skills/references/templates/wireframes-template.md +96 -0
- package/skills/research/SKILL.md +136 -0
- package/skills/risk/SKILL.md +163 -0
- package/skills/scenarios/SKILL.md +113 -0
- package/skills/sprint/SKILL.md +174 -0
- package/skills/srs/SKILL.md +124 -0
- package/skills/stories/SKILL.md +85 -0
- package/skills/trace/SKILL.md +85 -0
- package/skills/usecases/SKILL.md +91 -0
- 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.
|