KeiSeiKit-1.0/skills/dev-start/SKILL.md
Parfii-bot a4e667de10 KeiSeiKit-public — clean state
Single-commit clean baseline after security scrub of niche-tells,
project codenames, internal jargon, and contributor-email leaks.

Contents:
- 100 Rust crates (_primitives/_rust/)
- 37 agent manifests (_manifests/) + generated specs (_generated/)
- 67 user-invocable skills (skills/)
- 33 hooks (hooks/)
- Composition blocks (_blocks/)
- Documentation (docs/, README.md)
- TS adapter packages (_ts_packages/)
- Assembler (_assembler/)
- Roles (_roles/)
- Templates (_templates/)
- Forgejo CI (.forgejo/)

Author: Denis Parfionovich <info@greendragon.info>

License: see LICENSE.
2026-05-01 12:09:03 +08:00

197 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: dev-start
description: Parallel-agent project/feature kickoff — 4 agents design contracts, scaffold tests, review security, validate structure BEFORE any code is written. Prevents 80% of audit findings at the root.
---
# /dev-start — Parallel Feature Kickoff
> 80% проблем из аудитов = код написан без подготовки. Нет контрактов, нет тестов, нет security review.
> dev-start запускает 4 агента ПАРАЛЛЕЛЬНО до первой строки кода.
## Команды
- `/dev-start [описание фичи]` → полный kickoff (4 агента)
- `/dev-start lite [описание]` → быстрый (2 агента: contract + tests)
---
## Anti-Hallucination (наследуется от wave-audit)
Каждый агент ОБЯЗАН:
- **CODE_QUOTE** — цитировать существующий код при ссылках на него
- **VERIFY_CMD** — давать команду для проверки каждого утверждения
- **COVERAGE_LOG** — перечислить прочитанные файлы
- **SEVERITY_CALIBRATION** — не раздувать severity
---
## Phase 0 — Context Discovery (lead)
1. Определить стек проекта (читать package.json / go.mod / pubspec.yaml — НЕ из memory)
2. Найти аналогичные фичи в проекте (grep/glob по похожим паттернам)
3. Прочитать CLAUDE.md, DECISIONS.md если есть
4. Сформулировать scope: какие файлы будут затронуты
---
## Phase 1 — Parallel Kickoff (4 агента одним сообщением)
### Agent: `ds-contract`
```
Проект: [path], стек: [стек].
Фича: [описание].
Задача: спроектировать API контракт ДО реализации.
1. Определи ВСЕ types/interfaces которые нужны для фичи
2. Определи API boundaries — какие модули взаимодействуют
3. Проверь существующие типы — НЕ дублируй (SSOT):
- Grep по проекту: есть ли похожие типы?
- Если есть — переиспользуй, НЕ создавай новые
4. Определи data flow: откуда данные → куда → в каком формате
5. Для каждого join/merge — определи ключ (НЕ индекс массива!)
Output:
- Список types/interfaces с полями
- Data flow diagram (текстом)
- Список переиспользуемых типов (с путями)
- Предупреждения о потенциальных N+1 / data integrity issues
CODE_QUOTE существующих типов обязательна.
```
### Agent: `ds-tests`
```
Проект: [path], стек: [стек].
Фича: [описание].
Задача: написать скелет тестов ДО реализации (TDD).
1. Определи critical paths фичи
2. Для каждого path — напиши test case:
- Happy path
- Edge cases (null, empty, boundary values)
- Error cases (network fail, invalid input, timeout)
- Auth cases (unauthorized, wrong role)
3. Определи test framework проекта (jest/vitest/pytest/go test)
4. Создай файлы тестов с описательными `it()`/`test()` — тела пустые (TODO)
Output:
- Список test files с путями
- Содержимое каждого test file (skeleton)
- Какие mocks/fixtures нужны
НЕ пиши реализацию — только тесты.
```
### Agent: `ds-security`
```
Проект: [path], стек: [стек].
Фича: [описание].
Задача: security review ДО написания кода.
1. Классифицируй фичу по risk level:
- HIGH: auth, payments, user data, crypto, file upload
- MEDIUM: API endpoints, forms, search, notifications
- LOW: UI-only, docs, formatting
2. Для HIGH/MEDIUM — чек-лист требований:
- [ ] Input validation — какие поля, какие constraints?
- [ ] Auth/authz — кто может вызывать? какие роли?
- [ ] Rate limiting — нужен? какой лимит?
- [ ] Data exposure — что НЕ должно попасть в response?
- [ ] Secrets — нужны ли новые ключи/токены? Где хранить?
- [ ] Crypto — если JWT/подписи: verify ОБЯЗАТЕЛЕН (НЕ decode)
- [ ] Pagination — max limit обязателен
3. Проверь существующие auth/security паттерны в проекте:
- Как другие endpoints делают auth?
- Есть ли middleware? Используется ли?
- Есть ли rate limiting? Работает ли? (grep по коду)
Output:
- Risk level фичи
- Security requirements checklist (заполненный)
- Паттерны из проекта которые НАДО переиспользовать
- Антипаттерны из проекта которые НЕ НАДО повторять
- CODE_QUOTE существующих security паттернов
```
### Agent: `ds-structure`
```
Проект: [path], стек: [стек].
Фича: [описание].
Задача: спланировать файловую структуру.
1. Определи какие файлы нужно создать / изменить
2. Для каждого файла — оценка LOC:
- Если >150 LOC predicted → split на 2+ файла СРАЗУ
- Если функция >25 LOC predicted → split на подфункции СРАЗУ
3. Проверь Constructor Pattern:
- 1 файл = 1 класс = 1 ответственность
- Types отдельно от реализации
- Нет ли существующих файлов >200 LOC которые фича усугубит
4. Проверь зависимости:
- Нужны ли новые пакеты?
- Есть ли уже установленные пакеты для этой задачи?
- Нет ли dead dependencies которые можно переиспользовать?
Output:
- File plan: [path] — [responsibility] — [estimated LOC]
- Files to modify: [path] — [current LOC] → [estimated LOC after]
- Constructor Pattern warnings
- Dependency recommendations
```
---
## Phase 2 — Synthesis (lead)
1. Собрать выводы 4 агентов
2. Проверить конфликты:
- ds-contract предлагает тип, ds-security говорит не экспонировать поле?
- ds-structure предлагает файл, ds-tests ожидает другой путь?
3. Сформировать **Development Brief**:
```
=== DEVELOPMENT BRIEF ===
Feature: [название]
Risk: HIGH/MEDIUM/LOW
## Contracts
[types/interfaces from ds-contract]
## Test Plan
[test files from ds-tests]
## Security Requirements
[checklist from ds-security]
## File Plan
[structure from ds-structure]
## Warnings
[potential issues caught before coding]
## Ready to code: YES/NO
[если NO — что нужно решить сначала]
```
4. Показать пользователю для approve
5. ТОЛЬКО после approve → начинать кодить
---
## Safety Constraints
- НЕ писать код до завершения Phase 2
- НЕ создавать новые типы если есть существующие (SSOT)
- НЕ добавлять зависимости без обоснования
- НЕ пропускать ds-security для HIGH risk фич
- При конфликте между агентами — спросить пользователя