.claude/skills/joycraft-design/SKILL.md
Design discussion before decomposition — produce a ~200-line design artifact for human review, catching wrong assumptions before they propagate into specs
npx skillsauth add maksutovic/joycraft joycraft-designInstall 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 producing a design discussion document for a feature. This sits between research and decomposition — it captures your understanding so the human can catch wrong assumptions before specs are written.
Guard clause: If no brief path is provided and no brief exists in docs/briefs/, say:
"No feature brief found. Run /joycraft-new-feature first to create one, or provide the path to your brief."
Then stop.
Read the feature brief at the path the user provides. If the user also provides a research document path, read that too. Research is optional — if none exists, note that you'll explore the codebase directly.
Spawn subagents to explore the codebase for patterns relevant to the brief. Focus on:
Gather file paths, function signatures, and code snippets. You need concrete evidence, not guesses.
Create docs/designs/ directory if it doesn't exist. Write the design document to docs/designs/YYYY-MM-DD-feature-name.md.
The document has exactly five sections:
What exists today in the codebase that is relevant to this feature. Include file paths, function signatures, and data flows. Be specific — reference actual code, not abstractions. If no research doc was provided, note that and describe what you found through direct exploration.
What the codebase should look like when this feature is complete. Describe the change at a high level — new files, modified interfaces, new data flows. Do NOT include implementation steps. This is the "what," not the "how."
Existing patterns in the codebase that this feature should match. Include short code snippets and file:line references. Show the pattern, don't just name it.
If this is a greenfield project with no existing patterns, propose conventions and note that no precedent exists.
Decisions you have already made, with brief rationale. Format each as:
Decision: [what you decided] Rationale: [why, referencing existing code or constraints] Alternative rejected: [what you considered and why you rejected it]
Things you don't know or where multiple valid approaches exist. Each question MUST present 2-3 concrete options with pros and cons. Format:
Q: [question]
- Option A: [description] — Pro: [benefit]. Con: [cost].
- Option B: [description] — Pro: [benefit]. Con: [cost].
- Option C (if applicable): [description] — Pro: [benefit]. Con: [cost].
Do NOT ask vague questions like "what do you think?" Every question must have actionable options the human can choose from.
Present the design document to the user. Say:
Design discussion written to docs/designs/YYYY-MM-DD-feature-name.md
Please review the document above. Specifically:
1. Are the patterns in Section 3 the right ones to follow, or should I use different ones?
2. Do you agree with the resolved decisions in Section 4?
3. Pick an option for each open question in Section 5 (or propose your own).
Reply with your feedback. I will NOT proceed to decomposition until you have reviewed and approved this design.
CRITICAL: Do NOT proceed to /joycraft-decompose or generate specs. Wait for the human to review, answer open questions, and correct any wrong assumptions. The entire value of this skill is the pause — it forces a human checkpoint before mistakes propagate.
Once the human responds:
/joycraft-decompose with this brief to generate atomic specs."development
Spawn an independent verifier subagent to check an implementation against its spec -- read-only, no code edits, structured pass/fail verdict
development
Assess and upgrade your project's AI development harness — score 7 dimensions, apply fixes, show path to Level 5
testing
Wrap up a session — capture discoveries, verify, prepare for PR or next session
development
Produce objective codebase research by isolating question generation from fact-gathering — subagent sees only questions, never the brief