skills/feature-execution/SKILL.md
Orchestrate feature delivery as team lead: spawn agents by wave, manage review cycles (max 3 rounds), commit per wave. Use when: "выполни фичу", "do feature", "execute feature", "запусти фичу", "выполни все задачи", "execute all tasks"
npx skillsauth add pavel-molyanov/molyanov-ai-dev feature-executionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a dispatcher, not a doer. Your job: spawn agents, wait for results, update status, commit orchestration changes, communicate with user.
Allowed actions:
Forbidden actions:
Reason: when the lead does task work, it pollutes context with implementation details, loses orchestration state, and breaks the parallel execution model. Every task — no matter how trivial — gets a spawned teammate.
Check work/{feature}/logs/checkpoint.yml:
last_completed_wave > 0 → this is a resume after context compaction.
Read checkpoint, then read work/{feature}/decisions.md to confirm what was actually completed.
For tasks in the resumed wave: if a task has a decisions.md entry, it completed — update its
frontmatter to done and skip it. Only re-execute tasks without a decisions.md entry.
Check if ~/.claude/teams/{team_name}/config.json exists: if yes, team is alive; if no,
recreate via TeamCreate. Skip to Phase 2 starting from next_wave.
Report to user: "Resuming from wave {N}. Waves 1-{N-1} completed."last_completed_wave: 0 → fresh start, proceed below.Read work/{feature}/tech-spec.md and work/{feature}/user-spec.md
Read frontmatter of all task files in work/{feature}/tasks/ — extract fields:
| Field | Purpose |
|-------|---------|
| status | planned → in_progress → done |
| wave | Parallel execution group number |
| depends_on | Task numbers that must be done first |
| skills | Skills the teammate loads |
| reviewers | Reviewer agents to spawn (source of truth) |
| teammate_name | Agent name for team spawning (optional) |
| verify | Verification types: [smoke], [user], [smoke, user], or [] (optional) |
Build waves: group tasks by wave field. Within a wave, all tasks run in parallel.
Build execution plan following template at ~/.claude/shared/work-templates/execution-plan.md.template
Save to work/{feature}/logs/execution-plan.md
Show plan to user, wait for approval
Create team via TeamCreate
Update work/{feature}/logs/checkpoint.yml: set total_waves from the execution plan.
Checkpoint: execution plan approved, team created, checkpoint initialized.
Find tasks for current wave: status: planned, all depends_on tasks are done
Update frontmatter: status: planned → status: in_progress. Read only frontmatter (limit=15), then Edit the status field. Do not read full task content.
For each task, spawn teammate + reviewers (if task has reviewers):
Use teammate_name from task frontmatter as the agent name. If not set — pick a descriptive name based on the task.
Teammate — subagent_type: "general-purpose", model: "opus", team_name: "{team}"
Prompt template:
You are "{name}" executing task {N}.
Read task: {feature_dir}/tasks/{N}.md
Load skills listed in task frontmatter. If skills listed — follow the loaded skill workflow.
If no skills listed — follow the task instructions directly (the task file contains detailed steps).
If the task requires user actions — send the instruction to team lead via SendMessage.
Team lead will forward to user and return confirmation.
{reviewers_block}
After task complete:
- Write entry to {feature_dir}/decisions.md (follow template at ~/.claude/shared/work-templates/decisions.md.template).
Summary: 1-3 sentences describing what was done and key decisions. Link JSON reports for review details.
- Message team lead: "Task {N} complete. decisions.md updated."
Feature dir: {feature_dir}
{reviewers_block} — include only when task has reviewers (not reviewers: none):
Your reviewers: {reviewer_names} (list of teammate names).
Review process — after task is complete, follow this review process (overrides review steps from loaded skills):
1. Run `git diff -- <your files>` and collect the list of changed files + full diff output.
2. Send each reviewer via SendMessage: list of changed files + full diff output.
3. Reviewers will perform review, write JSON report to `{feature_dir}/logs/working/task-{N}/{reviewer_name}-round{round}.json`, and send report path back to you.
4. Read reports, fix findings. After fixes: send updated diff to reviewers for next round.
5. Max 3 review rounds. Reason: diminishing returns — if 3 rounds cannot resolve findings, the issue requires human judgment. If unresolved after 3 → message team lead to escalate.
Commit flow:
1. After implementation complete (tests pass): git commit `feat|fix: task {N} — {brief description}`
2. Send diff to reviewers for review.
3. After each round of fixes (tests pass): git commit `fix: address review round {M} for task {N}`
4. After all reviews pass (or max 3 rounds): git commit review reports with message `chore: review reports for task {N}`
If task has reviewers: none — skip reviewer spawning. The teammate works independently, commits code with message feat|fix: task {N} — {brief description} (tests pass), and reports completion directly to team lead.
Every task gets a spawned teammate — even tasks with no skills and no reviewers (operational tasks, MCP interactions, benchmarks, manual steps). The lead never executes task work directly.
Each reviewer (when present) — subagent_type: "general-purpose", model: "sonnet", team_name: "{team}"
Reviewer skill mapping (reviewer name → skill to load):
code-reviewer → code-reviewingsecurity-auditor → security-auditortest-reviewer → test-masterprompt-reviewer → prompt-masterdeploy-reviewer → deploy-pipelineinfrastructure-reviewer → infrastructure-setupskill-checker → skill-masterdocumentation-reviewer → documentation-writingPrompt template:
You are reviewer "{name}" for task {N}.
Load your review methodology: Skill(skill="{reviewer_skill}")
Read specs: {feature_dir}/user-spec.md, {feature_dir}/tech-spec.md
Read task: {feature_dir}/tasks/{N}.md
Wait for a message from teammate "{teammate_name}" with git diff of changes.
When you receive it:
1. Review changes following the loaded skill methodology
2. Write JSON report to: {feature_dir}/logs/working/task-{N}/{reviewer_name}-round{round}.json
3. Send report path to teammate "{teammate_name}" via SendMessage
The teammate may send updated diffs for subsequent rounds (max 3).
Review each round the same way. After the final round, shut down.
All agents work in parallel. Lead waits for teammates to report "Task complete."
Audit Wave tasks (Code Audit, Security Audit, Test Audit) have reviewers: none — each auditor teammate IS the review. Spawn them as standard teammates (general-purpose, opus), each loads its methodology skill.
Each auditor:
{feature_dir}/logs/working/audit/{auditor-name}.jsonAfter all 3 reports:
When lead spawns an agent outside the original execution plan (to fix audit findings, handle escalations, complete missing work):
code-writing, reviewers: code-reviewer, security-auditor, test-reviewerprompt-master, reviewers: prompt-reviewerskill-master, reviewers: skill-checkerdeploy-pipeline, reviewers: deploy-reviewerinfrastructure-setup, reviewers: infrastructure-reviewer, security-auditorCheckpoint: all teammates reported "Task complete", decisions.md entries written.
status: in_progress → status: done. Read only frontmatter (limit=15), then Edit the status field. Do not read full task content.chore: complete wave {N} — update task statuses and decisions. Code is already committed by teammates.work/{feature}/logs/checkpoint.yml: set last_completed_wave, update task statuses, set next_wave.Checkpoint: all wave tasks done, committed, checkpoint updated.
All waves done including Final Wave (QA, deploy if applicable, post-deploy verification if applicable).
work/{feature}/logs/checkpoint.ymlCall user when:
When escalating:
chore: escalate task {N} — unresolved after 3 fix roundsdevelopment
Creates user-spec.md through adaptive interview with codebase scanning and dual validation. Use when: "сделай юзер спек", "проведи интервью для юзер спека", "создай юзерспек", "user spec", "detailed planning", "хочу продумать фичу", "опиши требования к фиче", "сделай описание фичи", "/new-user-spec" For tech planning use tech-spec-planning. For project planning use project-planning.
testing
Testing methodology: when to write which tests, how to ensure test quality, test pyramid strategy. Use when: "напиши тесты", "как тестировать", "проанализируй тесты", "проверь качество тестов", "ревью тестов", "тестовая стратегия"
testing
Creates tech-spec.md with architecture, decisions, testing strategy, and implementation plan. Use when: "сделай техспек", "составь техспек", "техническая спецификация", "tech spec", "создай тз", "составь тз", "new-tech-spec", "/new-tech-spec" Requires existing user-spec.md as input (create with user-spec-planning skill first if missing).
tools
Decompose approved tech-spec into atomic task files with parallel creation and validation. Use when: "разбей на задачи", "декомпозиция", "decompose tech-spec", "создай задачи из техспека", "/decompose-tech-spec"