@alxyrgin/agent-forge 1.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +104 -51
  2. package/dist/index.js +194 -51
  3. package/dist/index.js.map +1 -1
  4. package/package.json +12 -2
  5. package/templates/agents/documentation/gatekeeper.md.ejs +83 -0
  6. package/templates/agents/documentation/librarian.md.ejs +80 -0
  7. package/templates/agents/documentation/verifier.md.ejs +92 -0
  8. package/templates/agents/documentation/writer.md.ejs +189 -0
  9. package/templates/agents/pipeline/analyst.md.ejs +65 -0
  10. package/templates/agents/{core → pipeline}/architect.md.ejs +38 -1
  11. package/templates/agents/pipeline/developer.md.ejs +75 -0
  12. package/templates/agents/pipeline/inspector.md.ejs +123 -0
  13. package/templates/agents/pipeline/planner.md.ejs +211 -0
  14. package/templates/agents/pipeline/reviewer.md.ejs +158 -0
  15. package/templates/agents/pipeline/skeptic.md.ejs +105 -0
  16. package/templates/agents/pipeline/tester.md.ejs +134 -0
  17. package/templates/agents/planning/decomposer.md.ejs +103 -0
  18. package/templates/agents/planning/interviewer.md.ejs +104 -0
  19. package/templates/agents/planning/researcher.md.ejs +96 -0
  20. package/templates/agents/planning/validator.md.ejs +97 -0
  21. package/templates/agents/security/auditor.md.ejs +105 -0
  22. package/templates/agents/security/deployer.md.ejs +81 -0
  23. package/templates/agents/security/prompter.md.ejs +87 -0
  24. package/templates/agents/security/scaffolder.md.ejs +75 -0
  25. package/templates/hooks/protect-docs.sh.ejs +25 -0
  26. package/templates/memory/checkpoint.yml.ejs +21 -0
  27. package/templates/memory/tech-debt.md.ejs +9 -1
  28. package/templates/root/CLAUDE.md.ejs +228 -30
  29. package/templates/root/settings.json.ejs +15 -1
  30. package/templates/rules/agent-output-format.md.ejs +80 -0
  31. package/templates/rules/context-loading.md.ejs +70 -0
  32. package/templates/rules/development-cycle.md.ejs +163 -29
  33. package/templates/rules/quality-gates.md.ejs +80 -0
  34. package/templates/rules/rollback-protocol.md.ejs +60 -0
  35. package/templates/rules/shared-resources.md.ejs +73 -0
  36. package/templates/skills/core/code/SKILL.md.ejs +85 -0
  37. package/templates/skills/core/complete-task/SKILL.md.ejs +22 -9
  38. package/templates/skills/core/done/SKILL.md.ejs +66 -0
  39. package/templates/skills/core/end-session/SKILL.md.ejs +14 -6
  40. package/templates/skills/core/review/SKILL.md.ejs +1 -1
  41. package/templates/skills/core/start-session/SKILL.md.ejs +73 -10
  42. package/templates/skills/core/take-task/SKILL.md.ejs +279 -30
  43. package/templates/skills/core/test/SKILL.md.ejs +200 -0
  44. package/templates/skills/extra/audit-wave/SKILL.md.ejs +58 -0
  45. package/templates/skills/extra/dashboard/SKILL.md.ejs +64 -0
  46. package/templates/skills/extra/decompose/SKILL.md.ejs +72 -0
  47. package/templates/skills/extra/feature/SKILL.md.ejs +83 -0
  48. package/templates/skills/extra/interview/SKILL.md.ejs +66 -0
  49. package/templates/skills/extra/prompts/SKILL.md.ejs +65 -0
  50. package/templates/skills/extra/security/SKILL.md.ejs +77 -0
  51. package/templates/skills/extra/skill-master/SKILL.md.ejs +51 -0
  52. package/templates/skills/extra/spec/SKILL.md.ejs +111 -0
  53. package/templates/skills/extra/techspec/SKILL.md.ejs +97 -0
  54. package/templates/skills/extra/write-report/SKILL.md.ejs +26 -0
  55. package/templates/agents/core/analyst.md.ejs +0 -56
  56. package/templates/agents/core/developer.md.ejs +0 -54
  57. package/templates/agents/core/doc-writer.md.ejs +0 -50
  58. package/templates/agents/core/progress-tracker.md.ejs +0 -56
  59. package/templates/agents/core/reviewer.md.ejs +0 -52
  60. package/templates/agents/core/security-auditor.md.ejs +0 -51
  61. package/templates/agents/core/unit-tester.md.ejs +0 -56
  62. package/templates/agents/extra/acceptance-tester.md.ejs +0 -48
  63. package/templates/agents/extra/integration-tester.md.ejs +0 -49
  64. package/templates/agents/extra/planner.md.ejs +0 -89
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: test
3
+ description: |
4
+ Standalone тестирование: unit, integration, regression, acceptance, TDD.
5
+ Запускает tester + inspector, анализирует покрытие.
6
+
7
+ Use when: «протестируй», «тесты», «regression», «запусти тесты», «test», «покрытие», «coverage»
8
+ user-invocable: true
9
+ argument-hint: "[scope] [--level unit|integration|regression|acceptance|tdd] [--coverage]"
10
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent
11
+ ---
12
+
13
+ # Standalone тестирование
14
+
15
+ Аргументы: `$ARGUMENTS`
16
+ - scope — путь к модулю/директории (по умолчанию <%= srcDir %>)
17
+ - --level — уровень тестов (по умолчанию unit)
18
+ - --coverage — анализ покрытия
19
+
20
+ ## Определение режима
21
+
22
+ | Аргумент | Режим | Описание |
23
+ |----------|-------|----------|
24
+ | `--level unit` | Unit | tester(unit) -> inspector -> fix cycle |
25
+ | `--level integration` | Integration | tester(integration) -> report |
26
+ | `--level regression` | Regression | полный прогон -> сравнение с предыдущими результатами |
27
+ | `--level acceptance` | Acceptance | tester(acceptance) -> протокол -> results/ |
28
+ | `--level tdd` | TDD | tester(tdd) -> failing тесты -> ready for dev |
29
+ | `--coverage` | Coverage | полный прогон -> gap analysis -> модули ниже 80% |
30
+ | _(пусто)_ | Unit | по умолчанию — unit |
31
+
32
+ ---
33
+
34
+ ## Mode A. Unit (default)
35
+
36
+ ### Фаза 1. Тестирование
37
+
38
+ ```
39
+ Agent(subagent_type="tester", prompt="
40
+ level: unit
41
+ Напиши/обнови unit-тесты для [scope].
42
+ Директория тестов: <%= testDir %>
43
+ Фреймворк: <%= testFramework %>
44
+ Покрытие >=80%.
45
+ Edge cases, обработка ошибок, граничные значения.
46
+ ")
47
+ ```
48
+
49
+ **Checkpoint:** тесты написаны.
50
+
51
+ ### Фаза 2. Инспекция
52
+
53
+ ```
54
+ Agent(subagent_type="inspector", prompt="
55
+ Проверь качество тестов: [файлы от tester].
56
+ 7 критериев: покрытие, naming, assertions, mocking, isolation, flaky, контроль доступа.
57
+ ")
58
+ ```
59
+
60
+ **Обработка verdict:**
61
+ - APPROVE -> готово
62
+ - REQUEST_CHANGES -> tester исправляет -> inspector повторяет (макс. 2 раунда)
63
+
64
+ **Checkpoint:** инспекция пройдена.
65
+
66
+ ### Фаза 3. Результат
67
+
68
+ Покажи итог: файлы, passed/failed, покрытие, inspector findings.
69
+
70
+ ---
71
+
72
+ ## Mode B. Regression
73
+
74
+ ### Фаза 1. Прогон всех тестов
75
+
76
+ ```bash
77
+ <%= testCommand %>
78
+ ```
79
+
80
+ ### Фаза 2. Сравнение
81
+
82
+ Прочитай предыдущие результаты из `dev-infra/tests/results/` (последний файл).
83
+ Сравни: новые failures, исправленные failures, стабильные тесты.
84
+
85
+ ### Фаза 3. Отчёт
86
+
87
+ ```
88
+ ## Regression Report
89
+
90
+ | Метрика | Предыдущий | Текущий | Delta |
91
+ |---------|-----------|---------|-------|
92
+ | Passed | N | M | +K |
93
+ | Failed | N | M | -K |
94
+ | Total | N | M | +K |
95
+
96
+ ### Новые failures
97
+ - test_name: причина
98
+
99
+ ### Исправленные
100
+ - test_name: был fail, теперь pass
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Mode C. Coverage
106
+
107
+ ### Фаза 1. Полный прогон
108
+
109
+ ```bash
110
+ <%= testCommand %> --coverage
111
+ ```
112
+
113
+ ### Фаза 2. Gap Analysis
114
+
115
+ Для каждого модуля с покрытием <80%:
116
+ - Какие функции не покрыты?
117
+ - Какие ветки пропущены?
118
+ - Рекомендации: что тестировать первым
119
+
120
+ ### Фаза 3. Отчёт
121
+
122
+ ```
123
+ ## Coverage Report
124
+
125
+ | Модуль | Покрытие | Цель | Статус |
126
+ |--------|---------|------|--------|
127
+ | module_a | 92% | >=80% | PASS |
128
+ | module_b | 67% | >=80% | FAIL — gap |
129
+
130
+ ### Gaps
131
+ - module_b: функции X, Y не покрыты
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Mode D. TDD
137
+
138
+ ### Фаза 1. Генерация failing тестов
139
+
140
+ ```
141
+ Agent(subagent_type="tester", prompt="
142
+ mode: tdd
143
+ Создай failing тесты для [scope].
144
+ Директория тестов: <%= testDir %>
145
+ Фреймворк: <%= testFramework %>
146
+ TDD-якоря: [tdd_anchors из tasks.json, если есть]
147
+ Описание ожидаемого поведения: [от пользователя]
148
+ Тесты должны FAIL (код ещё не написан).
149
+ ")
150
+ ```
151
+
152
+ ### Фаза 2. Верификация RED
153
+
154
+ Запусти тесты — убедись, что они fail. Если pass — якоря некорректны.
155
+
156
+ ```bash
157
+ <%= testCommand %>
158
+ ```
159
+
160
+ ### Фаза 3. Результат
161
+
162
+ ```
163
+ ## TDD — Failing Tests (RED)
164
+
165
+ Создано N failing тестов:
166
+ - test_X: ожидает [поведение]
167
+ - test_Y: ожидает [поведение]
168
+
169
+ Следующий шаг: developer реализует код -> тесты станут GREEN.
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Mode E. Acceptance
175
+
176
+ ### Фаза 1. Приёмочные тесты
177
+
178
+ ```
179
+ Agent(subagent_type="tester", prompt="
180
+ level: acceptance
181
+ Milestone: [текущий из active-context.md]
182
+ Критерии: dev-infra/tests/acceptance/milestone-X.X.md
183
+ ПМИ: dev-infra/tests/pmi/
184
+ ")
185
+ ```
186
+
187
+ ### Фаза 2. Протокол
188
+
189
+ Сохрани результат в `dev-infra/tests/results/acceptance-YYYY-MM-DD.md`.
190
+
191
+ ### Фаза 3. Итог
192
+
193
+ Таблица: критерий -> метрика -> цель -> факт -> статус.
194
+
195
+ ## Final Check
196
+
197
+ - [ ] Тесты написаны/обновлены
198
+ - [ ] Inspector проверил качество (для unit)
199
+ - [ ] Результаты сохранены
200
+ - [ ] Покрытие >=80% (для unit/coverage)
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: audit-wave
3
+ description: Комплексный аудит перед milestone — 3 параллельных проверки с вердиктом GO/NO-GO.
4
+ user-invocable: true
5
+ disable-model-invocation: false
6
+ allowed-tools: Read, Glob, Grep, Bash, Agent
7
+ ---
8
+
9
+ # Комплексный аудит перед milestone
10
+
11
+ Запускает 3 параллельных проверки и выносит вердикт GO/NO-GO.
12
+
13
+ ## Шаг 1. Запустить 3 проверки параллельно
14
+
15
+ ```
16
+ Agent(subagent_type="planner", prompt="Режим: completeness. Проверь полноту реализации для текущего milestone. Требования: [из tasks.json].")
17
+
18
+ Agent(subagent_type="reviewer", prompt="Фокус: безопасность. Проведи аудит безопасности для текущего milestone. Проверь: авторизацию, валидацию, SQL-инъекции, XSS.")
19
+
20
+ Agent(subagent_type="tester", prompt="Level: acceptance. Проверь критерии приёмки для текущего milestone. Файлы: dev-infra/tests/acceptance/.")
21
+ ```
22
+
23
+ ## Шаг 2. Собрать результаты
24
+
25
+ Дождись завершения всех 3 агентов. Собери вердикты:
26
+
27
+ | Проверка | Агент | Вердикт |
28
+ |----------|-------|---------|
29
+ | Полнота | planner (completeness) | COMPLETE / GAPS_FOUND / CRITICAL_GAPS |
30
+ | Безопасность | reviewer (security) | PASS / WARN / FAIL |
31
+ | Приёмка | tester (acceptance) | PASS / PARTIAL / FAIL |
32
+
33
+ ## Шаг 3. Вынести вердикт
34
+
35
+ ### GO — можно релизить
36
+ - Все 3 проверки: PASS/COMPLETE
37
+ - Или: максимум 1 WARN/GAPS_FOUND без CRITICAL
38
+
39
+ ### NO-GO — нужна доработка
40
+ - Любой FAIL или CRITICAL_GAPS
41
+ - 2+ проверки с WARN/GAPS_FOUND
42
+
43
+ ## Шаг 4. Показать отчёт
44
+
45
+ ```markdown
46
+ ## Аудит milestone: [название]
47
+ **Дата:** YYYY-MM-DD
48
+ **Вердикт:** GO / NO-GO
49
+
50
+ ### Результаты проверок
51
+ [таблица из шага 2]
52
+
53
+ ### Блокеры (если NO-GO)
54
+ - [список конкретных проблем]
55
+
56
+ ### Рекомендации
57
+ - [что нужно исправить]
58
+ ```
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: dashboard
3
+ description: Показать дашборд проекта — прогресс, метрики, здоровье кодовой базы.
4
+ user-invocable: true
5
+ disable-model-invocation: false
6
+ allowed-tools: Read, Glob, Grep, Bash
7
+ ---
8
+
9
+ # Дашборд проекта
10
+
11
+ Собери и покажи компактный дашборд.
12
+
13
+ ## 1. Прогресс по milestone
14
+
15
+ Прочитай `dev-infra/tasks/tasks.json` и `dev-infra/memory/progress.md`.
16
+
17
+ Покажи:
18
+ ```
19
+ Milestone: [название]
20
+ Прогресс: ████████░░ 80% (16/20 задач)
21
+ Дедлайн: YYYY-MM-DD (X дней)
22
+ ```
23
+
24
+ ## 2. Статусы задач
25
+
26
+ ```
27
+ done: ██████████ 12
28
+ in_progress: ████ 4
29
+ todo: ████ 4
30
+ blocked: █ 1
31
+ ```
32
+
33
+ ## 3. Здоровье кодовой базы
34
+
35
+ <% if (stack === 'typescript') { %>
36
+ Запусти:
37
+ ```bash
38
+ npx tsc --noEmit 2>&1 | tail -5
39
+ <%= testCommand %> 2>&1 | tail -10
40
+ ```
41
+ <% } else if (stack === 'python') { %>
42
+ Запусти:
43
+ ```bash
44
+ <%= testCommand %> 2>&1 | tail -10
45
+ ```
46
+ <% } else { %>
47
+ Запусти:
48
+ ```bash
49
+ <%= testCommand %> 2>&1 | tail -10
50
+ ```
51
+ <% } %>
52
+
53
+ Покажи:
54
+ - Ошибки компиляции (если есть)
55
+ - Тесты: passed / failed / skipped
56
+ - Покрытие (если доступно)
57
+
58
+ ## 4. Технический долг
59
+
60
+ Прочитай `dev-infra/memory/tech-debt.md`. Покажи количество open записей по категориям.
61
+
62
+ ## 5. Последняя активность
63
+
64
+ Покажи последние 3 сессии из `dev-infra/sessions/`.
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: decompose
3
+ description: |
4
+ Декомпозиция tech-spec на атомарные задачи с TDD-якорями, wave, verify steps.
5
+
6
+ Use when: «декомпозируй», «разбей на задачи», «decompose», «создай задачи из спеки»
7
+ user-invocable: true
8
+ argument-hint: "[tech-spec path]"
9
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent
10
+ ---
11
+
12
+ # Декомпозиция на задачи
13
+
14
+ Аргумент: `$ARGUMENTS` — путь к tech-spec (опционально, по умолчанию — последний созданный).
15
+
16
+ ## Фаза 1. Генерация задач
17
+
18
+ ```
19
+ Agent(subagent_type="decomposer", prompt="
20
+ Tech-spec: [содержание tech-spec]
21
+ Code research: [если есть]
22
+ Существующие задачи: [tasks.json — для определения ID и избежания дублирования]
23
+
24
+ Для каждой функциональной единицы создай задачу:
25
+ - TDD-якоря, AC, dependencies, wave, context_files, verify_steps
26
+ - Атомарность: 1 задача = 1 сессия
27
+ ")
28
+ ```
29
+
30
+ **Checkpoint:** задачи сгенерированы.
31
+
32
+ ## Фаза 2. Валидация (параллельно)
33
+
34
+ ```
35
+ # Validator проверяет задачи
36
+ Agent(subagent_type="validator", prompt="mode: task. Проверь задачи: [список задач]. Атомарность, AC, TDD-якоря, dependencies.")
37
+
38
+ # Skeptic проверяет на миражи
39
+ Agent(subagent_type="skeptic", prompt="Проверь задачи на миражи: context_files существуют? Dependencies корректны? [список задач]")
40
+ ```
41
+
42
+ Если есть findings — исправить (макс. 3 итерации).
43
+
44
+ **Checkpoint:** валидация пройдена.
45
+
46
+ ## Фаза 3. Запись
47
+
48
+ Покажи пользователю:
49
+
50
+ ```
51
+ ## Задачи из tech-spec
52
+
53
+ | Wave | ID | Название | Priority | Dependencies | TDD-якоря |
54
+ |------|----|-----------|---------|--------------|-----------|
55
+ | 1 | M1.2-001 | ... | high | - | 2 |
56
+ | 1 | M1.2-002 | ... | high | - | 3 |
57
+ | 2 | M1.2-003 | ... | medium | M1.2-001 | 2 |
58
+
59
+ Всего: N задач, K волн.
60
+ ```
61
+
62
+ Спроси: «Записать в tasks.json?»
63
+
64
+ При подтверждении — обновить tasks.json (добавить новые задачи).
65
+
66
+ ## Final Check
67
+
68
+ - [ ] Задачи сгенерированы из tech-spec
69
+ - [ ] Validator проверил
70
+ - [ ] Skeptic проверил
71
+ - [ ] Пользователь утвердил
72
+ - [ ] tasks.json обновлён
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: feature
3
+ description: |
4
+ Wave-execution: оркестрация нескольких задач из milestone по волнам.
5
+ Последовательно выполняет задачи через take-task pipeline.
6
+
7
+ Use when: «запусти фичу», «выполни волну», «feature», «wave execution», «запусти wave»
8
+ user-invocable: true
9
+ argument-hint: "[milestone] [--wave N]"
10
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent
11
+ ---
12
+
13
+ # Wave Execution — оркестрация волны задач
14
+
15
+ Аргументы: `$ARGUMENTS`
16
+ - milestone — ID milestone (например: 1.2)
17
+ - --wave N — номер волны (по умолчанию — следующая невыполненная)
18
+
19
+ ## Фаза 1. Выбор задач
20
+
21
+ 1. Прочитай `dev-infra/tasks/tasks.json`
22
+ 2. Если --wave указан — выбери задачи с `wave: N` и `status: todo`
23
+ 3. Если нет — определи следующую невыполненную волну:
24
+ - Wave 1 done? -> Wave 2
25
+ - Wave 2 done? -> Wave 3
26
+ 4. Покажи задачи волны:
27
+
28
+ ```
29
+ ## Wave [N] — Milestone [X.X]
30
+
31
+ | # | ID | Название | Priority | Dependencies | Status |
32
+ |---|----|-----------|---------|--------------| -------|
33
+ | 1 | M1.2-001 | ... | high | - | todo |
34
+ | 2 | M1.2-002 | ... | high | - | todo |
35
+
36
+ Задач: N. Запустить выполнение?
37
+ ```
38
+
39
+ **Checkpoint:** волна определена.
40
+
41
+ ## Фаза 2. Последовательное выполнение
42
+
43
+ Для каждой задачи в волне (по порядку ID):
44
+
45
+ ```
46
+ # Эквивалент /take-task pipeline
47
+ 1. Определить размер задачи (S/M/L)
48
+ 2. Запустить соответствующий пайплайн (см. take-task)
49
+ 3. Дождаться завершения
50
+ 4. Обновить checkpoint
51
+ ```
52
+
53
+ Между задачами показывай прогресс:
54
+ ```
55
+ Wave [N]: [completed]/[total] задач выполнено.
56
+ Следующая: [ID] — [название]
57
+ ```
58
+
59
+ **Checkpoint:** обновляется после каждой задачи.
60
+
61
+ ## Фаза 3. Финализация волны
62
+
63
+ После завершения всех задач:
64
+
65
+ 1. Smoke test: `<%= testCommand %>`
66
+ 2. Обнови progress.md
67
+ 3. Покажи итог:
68
+
69
+ ```
70
+ ## Wave [N] Complete
71
+
72
+ - Задач выполнено: N/N
73
+ - Тесты: X passed, Y failed
74
+ - Следующая волна: Wave [N+1] (K задач)
75
+ ```
76
+
77
+ 4. Предложи коммит
78
+
79
+ ## Final Check
80
+
81
+ - [ ] Все задачи волны в статусе done
82
+ - [ ] Smoke test проходит
83
+ - [ ] Progress обновлён
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: interview
3
+ description: Discovery-интервью с пользователем для сбора требований. 3 цикла уточнений до completeness >= 85%.
4
+ user-invocable: true
5
+ disable-model-invocation: false
6
+ allowed-tools: Read, Write, Edit, Glob, Grep
7
+ ---
8
+
9
+ # Discovery-интервью
10
+
11
+ Проведи структурированное интервью с пользователем для сбора требований.
12
+
13
+ ## Алгоритм
14
+
15
+ ### Цикл 1. Общее понимание
16
+
17
+ Задай вопросы:
18
+ 1. **Пользователи:** кто будет использовать? Какие роли?
19
+ 2. **Основная цель:** какую проблему решаем?
20
+ 3. **Данные:** какие данные обрабатываем? Откуда берутся?
21
+ 4. **Интеграции:** с какими системами нужна интеграция?
22
+ 5. **Ограничения:** дедлайны, бюджет, технические ограничения?
23
+
24
+ После ответов — оцени completeness score (0-100%).
25
+
26
+ ### Цикл 2. Уточнение
27
+
28
+ На основе ответов из цикла 1 задай уточняющие вопросы:
29
+ - Что неясно или противоречиво?
30
+ - Какие edge cases не покрыты?
31
+ - Какие нефункциональные требования (нагрузка, безопасность, доступность)?
32
+
33
+ Обнови completeness score.
34
+
35
+ ### Цикл 3. Валидация
36
+
37
+ Покажи пользователю собранные требования в структурированном виде:
38
+ - Функциональные требования (список)
39
+ - Нефункциональные требования
40
+ - Ограничения и допущения
41
+ - Открытые вопросы
42
+
43
+ Спроси: «Всё верно? Что-то пропущено?»
44
+
45
+ ## Критерий завершения
46
+
47
+ Completeness score >= 85%. Если после 3 циклов score < 85% — зафиксируй открытые вопросы и предупреди о рисках.
48
+
49
+ ## Результат
50
+
51
+ Запиши итог в `dev-infra/memory/decisions.md` в формате:
52
+
53
+ ```markdown
54
+ ## Discovery: [название задачи/фичи]
55
+ **Дата:** YYYY-MM-DD
56
+ **Completeness:** XX%
57
+
58
+ ### Требования
59
+ - [список]
60
+
61
+ ### Ограничения
62
+ - [список]
63
+
64
+ ### Открытые вопросы
65
+ - [если есть]
66
+ ```
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: prompts
3
+ description: |
4
+ Standalone ревью LLM-промптов: ясность, few-shot, output format, injection safety, token efficiency.
5
+
6
+ Use when: «проверь промпты», «review prompts», «промпты», «prompts», «ревью промптов»
7
+ user-invocable: true
8
+ argument-hint: "[scope path]"
9
+ allowed-tools: Read, Glob, Grep, Bash, Agent
10
+ ---
11
+
12
+ # Ревью LLM-промптов
13
+
14
+ Аргумент: `$ARGUMENTS` — путь к файлам с промптами (по умолчанию — поиск по проекту).
15
+
16
+ ## Фаза 1. Поиск промптов
17
+
18
+ Если путь не указан — найди файлы с промптами:
19
+ ```
20
+ Grep: pattern="prompt|system_message|user_message|few_shot" в <%= srcDir %>/**/*
21
+ ```
22
+
23
+ Покажи найденные файлы, спроси: «Проверить все или выбрать?»
24
+
25
+ **Checkpoint:** промпты найдены.
26
+
27
+ ## Фаза 2. Ревью
28
+
29
+ ```
30
+ Agent(subagent_type="prompter", prompt="
31
+ Проверь LLM-промпты в файлах: [список файлов]
32
+
33
+ 5 критериев:
34
+ 1. Ясность — инструкция однозначная?
35
+ 2. Few-shot — примеры есть и корректны?
36
+ 3. Output format — формат определён, валидируем?
37
+ 4. Injection safety — input экранирован?
38
+ 5. Token efficiency — промпт не избыточен?
39
+ ")
40
+ ```
41
+
42
+ **Checkpoint:** ревью завершено.
43
+
44
+ ## Фаза 3. Отчёт
45
+
46
+ ```
47
+ ## Prompt Review Report
48
+
49
+ **Verdict:** [GOOD / NEEDS_IMPROVEMENT]
50
+
51
+ ### Промпты проверены
52
+ | Файл | Промпт | Verdict |
53
+ |------|--------|---------|
54
+ | src/llm/prompts.ts | classify_report | GOOD |
55
+ | src/llm/prompts.ts | extract_params | NEEDS_IMPROVEMENT |
56
+
57
+ ### Findings
58
+ 1. [file:prompt_name] — [description] -> [recommendation]
59
+ ```
60
+
61
+ ## Final Check
62
+
63
+ - [ ] Все промпты в scope проверены
64
+ - [ ] Injection safety проверена
65
+ - [ ] Рекомендации даны
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: security
3
+ description: |
4
+ Standalone security audit: OWASP Top 10, контроль доступа, hardcoded secrets, threat modeling.
5
+
6
+ Use when: «проверь безопасность», «security audit», «security», «аудит безопасности», «OWASP»
7
+ user-invocable: true
8
+ argument-hint: "[scope path]"
9
+ allowed-tools: Read, Glob, Grep, Bash, Agent
10
+ ---
11
+
12
+ # Security Audit
13
+
14
+ Аргумент: `$ARGUMENTS` — путь к директории/файлам для аудита (по умолчанию <%= srcDir %>).
15
+
16
+ ## Фаза 1. Подготовка
17
+
18
+ 1. Определи scope:
19
+ - Если указан путь — использовать его
20
+ - Иначе — `<%= srcDir %>`
21
+ 2. Найди файлы для аудита: `Glob: [scope]/**/*`
22
+ 3. Прочитай `docs/` — контекст рисков проекта (если есть)
23
+
24
+ **Checkpoint:** scope определён, файлы найдены.
25
+
26
+ ## Фаза 2. Аудит
27
+
28
+ ```
29
+ Agent(subagent_type="auditor", prompt="
30
+ Проведи security audit.
31
+ Scope: [список файлов]
32
+ Риски проекта: [ключевые из документации]
33
+
34
+ Проверь:
35
+ 1. OWASP Top 10 (A01-A10)
36
+ 2. Hardcoded secrets (API keys, tokens, passwords)
37
+ 3. Контроль доступа (каждый запрос к данным проходит проверку прав?)
38
+ 4. Threat modeling (точки входа, чувствительные данные, возможные атаки)
39
+ ")
40
+ ```
41
+
42
+ **Checkpoint:** аудит завершён.
43
+
44
+ ## Фаза 3. Отчёт
45
+
46
+ Покажи результаты:
47
+
48
+ ```
49
+ ## Security Audit Report
50
+
51
+ **Scope:** [path]
52
+ **Verdict:** [SECURE / VULNERABLE]
53
+
54
+ ### Summary
55
+ - Files checked: N
56
+ - Findings: X (C critical, H high, M medium, L low)
57
+
58
+ ### Critical / High Findings
59
+ 1. [file:line] — [description] -> [fix]
60
+
61
+ ### Access Control Audit
62
+ - Data access points: N
63
+ - Protected: M
64
+ - Unprotected: K (list)
65
+
66
+ ### Recommendations
67
+ 1. [recommendation]
68
+ ```
69
+
70
+ Если есть critical/high — предложить создать задачи для исправления.
71
+
72
+ ## Final Check
73
+
74
+ - [ ] Все файлы в scope проверены
75
+ - [ ] OWASP Top 10 проверен
76
+ - [ ] Контроль доступа проверен
77
+ - [ ] Secrets не найдены (или замаскированы)