skills/subagent-driven-development/SKILL.md
Use this skill when decomposing and coordinating multi-step implementation or DevOps work across focused subagents with explicit ownership, handoffs, validation, and final integration checks.
npx skillsauth add chatandbuild/skills-repo Subagent-driven DevelopmentInstall 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.
Coordinate complex DevOps work by decomposing tasks into subagent workflows.
MECE task breakdown. Split the objective into Mutually Exclusive, Collectively Exhaustive subtasks. Each subtask has a single owner (subagent), no overlap with others, and together they cover the full scope. If two subtasks could both modify the same file, refine the split (e.g., by layer, by feature flag, or by file prefix).
Dependency graph for ordering. Build a directed graph: Task A -> Task B means B depends on A's output. Identify the critical path and parallelizable branches. Run tasks with no dependencies first; fan-out to parallel tasks; fan-in when dependencies are satisfied. Use topological sort to determine merge order.
Input/output contract per subagent. For each subagent, define: (1) Inputs: files, config, or artifacts it receives. (2) Outputs: files created, config changes, or artifacts produced. (3) Success criteria: how to verify the output. (4) Side effects: what it must not touch. Write this as a short contract in the subagent prompt.
Fan-out/fan-in. One orchestrator splits work into N parallel subagent tasks. Each subagent produces an artifact. The orchestrator waits for all, then merges or reconciles. Use when tasks are independent and outputs can be combined (e.g., separate config files, different modules).
Pipeline chain. Task 1 -> Task 2 -> Task 3. Each task consumes the previous output. Use when there is a clear sequence (e.g., schema migration -> code update -> test update). Hand off via shared artifacts or explicit output/input declarations.
Shared artifact repository. All subagents read from and write to a shared location (branch, directory, or doc). Define naming conventions and merge rules upfront. Use a single reconciliation step to resolve conflicts, standardize formatting, and produce the final integrated artifact.
CI hardening: Task A (lint config) -> outputs .eslintrc, .prettierrc. Task B (test config) -> outputs jest.config.js, test scripts. Task C (pipeline YAML) -> consumes A and B outputs, produces .github/workflows/ci.yml. Dependencies: C depends on A and B. Run A and B in parallel; then C.
Observability: Task A (metrics) -> instrument app code, add Prometheus client. Task B (logging) -> add structured logger, log format. Task C (dashboards) -> create Grafana JSON. No file overlap; run in parallel. Reconciliation: ensure metric names and log fields align with dashboard queries.
Platform migration: Task A (database) -> migration scripts, connection config. Task B (API layer) -> update routes for new DB. Task C (frontend) -> update API calls. Dependency: B depends on A; C depends on B. Pipeline: A -> B -> C.
Overlapping scope between subagents. Two subagents editing the same file or config cause merge conflicts and inconsistent conventions. Fix by refining boundaries: assign files or modules exclusively, or have one subagent produce a spec and another implement it.
Missing reconciliation step. Raw subagent outputs often differ in style, naming, or assumptions. Always include a reconciliation step: a human or orchestrator reviews, resolves conflicts, and produces the final integrated artifact. Do not merge blindly.
No integration test after merge. Unit-validated subagent outputs can still fail when combined. Run an end-to-end or integration test on the merged result before considering the task done.
Subagent prompts too vague. Prompts like "improve the tests" produce inconsistent results. Use specific instructions: "Add unit tests for UserService.create() covering success, duplicate email, and invalid input. Use Jest. Place in src/user/__tests__/UserService.test.ts."
Ignoring conflicting outputs. When subagents produce contradictory decisions (e.g., different naming schemes, conflicting config values), document the conflict and resolve it explicitly. Do not silently pick one; record the decision for future reference.
## Task Decomposition
| Task | Scope | Inputs | Outputs | Success Criteria |
|------|-------|--------|---------|------------------|
| A | <scope> | <list> | <list> | <verification> |
| B | <scope> | <list> | <list> | <verification> |
## Dependency Graph
A --> C
B --> C
(Parallel: A, B. Sequential: C after A and B.)
## Coordination Plan
- Pattern: fan-out/fan-in | pipeline | shared repo
- Merge order: <order>
- Reconciliation: <who, what, how>
- Review gates: <checks>
## Subagent Contracts (per task)
- Task A prompt: <key instructions>
- Task A I/O: <inputs> -> <outputs>
## Completion Checklist
- [ ] Each sub-task meets acceptance criteria
- [ ] Reconciliation completed, conflicts resolved
- [ ] Integrated artifacts are consistent
- [ ] End-to-end validation passed
tools
Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).
development
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
development
Use this skill when turning messy workout information into clear logs, comparing user-provided sessions, surfacing trends or likely PRs, and suggesting realistic next-session steps.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.