@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.ru.md
ADDED
|
@@ -0,0 +1,846 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# 📋 BA Toolkit
|
|
4
|
+
|
|
5
|
+
<strong>AI-конвейер для бизнес-аналитика</strong><br>
|
|
6
|
+
От брифа проекта до передачи в разработку — 21 навык, полностью структурированный пайплайн
|
|
7
|
+
|
|
8
|
+
[🇺🇸 English](README.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
|
+
## Содержание
|
|
27
|
+
|
|
28
|
+
- [Что это?](#-что-это)
|
|
29
|
+
- [Для кого это?](#для-кого-это)
|
|
30
|
+
- [Почему не просто промптить напрямую?](#почему-не-просто-промптить-chatgpt--claude-напрямую)
|
|
31
|
+
- [Совместимость с платформами](#-совместимость-с-платформами)
|
|
32
|
+
- [Пайплайн](#-пайплайн)
|
|
33
|
+
- [Поддержка доменов](#-поддержка-доменов)
|
|
34
|
+
- [Как работает каждый навык](#-как-работает-каждый-навык)
|
|
35
|
+
- [Установка](#-установка)
|
|
36
|
+
- [Вариант A: Claude Code](#вариант-a-claude-code-cli--рекомендуется)
|
|
37
|
+
- [Вариант B: OpenAI Codex CLI](#вариант-b-openai-codex-cli)
|
|
38
|
+
- [Вариант C: Google Gemini CLI](#вариант-c-google-gemini-cli)
|
|
39
|
+
- [Вариант D: Cursor, Windsurf, Aider](#вариант-d-cursor-windsurf-aider)
|
|
40
|
+
- [Начало нового проекта](#начало-нового-проекта)
|
|
41
|
+
- [Обновление BA Toolkit](#обновление-ba-toolkit)
|
|
42
|
+
- [Структура репозитория](#-структура-репозитория)
|
|
43
|
+
- [Система кросс-ссылок](#-система-кросс-ссылок)
|
|
44
|
+
- [Минимально жизнеспособный пайплайн](#-минимально-жизнеспособный-пайплайн)
|
|
45
|
+
- [Быстрый старт](#-быстрый-старт)
|
|
46
|
+
- [Как выглядит результат](#️-как-выглядит-результат)
|
|
47
|
+
- [Руководство по использованию](#-руководство-по-использованию)
|
|
48
|
+
- [1. Начало проекта](#1-начало-проекта)
|
|
49
|
+
- [2. Движение по пайплайну](#2-движение-по-пайплайну)
|
|
50
|
+
- [3. Использование /clarify](#3-использование-clarify)
|
|
51
|
+
- [4. Использование /analyze](#4-использование-analyze)
|
|
52
|
+
- [5. Использование /trace](#5-использование-trace)
|
|
53
|
+
- [6. Разбиение крупных элементов](#6-разбиение-крупных-элементов)
|
|
54
|
+
- [7. Работа с несколькими проектами](#7-работа-с-несколькими-проектами)
|
|
55
|
+
- [8. Решение проблем](#8-решение-проблем)
|
|
56
|
+
- [9. AGENTS.md — постоянный контекст проекта](#9-agentsmd--постоянный-контекст-проекта)
|
|
57
|
+
- [FAQ](#-faq)
|
|
58
|
+
- [Вклад в проект](#-вклад-в-проект)
|
|
59
|
+
- [Добавление нового домена](#-добавление-нового-домена)
|
|
60
|
+
- [История изменений](CHANGELOG.md)
|
|
61
|
+
- [Лицензия](#-лицензия)
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 🎯 Что это?
|
|
66
|
+
|
|
67
|
+
BA Toolkit — это набор из **21 взаимосвязанного навыка**, которые превращают вашего AI-агента в бизнес-аналитика. Вы проходите по структурированному пайплайну — от высокоуровневого брифа проекта до пакета передачи в разработку — и получаете полный набор артефактов требований, готовый для инженерной команды.
|
|
68
|
+
|
|
69
|
+
Каждый навык **читает результаты предыдущих шагов**, поддерживает кросс-ссылки между артефактами (FR → US → UC → AC → NFR → Сущности → ADR → API → Экраны → Сценарии) и адаптируется под домен вашего проекта.
|
|
70
|
+
|
|
71
|
+
**Артефакты генерируются на том языке, на котором вы пишете.** Спросите на английском — получите документы на английском. Спросите на русском, испанском или любом другом языке — результат последует за языком запроса.
|
|
72
|
+
|
|
73
|
+
### Для кого это?
|
|
74
|
+
|
|
75
|
+
- **Разработчики**, создающие продукт без выделенного BA — получите структурированные требования до написания кода.
|
|
76
|
+
- **Продакт-менеджеры**, которым нужна формальная документация (SRS, AC, NFR), но хочется производить её быстрее.
|
|
77
|
+
- **Бизнес-аналитики**, использующие AI для ускорения создания артефактов и сокращения ручного кросс-ссылочного контроля.
|
|
78
|
+
- **Основатели стартапов**, превращающие идею в спецификацию, готовую для команды разработки или презентации инвесторам.
|
|
79
|
+
|
|
80
|
+
### Почему не просто промптить ChatGPT / Claude напрямую?
|
|
81
|
+
|
|
82
|
+
| | Одноразовый промпт | BA Toolkit |
|
|
83
|
+
|--|-----------------|-----------|
|
|
84
|
+
| Структура | Одноразово; нет памяти между сообщениями | 11 взаимосвязанных артефактов, каждый читает все предыдущие |
|
|
85
|
+
| Покрытие | Легко пропустить NFR, крайние случаи, модель данных | Структурированное интервью + чек-листы предотвращают пробелы |
|
|
86
|
+
| Трассируемость | Отсутствует | Цепочка FR → US → AC → API → WF через `/trace` |
|
|
87
|
+
| Контроль качества | Эпизодический | `/clarify` и `/analyze` с градацией CRITICAL/HIGH |
|
|
88
|
+
| Доменные знания | Общие | Встроенные референсы по 9 доменам (iGaming, Fintech, SaaS, E-commerce, Healthcare, Logistics, On-demand, Social/Media, Real Estate) |
|
|
89
|
+
| Передача в разработку | Текст в чате | До 11 Markdown-файлов, готовых для Jira, Spec Kit или команды разработки |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 🤖 Совместимость с платформами
|
|
94
|
+
|
|
95
|
+
BA Toolkit использует открытую **спецификацию Agent Skills** (формат SKILL.md), опубликованную Anthropic в декабре 2025 года и принятую на нескольких платформах.
|
|
96
|
+
|
|
97
|
+
| Платформа | Поддержка | Установка |
|
|
98
|
+
|----------|:-------:|-------------|
|
|
99
|
+
| **Claude Code** | ✅ Нативная | `cp -r skills/ .claude/skills/ba-toolkit/` |
|
|
100
|
+
| **OpenAI Codex CLI** | ✅ Нативная | `cp -r skills/ ~/.codex/skills/ba-toolkit/` |
|
|
101
|
+
| **Gemini CLI** | ✅ Нативная | Скопируйте всё дерево `skills/` в `~/.gemini/skills/ba-toolkit/` (пользовательская) или `.gemini/skills/ba-toolkit/` (проектная) |
|
|
102
|
+
| **Cursor** | 🔄 Конверсия | SKILL.md → правила `.mdc` в `.cursor/rules/` |
|
|
103
|
+
| **Windsurf** | 🔄 Конверсия | SKILL.md → правила в `.windsurf/rules/` |
|
|
104
|
+
| **Aider** | 🔄 Конверсия | SKILL.md → файл conventions |
|
|
105
|
+
|
|
106
|
+
> 💡 Платформы с отметкой **Нативная** читают SKILL.md как есть. Платформы с отметкой **Конверсия** требуют одноразовой конвертации формата — содержимое одинаковое, различается только формат файла. Конвертацию можно автоматизировать через инструменты вроде [convert.sh](https://github.com/alirezarezvani/claude-skills/blob/main/scripts/convert.sh).
|
|
107
|
+
|
|
108
|
+
### Определение окружения
|
|
109
|
+
|
|
110
|
+
Навыки не хардкодят платформо-специфичные пути. Вместо этого они ссылаются на `references/environment.md`, где содержится логика определения выходной директории для каждой платформы. По умолчанию артефакты сохраняются в текущей рабочей директории.
|
|
111
|
+
|
|
112
|
+
Чтобы настроить под свою конфигурацию, отредактируйте `skills/references/environment.md` — все навыки автоматически подхватят изменения.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 🔗 Пайплайн
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
📐 /principles (опционально)
|
|
120
|
+
│
|
|
121
|
+
▼
|
|
122
|
+
📄 /brief → 📑 /srs → 📝 /stories → 🔄 /usecases → ✅ /ac → ⚡ /nfr → 🗃️ /datadict → 🔬 /research → 🔌 /apicontract → 🖼️ /wireframes → 🧪 /scenarios → 📦 /handoff
|
|
123
|
+
│
|
|
124
|
+
└──→ 🔍 /trace (доступно после /stories)
|
|
125
|
+
|
|
126
|
+
🔎 /clarify [focus] — доступно на любом шаге, для любого артефакта
|
|
127
|
+
📊 /analyze — доступно на любом шаге после /srs
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
| # | Команда | Что генерирует | Файл результата |
|
|
131
|
+
|:---:|---------|-------------------|-------------|
|
|
132
|
+
| 0 | `/principles` | 📐 Принципы проекта — язык, ID-конвенции, DoR, правила трассируемости, базовые NFR | `00_principles_{slug}.md` |
|
|
133
|
+
| 1 | `/brief` | 📄 Бриф проекта — цели, аудитория, стейкхолдеры, риски | `01_brief_{slug}.md` |
|
|
134
|
+
| 2 | `/srs` | 📑 Спецификация требований (IEEE 830) | `02_srs_{slug}.md` |
|
|
135
|
+
| 3 | `/stories` | 📝 User Stories, сгруппированные по эпикам | `03_stories_{slug}.md` |
|
|
136
|
+
| 4 | `/usecases` | 🔄 Use Cases с основным/альтернативным/исключительным потоками | `04_usecases_{slug}.md` |
|
|
137
|
+
| 5 | `/ac` | ✅ Критерии приёмки (Given/When/Then) | `05_ac_{slug}.md` |
|
|
138
|
+
| 6 | `/nfr` | ⚡ Нефункциональные требования с метриками | `06_nfr_{slug}.md` |
|
|
139
|
+
| 7 | `/datadict` | 🗃️ Словарь данных — сущности, типы, ограничения | `07_datadict_{slug}.md` |
|
|
140
|
+
| 7a | `/research` | 🔬 Технологическое исследование — ADR, карта интеграций, решения по хранению данных | `07a_research_{slug}.md` |
|
|
141
|
+
| 8 | `/apicontract` | 🔌 API-контракт — эндпоинты, схемы, ошибки | `08_apicontract_{slug}.md` |
|
|
142
|
+
| 9 | `/wireframes` | 🖼️ Текстовые описания вайрфреймов | `09_wireframes_{slug}.md` |
|
|
143
|
+
| 10 | `/scenarios` | 🧪 Сквозные валидационные сценарии — пользовательские пути, связывающие US, AC, WF, API | `10_scenarios_{slug}.md` |
|
|
144
|
+
| 11 | `/handoff` | 📦 Пакет передачи в разработку — инвентарь артефактов, объём MVP, открытые пункты | `11_handoff_{slug}.md` |
|
|
145
|
+
| — | `/trace` | 🔍 Матрица трассируемости + пробелы покрытия | `00_trace_{slug}.md` |
|
|
146
|
+
| — | `/clarify [focus]` | 🔎 Целевое разрешение неоднозначностей для любого артефакта | _(обновляет существующий артефакт)_ |
|
|
147
|
+
| — | `/analyze` | 📊 Отчёт о качестве по всем артефактам с таблицей серьёзности | `00_analyze_{slug}.md` |
|
|
148
|
+
| — | `/estimate` | 📏 Оценка трудозатрат — Фибоначчи SP, T-shirt размеры или человеко-дни | `00_estimate_{slug}.md` |
|
|
149
|
+
| — | `/glossary` | 📖 Единый глоссарий проекта с детекцией терминологического дрифта | `00_glossary_{slug}.md` |
|
|
150
|
+
| — | `/export [format]` | 📤 Экспорт User Stories в Jira / GitHub Issues / Linear / CSV | `export_{slug}_{format}.json` / `.csv` |
|
|
151
|
+
| — | `/risk` | ⚠️ Реестр рисков — матрица вероятность × влияние, митигация по каждому риску | `00_risks_{slug}.md` |
|
|
152
|
+
| — | `/sprint` | 🗓️ План спринтов — истории, сгруппированные по velocity и capacity с целями спринтов | `00_sprint_{slug}.md` |
|
|
153
|
+
|
|
154
|
+
> 💡 **Slug** проекта (например, `dragon-fortune`) задаётся на шаге `/brief` и автоматически переиспользуется во всех файлах.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 🌍 Поддержка доменов
|
|
159
|
+
|
|
160
|
+
По умолчанию пайплайн **доменно-агностичен**. На этапе `/brief` вы выбираете домен — и каждый последующий навык загружает доменно-специфичные вопросы интервью, обязательные сущности, категории NFR и термины глоссария.
|
|
161
|
+
|
|
162
|
+
| Домен | Покрываемые отрасли |
|
|
163
|
+
|--------|-------------------|
|
|
164
|
+
| 🎰 **iGaming** | Онлайн-слоты, ставки на спорт, казино-лобби, Telegram Mini Apps, промо-механики |
|
|
165
|
+
| 🏦 **Fintech** | Необанки, платёжные системы, криптобиржи, инвестиционные платформы, P2P-кредитование |
|
|
166
|
+
| ☁️ **SaaS** | B2B-платформы, CRM, аналитика, маркетплейсы, EdTech, HRTech |
|
|
167
|
+
| 🛒 **E-commerce** | B2C-магазины, B2B-каталоги, мульти-вендорные маркетплейсы, D2C-бренды, цифровые товары |
|
|
168
|
+
| 🏥 **Healthcare** | Телемедицина, портал пациента, EHR/EMR, управление клиникой, приложения для ментального здоровья |
|
|
169
|
+
| 🚚 **Logistics** | Доставка "последней мили", управление курьерами, отслеживание грузов, WMS, управление автопарком |
|
|
170
|
+
| 🔧 **On-demand** | Райд-хейлинг, домашние услуги, маркетплейсы задач, красота, репетиторство, уход за питомцами |
|
|
171
|
+
| 📱 **Social / Media** | Соцсети, платформы для криейторов, форумы сообществ, рассылки, короткое видео |
|
|
172
|
+
| 🏠 **Real Estate** | Порталы недвижимости, CRM агентств, управление арендой, property management, ипотечные инструменты |
|
|
173
|
+
| ✏️ **Custom** | Любой другой домен — работает с общими вопросами интервью |
|
|
174
|
+
|
|
175
|
+
> ➕ **Добавление нового домена** = создание одного Markdown-файла в `skills/references/domains/`. См. раздел [Добавление нового домена](#-добавление-нового-домена) ниже.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 🔄 Как работает каждый навык
|
|
180
|
+
|
|
181
|
+
Большинство навыков пайплайна следуют этому циклу:
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
185
|
+
│ 1. Команда │────▶│ 2. Контекст │────▶│ 3. Интервью │────▶│ 4. Генерация│
|
|
186
|
+
│ /brief │ │ Загрузка │ │ 3-7 вопросов│ │ Markdown │
|
|
187
|
+
│ /srs ... │ │ предыдущих │ │ за раунд, │ │ артефакт + │
|
|
188
|
+
│ │ │ артефактов +│ │ 2-4 раунда │ │ резюме │
|
|
189
|
+
│ │ │ домена + │ │ │ │ │
|
|
190
|
+
│ │ │ принципов │ │ │ │ │
|
|
191
|
+
└─────────────┘ └─────────────┘ └─────────────┘ └──────┬──────┘
|
|
192
|
+
│
|
|
193
|
+
▼
|
|
194
|
+
┌─────────────┐
|
|
195
|
+
│5. Доработка │
|
|
196
|
+
│ │
|
|
197
|
+
│ /clarify │
|
|
198
|
+
│ /revise │
|
|
199
|
+
│ /expand │
|
|
200
|
+
│ /split │
|
|
201
|
+
│ /validate │
|
|
202
|
+
│ /done ──────┼──▶ Следующий шаг
|
|
203
|
+
└─────────────┘
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
> `/handoff`, `/trace` и `/analyze` пропускают шаг 3 — они извлекают всю информацию из существующих артефактов автоматически, без интервью.
|
|
207
|
+
|
|
208
|
+
### Подкоманды
|
|
209
|
+
|
|
210
|
+
| Команда | Что делает |
|
|
211
|
+
|---------|-------------|
|
|
212
|
+
| `/clarify [focus]` | Целевой проход по неоднозначностям — выявляет размытые термины, отсутствующие метрики, противоречивые правила |
|
|
213
|
+
| `/revise [section]` | Переписать конкретный раздел с вашими правками |
|
|
214
|
+
| `/expand [section]` | Добавить больше деталей в раздел |
|
|
215
|
+
| `/split [element]` | Разбить крупный элемент на более мелкие (например, большую user story) |
|
|
216
|
+
| `/validate` | Проверить полноту, согласованность и соответствие предыдущим артефактам |
|
|
217
|
+
| `/analyze` | Отчёт о качестве по всем артефактам: дубликаты, пробелы покрытия, терминологический дрифт, невалидные ссылки |
|
|
218
|
+
| `/done` | Зафиналить текущий артефакт и перейти к следующему шагу пайплайна |
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 📦 Установка
|
|
223
|
+
|
|
224
|
+
### 🚀 Самый простой способ: через npm (без клонирования)
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# Одноразовая настройка проекта — ничего не устанавливать, просто запустить:
|
|
228
|
+
npx ba-toolkit init
|
|
229
|
+
npx ba-toolkit install --for claude-code
|
|
230
|
+
|
|
231
|
+
# Или установить глобально и переиспользовать для всех проектов:
|
|
232
|
+
npm install -g ba-toolkit
|
|
233
|
+
ba-toolkit install --for claude-code --global
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Поддерживаемые агенты: `claude-code`, `codex`, `gemini`, `cursor`, `windsurf`. Установка для Cursor и Windsurf автоматически конвертирует `SKILL.md` в формат правил `.mdc`. Используйте `--dry-run`, чтобы посмотреть результат без записи файлов.
|
|
237
|
+
|
|
238
|
+
Запустите `ba-toolkit --help` для полного списка команд CLI. У npm-пакета **нулевые рантайм-зависимости** — нужен только Node.js ≥ 18.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
### Вариант A: Claude Code CLI ✨ Ручная установка
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# Клонирование и копирование директории skills (включает доменные референсы)
|
|
246
|
+
git clone https://github.com/TakhirKudusov/ba-toolkit.git
|
|
247
|
+
cp -r ba-toolkit/skills/ /path/to/project/.claude/skills/ba-toolkit/
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Или установить глобально:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
cp -r ba-toolkit/skills/ ~/.claude/skills/ba-toolkit/
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Сохраняйте полное дерево: папки навыков (`brief/`, `srs/`, …) должны оставаться вместе с `references/` в одной родительской директории.
|
|
257
|
+
|
|
258
|
+
### Вариант B: OpenAI Codex CLI
|
|
259
|
+
|
|
260
|
+
Навыки загружаются из `$CODEX_HOME/skills` (по умолчанию `~/.codex/skills`). Копируйте **всю** директорию `skills/` как один каталог, чтобы общий `references/` оставался рядом с каждым навыком:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
cp -r ba-toolkit/skills/ ~/.codex/skills/ba-toolkit/
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Если вы используете кастомный Codex home, задайте `CODEX_HOME` и копируйте под `$CODEX_HOME/skills/ba-toolkit/`.
|
|
267
|
+
|
|
268
|
+
### Вариант C: Google Gemini CLI
|
|
269
|
+
|
|
270
|
+
Та же схема, что и для Codex: одна директория, содержащая все подпапки навыков **и** `references/`:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# Пользовательская (для всех проектов)
|
|
274
|
+
cp -r ba-toolkit/skills/ ~/.gemini/skills/ba-toolkit/
|
|
275
|
+
|
|
276
|
+
# Или только для проекта (в корне репозитория)
|
|
277
|
+
cp -r ba-toolkit/skills/ /path/to/project/.gemini/skills/ba-toolkit/
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
После копирования перезагрузите CLI.
|
|
281
|
+
|
|
282
|
+
### Вариант D: Cursor, Windsurf, Aider
|
|
283
|
+
|
|
284
|
+
Эти платформы используют собственный формат правил вместо SKILL.md. Сначала конвертируйте, затем копируйте:
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
# Вариант 1: используйте community-конвертер
|
|
288
|
+
# https://github.com/alirezarezvani/claude-skills/blob/main/scripts/convert.sh
|
|
289
|
+
./convert.sh --tool cursor --target /path/to/project
|
|
290
|
+
./convert.sh --tool windsurf --target /path/to/project
|
|
291
|
+
|
|
292
|
+
# Вариант 2: попросите вашего AI-агента
|
|
293
|
+
# "Convert all SKILL.md files in skills/ to Cursor .mdc rule format"
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**Cursor (детали):** правила проекта располагаются в [`.cursor/rules/`](https://cursor.com/docs/rules) как файлы `.mdc`. Каждое правило — это Markdown с **YAML-фронтматтером** сверху (например, `description`, опциональный `globs` для паттернов файлов и `alwaysApply`, когда правило должно применяться в каждом Agent-чате). Просто переименовать `SKILL.md` в `.mdc` недостаточно — нужен этот метаданный блок. [Cursor CLI](https://cursor.com/docs/cli/using) использует ту же конфигурацию `.cursor/rules`, что и редактор, и также может читать `AGENTS.md` / `CLAUDE.md` в корне репозитория наряду с правилами.
|
|
297
|
+
|
|
298
|
+
### Начало нового проекта
|
|
299
|
+
|
|
300
|
+
Запустите скрипт-инициализатор, чтобы создать папку результатов и стартовый `AGENTS.md` одним шагом:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
# macOS / Linux
|
|
304
|
+
bash init.sh
|
|
305
|
+
|
|
306
|
+
# Windows PowerShell
|
|
307
|
+
.\init.ps1
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
Скрипт спросит slug проекта, название и домен, затем создаст `output/{slug}/` и `AGENTS.md` с полной таблицей статуса пайплайна. После этого откройте вашего AI-ассистента и запустите `/brief`.
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
### Обновление BA Toolkit
|
|
315
|
+
|
|
316
|
+
Когда выходит новая версия, подтяните последние изменения и пересоберите директорию `skills/` в месте установки:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
cd ba-toolkit
|
|
320
|
+
git pull
|
|
321
|
+
|
|
322
|
+
# Claude Code — на уровне проекта
|
|
323
|
+
cp -r skills/ /path/to/project/.claude/skills/ba-toolkit/
|
|
324
|
+
|
|
325
|
+
# Claude Code — глобально
|
|
326
|
+
cp -r skills/ ~/.claude/skills/ba-toolkit/
|
|
327
|
+
|
|
328
|
+
# Codex CLI
|
|
329
|
+
cp -r skills/ ~/.codex/skills/ba-toolkit/
|
|
330
|
+
|
|
331
|
+
# Gemini CLI (пользовательская установка)
|
|
332
|
+
cp -r skills/ ~/.gemini/skills/ba-toolkit/
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
Ранее сгенерированные файлы артефактов (`01_brief_*.md`, `02_srs_*.md` и т. д.) обновлением не затрагиваются — они остаются точно такими, какими вы их оставили.
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## 📁 Структура репозитория
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
ba-toolkit/
|
|
344
|
+
│
|
|
345
|
+
├── skills/ # 🧠 Исходные файлы SKILL.md (устанавливайте эту директорию)
|
|
346
|
+
│ ├── ac/SKILL.md # Шаг 5: Критерии приёмки
|
|
347
|
+
│ ├── apicontract/SKILL.md # Шаг 8: API-контракт
|
|
348
|
+
│ ├── brief/SKILL.md # Шаг 1: Бриф проекта
|
|
349
|
+
│ ├── datadict/SKILL.md # Шаг 7: Словарь данных
|
|
350
|
+
│ ├── nfr/SKILL.md # Шаг 6: Нефункциональные требования
|
|
351
|
+
│ ├── srs/SKILL.md # Шаг 2: Требования (SRS)
|
|
352
|
+
│ ├── stories/SKILL.md # Шаг 3: User Stories
|
|
353
|
+
│ ├── principles/SKILL.md # Шаг 0 (опционально): Принципы проекта
|
|
354
|
+
│ ├── trace/SKILL.md # Кросс-сквозной: Матрица трассируемости
|
|
355
|
+
│ ├── clarify/SKILL.md # Кросс-сквозной: Целевое разрешение неоднозначностей
|
|
356
|
+
│ ├── analyze/SKILL.md # Кросс-сквозной: Отчёт о качестве по артефактам
|
|
357
|
+
│ ├── usecases/SKILL.md # Шаг 4: Use Cases
|
|
358
|
+
│ ├── wireframes/SKILL.md # Шаг 9: Описания вайрфреймов
|
|
359
|
+
│ ├── research/SKILL.md # Шаг 7a (опционально): Технологическое исследование и ADR
|
|
360
|
+
│ ├── scenarios/SKILL.md # Шаг 10 (опционально): Сквозные валидационные сценарии
|
|
361
|
+
│ ├── handoff/SKILL.md # Шаг 11 (опционально): Пакет передачи в разработку
|
|
362
|
+
│ ├── estimate/SKILL.md # Утилита: Оценка трудозатрат (SP / T-shirt / человеко-дни)
|
|
363
|
+
│ ├── glossary/SKILL.md # Утилита: Единый глоссарий проекта
|
|
364
|
+
│ ├── export/SKILL.md # Утилита: Экспорт в Jira / GitHub Issues / Linear / CSV
|
|
365
|
+
│ ├── risk/SKILL.md # Утилита: Реестр рисков (матрица вероятность × влияние)
|
|
366
|
+
│ ├── sprint/SKILL.md # Утилита: План спринтов (группировка по velocity)
|
|
367
|
+
│ └── references/
|
|
368
|
+
│ ├── environment.md # 🖥️ Платформо-специфичные пути вывода
|
|
369
|
+
│ ├── closing-message.md # 📋 Шаблон завершающего сообщения (используется всеми навыками)
|
|
370
|
+
│ ├── prerequisites.md # ✅ Чек-листы предварительных условий по шагам
|
|
371
|
+
│ ├── templates/ # 📄 Базовые шаблоны артефактов с плейсхолдерами [TOKEN]
|
|
372
|
+
│ │ ├── README.md
|
|
373
|
+
│ │ ├── principles-template.md
|
|
374
|
+
│ │ ├── brief-template.md
|
|
375
|
+
│ │ ├── srs-template.md
|
|
376
|
+
│ │ ├── stories-template.md
|
|
377
|
+
│ │ ├── usecases-template.md
|
|
378
|
+
│ │ ├── ac-template.md
|
|
379
|
+
│ │ ├── nfr-template.md
|
|
380
|
+
│ │ ├── datadict-template.md
|
|
381
|
+
│ │ ├── research-template.md
|
|
382
|
+
│ │ ├── apicontract-template.md
|
|
383
|
+
│ │ ├── wireframes-template.md
|
|
384
|
+
│ │ ├── scenarios-template.md
|
|
385
|
+
│ │ ├── trace-template.md
|
|
386
|
+
│ │ ├── analyze-template.md
|
|
387
|
+
│ │ └── handoff-template.md
|
|
388
|
+
│ └── domains/
|
|
389
|
+
│ ├── igaming.md # 🎰 Доменные знания iGaming
|
|
390
|
+
│ ├── fintech.md # 🏦 Доменные знания Fintech
|
|
391
|
+
│ ├── saas.md # ☁️ Доменные знания SaaS
|
|
392
|
+
│ ├── ecommerce.md # 🛒 Доменные знания E-commerce
|
|
393
|
+
│ ├── healthcare.md # 🏥 Доменные знания Healthcare / MedTech
|
|
394
|
+
│ ├── logistics.md # 🚚 Доменные знания Logistics / Delivery
|
|
395
|
+
│ ├── on-demand.md # 🔧 Доменные знания On-demand / Services
|
|
396
|
+
│ ├── social-media.md # 📱 Доменные знания Social / Media
|
|
397
|
+
│ └── real-estate.md # 🏠 Доменные знания Real Estate
|
|
398
|
+
│
|
|
399
|
+
├── example/
|
|
400
|
+
│ └── dragon-fortune/ # 📚 Полный пример проекта (iGaming Telegram Mini App)
|
|
401
|
+
│
|
|
402
|
+
├── bin/
|
|
403
|
+
│ └── ba-toolkit.js # 🧰 Точка входа npm CLI (нулевые рантайм-зависимости)
|
|
404
|
+
├── package.json # 📦 Манифест npm-пакета (для `npx ba-toolkit`)
|
|
405
|
+
├── init.ps1 # 🚀 Инициализатор проекта (Windows PowerShell)
|
|
406
|
+
├── init.sh # 🚀 Инициализатор проекта (macOS / Linux bash)
|
|
407
|
+
├── CHANGELOG.md # 📋 История версий
|
|
408
|
+
├── COMMANDS.md # 📜 Шпаргалка по всем командам
|
|
409
|
+
├── LICENSE # Текст лицензии MIT
|
|
410
|
+
├── README.md # English version
|
|
411
|
+
├── README.ru.md # Русская версия
|
|
412
|
+
├── .gitignore
|
|
413
|
+
└── .github/
|
|
414
|
+
├── workflows/
|
|
415
|
+
│ ├── validate.yml # ✅ CI: валидация артефактов и файлов навыков на PR
|
|
416
|
+
│ └── release.yml # 🚀 CD: создание GitHub Release при пуше тега версии
|
|
417
|
+
└── scripts/
|
|
418
|
+
└── validate_artifacts.py # Python-валидатор, используемый в CI
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
> 💡 **`skills/`** — это директория, которую вы устанавливаете: копируйте её как единое целое, чтобы `references/` оставался рядом со всеми папками навыков.
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## 🔗 Система кросс-ссылок
|
|
426
|
+
|
|
427
|
+
Каждый артефакт ссылается на своих предшественников. Эта цепочка обеспечивает полную трассируемость от бизнес-целей до спецификаций экранов:
|
|
428
|
+
|
|
429
|
+
```
|
|
430
|
+
FR-001 (SRS)
|
|
431
|
+
└── US-001 (Stories)
|
|
432
|
+
└── UC-001 (Use Cases)
|
|
433
|
+
└── AC-001-01 (Критерии приёмки)
|
|
434
|
+
│
|
|
435
|
+
NFR-003 (Нефункциональные требования)
|
|
436
|
+
│
|
|
437
|
+
User, Bet (Словарь данных)
|
|
438
|
+
│
|
|
439
|
+
ADR-002 (Research — техническое решение, продиктованное этой сущностью)
|
|
440
|
+
│
|
|
441
|
+
POST /bets (API-контракт)
|
|
442
|
+
│
|
|
443
|
+
WF-005 (Вайрфреймы)
|
|
444
|
+
│
|
|
445
|
+
SC-003 (Валидационный сценарий — сквозной путь)
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
Команда `/trace` строит **полную матрицу** этих ссылок и подсвечивает непокрытые FR, истории без AC, "осиротевшие" сущности и эндпоинты, а также процент покрытия по каждому типу артефакта. Команда `/analyze` добавляет находки с градацией серьёзности: дубликаты, неоднозначные термины, терминологический дрифт и невалидные ссылки.
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## ⚡ Минимально жизнеспособный пайплайн
|
|
453
|
+
|
|
454
|
+
Не каждому проекту нужен весь набор из 21 навыка. Два распространённых пути:
|
|
455
|
+
|
|
456
|
+
**Lean** (самый быстрый путь до handoff — 9 шагов):
|
|
457
|
+
```
|
|
458
|
+
/brief → /srs → /stories → /ac → /nfr → /datadict → /apicontract → /wireframes → /handoff
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**Full** (полная трассируемость и контроль качества — 15 шагов):
|
|
462
|
+
```
|
|
463
|
+
/principles → /brief → /srs → /stories → /usecases → /ac → /nfr → /datadict
|
|
464
|
+
→ /research → /apicontract → /wireframes → /scenarios
|
|
465
|
+
→ /trace → /analyze → /handoff
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
Используйте `/clarify` на любом шаге, чтобы разрешить неоднозначности перед переходом дальше.
|
|
469
|
+
|
|
470
|
+
**Оценки времени** (приблизительные, зависят от сложности проекта и глубины интервью):
|
|
471
|
+
|
|
472
|
+
| Шаг | Lean pipeline | Full pipeline |
|
|
473
|
+
|------|:---:|:---:|
|
|
474
|
+
| `/principles` | — | 5–10 мин |
|
|
475
|
+
| `/brief` | 15–25 мин | 20–35 мин |
|
|
476
|
+
| `/srs` | 25–40 мин | 30–50 мин |
|
|
477
|
+
| `/stories` | 20–30 мин | 25–40 мин |
|
|
478
|
+
| `/usecases` | — | 20–35 мин |
|
|
479
|
+
| `/ac` | 20–35 мин | 25–40 мин |
|
|
480
|
+
| `/nfr` | 15–20 мин | 15–25 мин |
|
|
481
|
+
| `/datadict` | 15–25 мин | 20–30 мин |
|
|
482
|
+
| `/research` | — | 15–25 мин |
|
|
483
|
+
| `/apicontract` | 20–35 мин | 25–40 мин |
|
|
484
|
+
| `/wireframes` | 25–40 мин | 30–50 мин |
|
|
485
|
+
| `/scenarios` | — | 15–25 мин |
|
|
486
|
+
| `/trace` + `/analyze` | — | 10–15 мин |
|
|
487
|
+
| `/handoff` | 5–10 мин | 5–10 мин |
|
|
488
|
+
| **Итого** | **~3–4 часа** | **~5–8 часов** |
|
|
489
|
+
|
|
490
|
+
---
|
|
491
|
+
|
|
492
|
+
## 🚀 Быстрый старт
|
|
493
|
+
|
|
494
|
+
```
|
|
495
|
+
# Опционально: определить конвенции перед стартом
|
|
496
|
+
Вы: /principles
|
|
497
|
+
Агент: На каком языке генерировать артефакты? Какая серьёзность блокирует /done?
|
|
498
|
+
Вы: Русский, блокировать только на CRITICAL
|
|
499
|
+
Агент: [генерирует 00_principles_dragon-fortune.md — применяется всеми последующими навыками]
|
|
500
|
+
|
|
501
|
+
Вы: /brief
|
|
502
|
+
Агент: В каком домене ваш проект? (iGaming, Fintech, SaaS, другой?)
|
|
503
|
+
Вы: iGaming — онлайн-слот как Telegram Mini App
|
|
504
|
+
Агент: [задаёт 5-6 целевых вопросов о целях, аудитории, ограничениях...]
|
|
505
|
+
Вы: [отвечаете]
|
|
506
|
+
Агент: [генерирует 01_brief_dragon-fortune.md]
|
|
507
|
+
Артефакт сохранён: 01_brief_dragon-fortune.md
|
|
508
|
+
Покрыто: 4 бизнес-цели, 3 стейкхолдера, 6 рисков.
|
|
509
|
+
Следующий шаг: /srs
|
|
510
|
+
|
|
511
|
+
Вы: /done
|
|
512
|
+
Агент: Бриф зафиналирован. Следующий шаг: /srs
|
|
513
|
+
|
|
514
|
+
Вы: /srs
|
|
515
|
+
Агент: [читает бриф, спрашивает про роли, интеграции, бизнес-правила...]
|
|
516
|
+
...
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
Повторяйте для каждого шага. В любой момент после `/srs` запустите `/clarify [focus]`, чтобы разрешить неоднозначности в текущем артефакте, или `/analyze` — для полного кросс-артефактного отчёта о качестве. После `/stories` запустите `/trace`, чтобы проверить покрытие трассируемости.
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
## 🗂️ Как выглядит результат
|
|
524
|
+
|
|
525
|
+
Полный пример проекта — **Dragon Fortune** (iGaming Telegram Mini App) — включён в [`example/dragon-fortune/`](example/dragon-fortune/). Все 15 артефактов реалистичные, связаны кросс-ссылками и сгенерированы прогоном полного пайплайна BA Toolkit.
|
|
526
|
+
|
|
527
|
+
| Артефакт | Файл |
|
|
528
|
+
|---------|------|
|
|
529
|
+
| Принципы проекта | [`00_principles_dragon-fortune.md`](example/dragon-fortune/00_principles_dragon-fortune.md) |
|
|
530
|
+
| Бриф проекта | [`01_brief_dragon-fortune.md`](example/dragon-fortune/01_brief_dragon-fortune.md) |
|
|
531
|
+
| Требования (SRS) | [`02_srs_dragon-fortune.md`](example/dragon-fortune/02_srs_dragon-fortune.md) |
|
|
532
|
+
| User Stories | [`03_stories_dragon-fortune.md`](example/dragon-fortune/03_stories_dragon-fortune.md) |
|
|
533
|
+
| Use Cases | [`04_usecases_dragon-fortune.md`](example/dragon-fortune/04_usecases_dragon-fortune.md) |
|
|
534
|
+
| Критерии приёмки | [`05_ac_dragon-fortune.md`](example/dragon-fortune/05_ac_dragon-fortune.md) |
|
|
535
|
+
| Нефункциональные требования | [`06_nfr_dragon-fortune.md`](example/dragon-fortune/06_nfr_dragon-fortune.md) |
|
|
536
|
+
| Словарь данных | [`07_datadict_dragon-fortune.md`](example/dragon-fortune/07_datadict_dragon-fortune.md) |
|
|
537
|
+
| Технологическое исследование | [`07a_research_dragon-fortune.md`](example/dragon-fortune/07a_research_dragon-fortune.md) |
|
|
538
|
+
| API-контракт | [`08_apicontract_dragon-fortune.md`](example/dragon-fortune/08_apicontract_dragon-fortune.md) |
|
|
539
|
+
| Вайрфреймы | [`09_wireframes_dragon-fortune.md`](example/dragon-fortune/09_wireframes_dragon-fortune.md) |
|
|
540
|
+
| Валидационные сценарии | [`10_scenarios_dragon-fortune.md`](example/dragon-fortune/10_scenarios_dragon-fortune.md) |
|
|
541
|
+
| Пакет передачи в разработку | [`11_handoff_dragon-fortune.md`](example/dragon-fortune/11_handoff_dragon-fortune.md) |
|
|
542
|
+
| Реестр рисков | [`00_risks_dragon-fortune.md`](example/dragon-fortune/00_risks_dragon-fortune.md) |
|
|
543
|
+
| План спринтов | [`00_sprint_dragon-fortune.md`](example/dragon-fortune/00_sprint_dragon-fortune.md) |
|
|
544
|
+
|
|
545
|
+
> Пример демонстрирует полную трассируемость: FR → US → UC → AC → NFR → Сущность → ADR → API → WF → Сценарий, плюс реестр рисков и план спринтов.
|
|
546
|
+
|
|
547
|
+
---
|
|
548
|
+
|
|
549
|
+
## 📖 Руководство по использованию
|
|
550
|
+
|
|
551
|
+
### 1. Начало проекта
|
|
552
|
+
|
|
553
|
+
Запустите первую команду, и агент возьмёт управление на себя — он загрузит доменные референсы, задаст вопросы и сгенерирует артефакт. Вы никогда не редактируете файлы SKILL.md напрямую.
|
|
554
|
+
|
|
555
|
+
```
|
|
556
|
+
Вы: /brief
|
|
557
|
+
Агент: В каком домене ваш проект? (iGaming, Fintech, SaaS, другой?)
|
|
558
|
+
Вы: Fintech — мобильное приложение необанка
|
|
559
|
+
Агент: Отлично. Задам несколько вопросов.
|
|
560
|
+
1. Какая основная бизнес-цель — привлечение новых пользователей, рост использования карт или что-то другое?
|
|
561
|
+
2. На какую географию и валюту ориентировано приложение?
|
|
562
|
+
3. Есть ли существующие банки-партнёры или приложение будет standalone-продуктом?
|
|
563
|
+
Вы: [отвечаете на все три]
|
|
564
|
+
Агент: Ещё пара вопросов...
|
|
565
|
+
[1-2 раунда]
|
|
566
|
+
Агент: [генерирует 01_brief_neobank-app.md]
|
|
567
|
+
|
|
568
|
+
Артефакт сохранён: 01_brief_neobank-app.md
|
|
569
|
+
Покрыто: 3 бизнес-цели, 5 стейкхолдеров, 4 риска.
|
|
570
|
+
Slug зафиксирован для этого пайплайна: neobank-app
|
|
571
|
+
|
|
572
|
+
Доступно: /clarify · /revise · /expand · /validate · /done
|
|
573
|
+
Следующий шаг: /srs
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
**Slug** (`neobank-app`) выводится из названия проекта на шаге `/brief` и используется как суффикс для каждого последующего файла: `02_srs_neobank-app.md`, `03_stories_neobank-app.md` и т. д.
|
|
577
|
+
|
|
578
|
+
---
|
|
579
|
+
|
|
580
|
+
### 2. Движение по пайплайну
|
|
581
|
+
|
|
582
|
+
После просмотра сгенерированного артефакта либо доработайте его, либо зафиналите:
|
|
583
|
+
|
|
584
|
+
```
|
|
585
|
+
# Не устраивает раздел — переписать его
|
|
586
|
+
Вы: /revise section 3
|
|
587
|
+
Агент: [спрашивает, что изменить, переписывает раздел 3, сохраняет файл]
|
|
588
|
+
|
|
589
|
+
# Нужны детали
|
|
590
|
+
Вы: /expand section 7
|
|
591
|
+
Агент: [добавляет детали в раздел 7]
|
|
592
|
+
|
|
593
|
+
# Всё устраивает — перейти к следующему шагу
|
|
594
|
+
Вы: /done
|
|
595
|
+
Агент: Бриф зафиналирован. Артефакт сохранён.
|
|
596
|
+
Следующий шаг: /srs
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
Каждый шаг автоматически читает результаты всех предыдущих шагов. Вам не нужно вставлять или ссылаться на предыдущие файлы — агент находит их по slug в выходной директории.
|
|
600
|
+
|
|
601
|
+
---
|
|
602
|
+
|
|
603
|
+
### 3. Использование /clarify
|
|
604
|
+
|
|
605
|
+
Запускайте `/clarify` после генерации любого артефакта, чтобы выявить неоднозначности перед переходом дальше. Это быстрее, чем обнаружить проблему через три шага.
|
|
606
|
+
|
|
607
|
+
```
|
|
608
|
+
Вы: /clarify
|
|
609
|
+
Агент: Найдено 4 неоднозначности в 02_srs_neobank-app.md:
|
|
610
|
+
|
|
611
|
+
1. [FR-003] "Система должна отвечать быстро" — какое целевое время отклика в мс?
|
|
612
|
+
2. [FR-011] Роль "Admin" используется, но не определена в разделе 2.2 — это то же, что "Compliance Officer"?
|
|
613
|
+
3. [NFR-001] "Высокая доступность" — какой числовой целевой SLA (%)?
|
|
614
|
+
4. [FR-019 vs FR-024] Оба описывают конвертацию валют — это одна и та же фича?
|
|
615
|
+
|
|
616
|
+
Вы: 1. Под 200мс на p95. 2. Нет, Admin — отдельная внутренняя роль. 3. 99.9%. 4. Да, слить.
|
|
617
|
+
Агент: [обновляет FR-003, добавляет Admin в роли, добавляет 99.9% в NFR-001, сливает FR-019 и FR-024]
|
|
618
|
+
Обновлено: 02_srs_neobank-app.md — 4 неоднозначности разрешены.
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
Можно также сфокусироваться на конкретной области:
|
|
622
|
+
|
|
623
|
+
```
|
|
624
|
+
Вы: /clarify security
|
|
625
|
+
Вы: /clarify FR-015
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
---
|
|
629
|
+
|
|
630
|
+
### 4. Использование /analyze
|
|
631
|
+
|
|
632
|
+
Запускайте `/analyze` в любой момент после `/srs`, чтобы получить кросс-артефактный отчёт о качестве. В отличие от `/trace` (который проверяет ссылки), `/analyze` также ловит дубликаты, неоднозначный язык и терминологический дрифт.
|
|
633
|
+
|
|
634
|
+
```
|
|
635
|
+
Вы: /analyze
|
|
636
|
+
Агент: [читает все существующие артефакты]
|
|
637
|
+
|
|
638
|
+
Артефакт сохранён: 00_analyze_neobank-app.md
|
|
639
|
+
|
|
640
|
+
Finding Report:
|
|
641
|
+
| ID | Category | Severity | Location | Summary | Recommendation |
|
|
642
|
+
|----|---------------|----------|-------------------|----------------------------------|-----------------------|
|
|
643
|
+
| A1 | Coverage Gap | CRITICAL | srs:FR-008 | Нет связанной user story | Создать US или удалить|
|
|
644
|
+
| A2 | Ambiguity | HIGH | nfr:NFR-004 | "Масштабируемый" без метрики | Добавить целевой RPS |
|
|
645
|
+
| A3 | Terminology | HIGH | srs + stories | Дрифт "Wallet" vs "Balance" | Стандартизировать в глоссарии |
|
|
646
|
+
| A4 | Duplication | MEDIUM | srs:FR-012,FR-017 | Почти-дубликат требований логина | Слить |
|
|
647
|
+
|
|
648
|
+
Общее покрытие: FR→US 87% · US→AC 94%
|
|
649
|
+
CRITICAL: 1 · HIGH: 2 · MEDIUM: 1
|
|
650
|
+
|
|
651
|
+
Топ-действия: исправить A1 через /stories, исправить A2 через /clarify NFR-004, исправить A3 через /revise glossary
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
**Градация серьёзности:**
|
|
655
|
+
|
|
656
|
+
| Серьёзность | Значение | Действие |
|
|
657
|
+
|----------|---------|--------|
|
|
658
|
+
| CRITICAL | Нарушает целостность пайплайна — отсутствует обязательная ссылка, несуществующий ID | Исправить до `/done` |
|
|
659
|
+
| HIGH | Значительный риск качества — отсутствующая метрика, дрифт ключевого термина | Исправить до handoff |
|
|
660
|
+
| MEDIUM | Опасение качества, не блокирует | Задокументировать или отложить |
|
|
661
|
+
| LOW | Стилистическое предложение | Опционально |
|
|
662
|
+
|
|
663
|
+
Запустите `/analyze` повторно после исправлений, чтобы отследить прогресс.
|
|
664
|
+
|
|
665
|
+
---
|
|
666
|
+
|
|
667
|
+
### 5. Использование /trace
|
|
668
|
+
|
|
669
|
+
Запускайте `/trace` после `/stories`, чтобы проверить покрытие трассируемости. Он строит полную матрицу FR → US → UC → AC → ...
|
|
670
|
+
|
|
671
|
+
```
|
|
672
|
+
Вы: /trace
|
|
673
|
+
Агент: [генерирует 00_trace_neobank-app.md]
|
|
674
|
+
|
|
675
|
+
Coverage Summary:
|
|
676
|
+
FR → US: 24/27 (89%) — FR-008, FR-019, FR-022 не покрыты
|
|
677
|
+
US → AC: 41/41 (100%) ✓
|
|
678
|
+
Entity → FR: 18/20 (90%) — Transaction, AuditLog не привязаны
|
|
679
|
+
|
|
680
|
+
Рекомендации:
|
|
681
|
+
— Создать user stories для FR-008, FR-019, FR-022 или удалить их из SRS
|
|
682
|
+
— Привязать Transaction и AuditLog к соответствующим FR в /datadict
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
Запустите `/trace` снова после исправления пробелов — он перечитает все артефакты и пересчитает матрицу.
|
|
686
|
+
|
|
687
|
+
---
|
|
688
|
+
|
|
689
|
+
### 6. Разбиение крупных элементов
|
|
690
|
+
|
|
691
|
+
Если user story или требование слишком широкое, разбейте его:
|
|
692
|
+
|
|
693
|
+
```
|
|
694
|
+
Вы: /split US-014
|
|
695
|
+
Агент: US-014 покрывает 4 отдельных действия. Предлагаемое разбиение:
|
|
696
|
+
— US-014a: Игрок просматривает историю транзакций (read-only)
|
|
697
|
+
— US-014b: Игрок фильтрует транзакции по дате и типу
|
|
698
|
+
— US-014c: Игрок экспортирует транзакции в PDF
|
|
699
|
+
— US-014d: Игрок оспаривает транзакцию
|
|
700
|
+
|
|
701
|
+
Применить разбиение?
|
|
702
|
+
Вы: Да, но объедини 014a и 014b
|
|
703
|
+
Агент: [переписывает US-014 как две истории: US-014 и US-014b]
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
---
|
|
707
|
+
|
|
708
|
+
### 7. Работа с несколькими проектами
|
|
709
|
+
|
|
710
|
+
Каждый проект получает свой slug и свой набор файлов. Если вы работаете с несколькими проектами в одной директории, запустите `/principles` первым для каждого и установите `output mode: subfolder` — файлы будут автоматически организованы по подпапкам `{slug}/`.
|
|
711
|
+
|
|
712
|
+
Если вы начинаете новый проект без смены выходной директории, агент обнаружит существующие файлы `01_brief_*.md` и предупредит вас перед перезаписью.
|
|
713
|
+
|
|
714
|
+
---
|
|
715
|
+
|
|
716
|
+
### 8. Решение проблем
|
|
717
|
+
|
|
718
|
+
**Агент говорит, что не может найти бриф / SRS / предыдущий артефакт:**
|
|
719
|
+
Навык ищет файлы, соответствующие маске `01_brief_*.md` в выходной директории. Если файл сохранён в другом месте, либо переместите его, либо укажите агенту полный путь.
|
|
720
|
+
|
|
721
|
+
**Артефакт сгенерирован не на том языке:**
|
|
722
|
+
Запустите `/principles` и явно укажите язык артефактов. Затем перезапустите текущий шаг — все последующие навыки будут использовать язык из `00_principles_{slug}.md`.
|
|
723
|
+
|
|
724
|
+
**Нужно переделать шаг с нуля:**
|
|
725
|
+
Запустите команду снова (например, `/srs`). Агент предупредит, что `02_srs_{slug}.md` уже существует, и предложит перезаписать или создать новую версию.
|
|
726
|
+
|
|
727
|
+
**Не загружается доменный референс:**
|
|
728
|
+
Проверьте, что `skills/references/domains/{domain}.md` существует, и что имя домена в брифе точно совпадает (`igaming`, `fintech`, `saas`, `ecommerce`, `healthcare`, `logistics`, `on-demand`, `social-media` или `real-estate` — в нижнем регистре с дефисами).
|
|
729
|
+
|
|
730
|
+
**`/analyze` сообщает о находках, которые вы уже исправили:**
|
|
731
|
+
Запустите `/analyze` снова — он всегда перечитывает все артефакты заново. Кэшированные результаты не используются.
|
|
732
|
+
|
|
733
|
+
---
|
|
734
|
+
|
|
735
|
+
### 9. AGENTS.md — постоянный контекст проекта
|
|
736
|
+
|
|
737
|
+
После завершения `/brief` агент создаёт или обновляет `AGENTS.md` в корне вашего проекта. В этом файле хранится slug проекта, домен, ключевые ограничения, пути к артефактам и текущий этап пайплайна.
|
|
738
|
+
|
|
739
|
+
```markdown
|
|
740
|
+
# BA Toolkit — Project Context
|
|
741
|
+
|
|
742
|
+
**Project:** Dragon Fortune
|
|
743
|
+
**Slug:** dragon-fortune
|
|
744
|
+
**Domain:** iGaming
|
|
745
|
+
**Language:** English
|
|
746
|
+
**Pipeline stage:** Brief complete
|
|
747
|
+
|
|
748
|
+
## Artifacts
|
|
749
|
+
- `/outputs/01_brief_dragon-fortune.md` — Project Brief
|
|
750
|
+
|
|
751
|
+
## Key context
|
|
752
|
+
- **Business goal:** Telegram Mini App slot for CIS markets, 50k MAU in 6 months
|
|
753
|
+
- **Key constraints:** Telegram API limits, AML/KYC compliance, certified RTP
|
|
754
|
+
|
|
755
|
+
## Next step
|
|
756
|
+
Run /srs to generate the Requirements Specification.
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
`AGENTS.md` обновляется снова после `/srs` — добавляются роли, интеграции и количество FR. Любой AI-агент (Claude Code, Codex, Gemini CLI), прочитавший этот файл, поймёт контекст проекта без повторного чтения всех артефактов — полезно при возобновлении работы в новой сессии.
|
|
760
|
+
|
|
761
|
+
---
|
|
762
|
+
|
|
763
|
+
## ❓ FAQ
|
|
764
|
+
|
|
765
|
+
**Нужны ли все 21 навык?**
|
|
766
|
+
Нет. Lean-пайплайн (`/brief → /srs → /stories → /ac → /nfr → /datadict → /apicontract → /wireframes → /handoff`) покрывает основы за ~3–4 часа. Добавляйте `/usecases`, `/research`, `/scenarios`, `/trace` и `/analyze`, когда нужно более глубокое покрытие.
|
|
767
|
+
|
|
768
|
+
**Можно ли использовать на любом языке?**
|
|
769
|
+
Да. Агент определяет язык вашего первого сообщения и генерирует все артефакты на этом языке. Задайте его явно через `/principles`, если хотите зафиксировать язык независимо от языка разговора.
|
|
770
|
+
|
|
771
|
+
**Работает ли офлайн / без интернета?**
|
|
772
|
+
Да. Все навыки — это локальные Markdown-файлы. Единственная сетевая зависимость — ваш AI-агент (Claude Code, Codex CLI и т. д.). Ни один компонент BA Toolkit не обращается к внешним API.
|
|
773
|
+
|
|
774
|
+
**Мой домен — не iGaming, не Fintech и не SaaS. Я всё равно могу использовать BA Toolkit?**
|
|
775
|
+
Да. Выберите "Custom" на шаге `/brief`, и навыки будут использовать общие вопросы интервью. Можно добавить свой домен за 30 минут, создав один Markdown-файл — см. раздел [Добавление нового домена](#-добавление-нового-домена).
|
|
776
|
+
|
|
777
|
+
**Можно ли вернуться и отредактировать предыдущий артефакт?**
|
|
778
|
+
Да. Запустите `/revise [section]` на любом шаге, либо вызовите команду навыка заново (например, `/srs`), чтобы перегенерировать с нуля. Агент предупредит перед перезаписью. Последующие навыки автоматически прочтут обновлённую версию.
|
|
779
|
+
|
|
780
|
+
**Работает ли с более мелкими / быстрыми моделями?**
|
|
781
|
+
Структурированный Markdown-формат и явные кросс-ссылки помогают небольшим моделям оставаться в контексте. Для лучших результатов используйте модель с окном контекста не менее 32k токенов — поздние шаги пайплайна загружают несколько крупных артефактов одновременно.
|
|
782
|
+
|
|
783
|
+
**Как обновить BA Toolkit после выхода новой версии?**
|
|
784
|
+
См. инструкции по обновлению в разделе [Установка](#-установка) выше.
|
|
785
|
+
|
|
786
|
+
---
|
|
787
|
+
|
|
788
|
+
## 🤝 Вклад в проект
|
|
789
|
+
|
|
790
|
+
Вклады приветствуются. Наиболее полезные дополнения:
|
|
791
|
+
|
|
792
|
+
**Новые домены** (максимальное влияние, без кода):
|
|
793
|
+
Создайте `skills/references/domains/{domain}.md` по шаблону из раздела [Добавление нового домена](#-добавление-нового-домена). Откройте PR с файлом и кратким описанием домена.
|
|
794
|
+
|
|
795
|
+
**Улучшения навыков:**
|
|
796
|
+
Редактируйте соответствующий `skills/{name}/SKILL.md`. Сохраняйте обратную совместимость — избегайте переименования секций или изменения имён выходных файлов, так как другие навыки от них зависят.
|
|
797
|
+
|
|
798
|
+
**Отчёты о багах:**
|
|
799
|
+
Откройте GitHub issue с указанием: имени навыка, запущенной команды, используемого агента/платформы и того, что произошло vs что ожидалось.
|
|
800
|
+
|
|
801
|
+
**Правила:**
|
|
802
|
+
- Один PR на один домен или навык.
|
|
803
|
+
- Протестируйте навык сквозным прогоном перед отправкой (запустите полную команду, проверьте выходной файл).
|
|
804
|
+
- Сохраняйте стиль согласованным с существующими навыками: формальный, нейтральный, без эмодзи в теле артефакта, язык следует вводу пользователя.
|
|
805
|
+
|
|
806
|
+
---
|
|
807
|
+
|
|
808
|
+
<h2 id="-добавление-нового-домена">➕ Добавление нового домена</h2>
|
|
809
|
+
|
|
810
|
+
Создайте `skills/references/domains/{domain}.md` по следующей структуре:
|
|
811
|
+
|
|
812
|
+
```markdown
|
|
813
|
+
# Domain Reference: {Name}
|
|
814
|
+
|
|
815
|
+
## 1. /brief — Project Brief
|
|
816
|
+
### Domain-specific interview questions
|
|
817
|
+
### Typical business goals
|
|
818
|
+
### Typical risks
|
|
819
|
+
|
|
820
|
+
## 2. /srs — Requirements Specification
|
|
821
|
+
### Domain-specific interview questions
|
|
822
|
+
### Typical functional areas
|
|
823
|
+
|
|
824
|
+
## 3. /stories — User Stories
|
|
825
|
+
### Domain-specific interview questions
|
|
826
|
+
### Typical epics
|
|
827
|
+
|
|
828
|
+
## 4. /usecases — Use Cases
|
|
829
|
+
## 5. /ac — Acceptance Criteria
|
|
830
|
+
## 6. /nfr — Non-functional Requirements
|
|
831
|
+
## 7. /datadict — Data Dictionary
|
|
832
|
+
## 8. /apicontract — API Contract
|
|
833
|
+
## 9. /wireframes — Wireframe Descriptions
|
|
834
|
+
|
|
835
|
+
## Domain Glossary
|
|
836
|
+
| Term | Definition |
|
|
837
|
+
|------|-----------|
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
Каждый навык загружает **только свою секцию** из файла референса — это эффективно расходует контекст.
|
|
841
|
+
|
|
842
|
+
---
|
|
843
|
+
|
|
844
|
+
## 📄 Лицензия
|
|
845
|
+
|
|
846
|
+
MIT — используйте свободно, модифицируйте, распространяйте. Полный текст см. в [LICENSE](LICENSE).
|