agents/skills/design-doc/SKILL.md
Format implementation plans as structured design documents for technical review. Use when planning multi-step features, refactors, migrations, or architectural changes before coding. Produces a design doc with problem context, proposed solution, file map with verified line references, alternatives considered, and phased implementation tasks. Trigger on "plan this out", "write a design doc", "help me plan the approach", "think through the tradeoffs", or any request to reason about how to build something before building it.
npx skillsauth add carterdea/dots 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.
Format implementation plans as structured design documents for technical review and discussion.
/design-doc # Start a new design doc /design-doc "feature name" # Start with a specific feature
Ask the user:
Then do a lightweight codebase scan to understand structure:
This gives you enough context to draft the plan structure. The deep file-level research happens in step 3.
Output the design doc using this exact structure:
Brief description of the problem or opportunity. Overview of the domain and pain points. What is the current solution? What are its shortcomings?
High-level summary of the proposed solution:
Overall summary of the design and major components.
[Include diagram if helpful - ASCII or mermaid]
Describe major request paths, data models, and architectural decisions.
Add subsections for each major component as needed:
Every design doc must include a file map. This is the most actionable section -- it tells the executing agent exactly where to look. Built in step 3 using subagent research.
Existing files needing changes:
path/to/file.ts (lines 12-45) -- what changes and whypath/to/file.test.ts (lines 80-95) -- where new test cases goNew files:
path/to/new_file.ts -- purpose, follows naming convention from path/to/similar_file.tspath/to/new_dir/new_file.ts (new directory) -- purposeConfig/schema/migration files:
path/to/config.json (lines 5-8) -- what gets added or changedGroup by phase if the plan is large. Every entry must come from actual codebase research, not guesses.
| Alternative | Pros | Cons | Why Not Chosen | |-------------|------|------|----------------| | Option A | ... | ... | ... | | Option B | ... | ... | ... |
Every task must reference the specific file(s) it touches. Use the file map above — don't leave the executing agent guessing.
path/to/file.ts (lines X-Y)path/to/new_file.tspath/to/file.ts (lines X-Y), path/to/other.ts (lines X-Y)path/to/new_file.tspath/to/file.test.tsExternal links, research data, or large diagrams that would break flow in the Design section. Do not repeat file paths or line numbers already in the File Map.
After drafting the Implementation Plan, systematically find every file that needs to be touched or created. Use subagents to search in parallel -- one per phase or logical grouping.
Launch Explore subagents (Agent tool with subagent_type: "Explore"), each with a focused query derived from the tasks:
path/to/suggested/dir/ exist? What naming conventions do sibling files use?"Give each subagent enough context about what you're planning to change so it can identify the right lines, not just the right files.
What to include in the file map:
(new directory)Validate directory existence for every new file path. Run ls or use Glob to confirm parent directories exist before listing them in the map.
After collecting subagent results:
### File Map section in the design docAfter generating, ask the user:
Want me to save this as a markdown file in
docs/? (Recommended for larger efforts; skip for small tasks.)
If yes:
docs/{PROJECT_NAME}_PLAN.md (snake_case, lowercase)docs/ directory if it doesn't existAfter generating (and optionally saving):
Once the design doc is finalized and saved, output a Next Step block so the user can quickly kick off execution. Gather git context first:
git branch --show-current git worktree list
Then output:
/execute-plan <plan-file-path>
branch: <current-branch> worktree: <worktree-path> # omit if not in a worktree
<plan-file-path> -- the path where the doc was saved (e.g., docs/cart_upsell_PLAN.md)worktree line -- only include if the current directory is a git worktree (not the main working tree)- [ ]). No exceptions. Do not use plain - bullets for tasks. Every task line starts with - [ ] .[Full document as specified above]
Open questions to discuss:
Ready to refine any section or proceed to implementation?
[After finalization and save, output the Next Step block]
development
Add net-new product, workflow, platform, or developer-experience features as small vertical slices. Use this skill whenever the user asks to build a new feature, add a new page/route/API/workflow/job/eval/operator path, enrich an existing feature with a new user-visible capability, or plan feature architecture before coding. This skill maps the files to change or create, defines the authoritative contract, specifies tests, and gives a QA plan before treating the feature as done.
development
Verify a developer's finished Trello ticket on a non-Shopify web app and render a verdict. Dogfood the posted preview (desktop + mobile) against the card's acceptance criteria, then PASS it (approve the PR, move to Ready for Release) or FAIL it (request changes, attach repro, reassign the dev, move to Development). Read-only: never implements, commits, or opens a PR. Use when asked to 'QA this card', 'test before release', or 'sign off on this ticket'. Shopify themes use shopify-trello-qa; building a ticket uses trello-delivery.
development
Verify a developer's finished Shopify theme ticket and render a verdict. Dogfood the posted preview theme and Customizer (desktop + mobile) against the card's acceptance criteria and Figma, then PASS it (approve the PR, move to Ready for Release) or FAIL it (request changes, attach repro, reassign the dev, move to Development). Read-only: never implements, commits, deploys, or opens a PR. Use when asked to 'QA this Shopify card', 'verify the Ready for Testing card', or 'sign off on this theme ticket'. Non-Shopify apps use trello-qa; building a ticket uses shopify-trello-delivery.
development
Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on source code — never implements, fixes, or refactors anything itself. Use when asked to audit a codebase, find improvement opportunities (bugs, security, performance, test coverage, tech debt, migrations, DX), suggest features or where to take the project next (roadmap, product direction), or generate handoff plans for another agent to implement.