skills/technical-design-doc/SKILL.md
Technical design document methodology — loaded by the planner agent when producing implementation plans for features that warrant architecture documentation, trade-off analysis, and rollout planning
npx skillsauth add bostonaholic/team technical-design-docInstall 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.
A technical design document (TDD) captures the architecture, trade-offs, and rollout plan for a significant feature before implementation begins. Not every feature needs a full TDD — apply this methodology when a feature is complex enough that undocumented architectural decisions would slow or block implementation.
Write a TDD when the feature:
When in doubt: if the plan would benefit from having the architectural decisions documented alongside the steps, write the TDD section.
One to three sentences: what problem does this feature solve, and why does it need to be solved now? This grounds every subsequent decision in context.
Goals: What the feature must accomplish. State measurable outcomes where possible. This section defines scope.
Non-Goals: What the feature explicitly does NOT do. Non-goals are as important as goals — they prevent scope creep and answer "why didn't you also do X?" questions in advance.
Context a reader needs to understand the design: relevant existing components, prior art in the codebase, constraints inherited from other systems. Keep this to what a new contributor would need to evaluate the design choices.
The core of the TDD. Describe the architecture of the solution:
If the feature introduces new data structures, describe them. For databases: table names, columns, types, indexes, foreign keys. For in-memory: type definitions, invariants, lifecycle.
What new interfaces does this feature expose? HTTP endpoints, function signatures, event schemas, CLI commands. Be precise — these become the contract downstream agents implement against.
Which existing components are modified? Which new components are introduced? For each:
For features with non-obvious control flow, describe the sequence of operations from trigger to completion. A numbered list or ASCII sequence diagram works well.
Enumerate the boundary conditions, error paths, and unusual inputs the feature must handle. For each, name the scenario and the chosen behavior. Walk these categories so none gets skipped:
Edge cases that are intentionally out of scope belong in Non-Goals, so downstream agents do not silently expand coverage. A TDD with no edge-case section is incomplete.
Every design choice implies rejected alternatives. For each major decision:
**Decision:** What was chosen.
**Alternatives considered:**
- Alternative A — why rejected
- Alternative B — why rejected
**Risk:** What could go wrong with the chosen approach, and how it is mitigated.
How will this feature be deployed safely?
Unresolved decisions that must be answered before implementation begins. List them explicitly so they are not silently assumed. Each open question should include who must answer it and when.
The planner agent loads this methodology when:
In these cases, the planner produces an enhanced plan that includes TDD sections (trade-offs, data model, rollout) alongside the standard phases, steps, and done criteria.
For smaller features, the standard plan format is sufficient — do not add TDD sections for their own sake. A well-structured plan without TDD overhead is better than an incomplete TDD that delays implementation.
When producing an enhanced plan, add TDD sections after the Context section and before the Steps section:
### Context
...
### Trade-offs
...
### Data Model (if applicable)
...
### Rollout Plan (if applicable)
...
### Steps
...
### Tests
...
### Done Criteria
...
Keep the total plan under 300 lines. If the TDD content would push the plan
over that limit, extract the TDD to a separate file in docs/plans/ and
reference it from the plan.
data-ai
Todo-first progress convention for multi-step procedures — loaded by every multi-step agent to track its own steps without drift
testing
Adversarially review a technical design document with fresh context before the human gate. Dispatches the built-in `general-purpose` subagent (clean context, no shared history with the design-author) against `docs/plans/<id>/design.md` and presents its verdict — APPROVE, REQUEST CHANGES, or COMMENT. Optional, not part of the QRSPI pipeline. Trigger on "review the design doc", "audit design.md", "is this design ready", or `/eng-design-doc-review`.
development
Generator-evaluator separation and review methodology — loaded by review agents to enforce fresh-context review discipline, Conventional Comments format, and gate verdicts
data-ai
Prepare one or more isolated git worktrees — one per repository the topic touches. Router action — no agent. Trigger on "set up the worktree", "isolate this work", or "/team-worktree".