plugins/iterative-engineering/skills/tech-planning/SKILL.md
Turn requirements into a structured implementation plan with subtasks, dependencies, file paths, and test scenarios. Triggers: "create a plan", "tech planning", "write a tech plan", or has requirements ready to formalize.
npx skillsauth add tmchow/tmc-marketplace iterative:tech-planningInstall 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.
Turn a PRD or set of requirements into a structured, executable implementation plan. Write as if the implementer has zero context for the codebase — document the decisions, the reasoning, and enough detail that they can start working without asking clarifying questions.
The plan captures WHAT to build and WHERE. The implementer writes the actual code.
iterative:brainstorming skill is completeIf requirements are vague and no PRD exists, offer to start with iterative:brainstorming skill first.
Note on scope: Quick scope skips tech-planning entirely — the user implements directly from the brainstorming conversation. Standard scope may also skip tech-planning if the user chooses to implement directly from brainstorming's summary; tech-planning is invoked only when the user explicitly opts in. Full scope always uses tech-planning. Adapt plan depth to scope: a Standard-scope task doesn't need 5 parent tasks with 3 subtasks each — a flat checklist of 3-5 steps is sufficient. Full scope uses the complete structured plan format. Tech-planning is where the HOW lives — file paths, architecture decisions, implementation steps, test scenarios. This complements brainstorming's WHAT (requirements, scope, decisions).
**Files:** field. Test scenarios without a target test file get skipped during implementationEvery plan must contain:
**Files:** — no test file = tests won't get writtenA plan is ready when an implementer can start working without asking clarifying questions. They know what to build, where to build it, what decisions have been made, and what edge cases to handle. They write the code.
iterative:brainstorming skill.docs/prd/ and docs/brainstorms/ for existing documents. Also check docs/design-directions/ for design direction docs. If a PRD references a design direction doc, read both — the direction doc contains visual/UX decisions that inform implementation. If only a direction doc exists (no PRD), use it as the requirements input alongside any context from the brainstorming conversation.[Affects ...] or implementation-related) should be investigated during codebase exploration below. Non-technical questions that remain unresolved may need the user's input — flag them early.main/master). If so, offer: A) Create a feature branch (recommended), B) Continue on default branch. This is a one-time check — once resolved, all subsequent commits in this session go to the chosen branch. Skip if brainstorming already handled this (i.e., already on a feature branch).references/tech-plan-template.md.docs/plans/YYYY-MM-DD-<topic>-tech-plan.md (ensure directory exists).AskUserQuestion (Claude Code) or request_user_input (Codex): A) Review the plan (recommended), B) Start implementing, C) I'll take it from here (exit).plan-review skill. Plan-review returns findings — tech-planning owns the fix loop.iterative:implementing skill (implementing handles task creation internally after reading the plan).Recommendation logic for step 4. Shift the recommended option based on what the review found:
The PRD is a living document and the source of truth for requirements. Codebase exploration during Phase 1 may reveal that the PRD's chosen direction, scope, or requirements need to change. Keep it in sync — downstream code review validates against it.
The tech plan's **PRD:** header links to the PRD document. If the PRD is updated during tech planning, this link ensures reviewers can find the authoritative requirements.
| Anti-Pattern | Better Approach |
|--------------|-----------------|
| Writing the plan before exploring the codebase | Explore existing code and patterns first |
| Skipping Q&A when PRD exists | Still ask implementation-focused questions |
| Subtasks that are too large (touch 5+ files) | Break into smaller, atomic units |
| Vague descriptions ("implement the feature") | Specific: what to build, which files, what decisions, what edge cases |
| Pre-writing implementation code in the plan | Describe what to build and the decisions; the implementer writes the code |
| Test descriptions without specifics ("test that it works") | Concrete scenarios: specific inputs, expected outputs, edge cases |
| Test scenarios without a test file in Files: | Every feature subtask includes the test file path — no test file = tests won't get written |
| Planning without referencing existing code patterns | Ground every subtask in actual file paths and existing conventions |
| Referencing code by line number (file.ts:42) | Reference by function/class/pattern name — line numbers drift as code changes |
| Over-planning hypothetical scenarios | Plan only what's needed; defer decisions that can wait |
| Diverging from the PRD without updating it | Update the PRD when approach changes — it's the requirements source of truth |
Always present options to the user at transition points using the platform's interactive question tool — AskUserQuestion (Claude Code) or request_user_input (Codex). Never print options as text or end the turn without presenting a choice.
After technical plan is written, and after each review round, present options:
For detailed templates and guidelines, consult:
references/tech-plan-template.md — Full plan document template with examples, subtask granularity guidelines, and quality checklistdata-ai
Investigate open questions through parallel research — prior art, constraints, competitive analysis. Triggers: "research this", "investigate questions", "resolve open questions", "look into this", or when a PRD has unresolved questions.
development
Review PRDs, brainstorm docs, tech plans, design docs, specs, or any planning document for issues. This skill should be used whenever the user wants feedback, critique, or a quality check on an existing planning or requirements document — even if they don't use the word "review." Common triggers include: "review the plan", "check the PRD", "critique my tech plan", "what's wrong with this plan", "poke holes in the requirements", "is this plan solid", "take a look at this spec", "give feedback on the brainstorm", or pointing to a doc file and asking if anything is off. Also triggers after writing a PRD or tech plan (to review what was just created), or when invoked by brainstorming or tech-planning skills. Do NOT trigger for code review (PRs, diffs, source files), writing/creating new plans, debugging, or reviewing non-planning documents (READMEs, CLAUDE.md, test coverage).
development
Execute a tech plan with dependency-aware batching, TDD, code review, and PR creation. Triggers: "implement the plan", "start building", "start implementing", "execute the plan".
testing
Complete a feature branch with test verification and PR creation. Triggers: "finish up", "create a PR", "wrap up the feature". Also invoked by iterative:implementing after all tasks are complete.