Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add liqiongyu/lenny_skills_plus --skill "writing-specs-designs"
Install specific skill from multi-skill repository
# Description
Create a build-ready spec + design doc pack (low-fi diagram, user flows/states, prototype brief, acceptance criteria) for a feature or UX change. Use for spec, design doc, feature spec, technical spec, interaction spec.
# SKILL.md
name: "writing-specs-designs"
description: "Create a build-ready spec + design doc pack (low-fi diagram, user flows/states, prototype brief, acceptance criteria) for a feature or UX change. Use for spec, design doc, feature spec, technical spec, interaction spec."
Writing Specs & Designs
Scope
Covers
- Producing a Spec & Design Doc Pack that helps product, design, and engineering quickly reach shared clarity
- Converting “insights” into concrete artifacts: a low‑fidelity diagram, flows/states, prototype plan, and testable acceptance criteria
- Mobile-specific tap economy (when relevant): explicitly optimizing taps and interaction cost
When to use
- “Write a spec / feature spec / technical spec for this feature.”
- “Turn these notes into a design doc that engineering can build from.”
- “Create a shaping-style doc with a diagram of the moving pieces.”
- “We need a prototype plan to evaluate the feel of this interaction.”
When NOT to use
- You’re still validating what problem to solve (do discovery / problem definition first).
- You need a high-level strategy/vision document (do product vision / north star work first).
- You need a deep engineering architecture design (APIs, schemas, scaling, reliability) rather than product interaction clarity.
- You only need pixel-perfect UI mocks (this produces specs and structured guidance, not final visuals).
Inputs
Minimum required
- Feature/change: 1–2 sentence description
- Target users + primary use case (happy path)
- Platform(s): web / iOS / Android / desktop (call out mobile explicitly)
- Goals + non-goals (v1 boundaries)
- Constraints: timeline, dependencies, policy/legal/privacy, technical constraints
- Success metrics (1–3) + guardrails (2–5)
Missing-info strategy
- Ask up to 5 questions from references/INTAKE.md, then proceed.
- If key info remains missing, state assumptions explicitly and provide 2–3 options (scope/flows/prototype approach).
Outputs (deliverables)
Produce a Spec & Design Doc Pack in Markdown (in-chat; or as files if the user requests):
1) Context snapshot (problem, why now, goals/non-goals, constraints, stakeholders)
2) Low‑fidelity diagram of the moving pieces (≤10) + key decisions
3) User flows + states (happy path + top edge cases) with clear entry/exit points
4) Prototype brief (what to prototype, fidelity, timebox, data realism, success criteria)
5) Requirements + acceptance criteria (testable; must/should/could)
6) Measurement plan (metrics → data/events → owner → cadence)
7) Risks / Open questions / Next steps (always included)
Templates: references/TEMPLATES.md
Workflow (8 steps)
1) Choose the smallest artifact set that unblocks the team
- Inputs: User request + constraints.
- Actions: Decide whether to deliver: (a) Spec & Design Doc only, or (b) Spec & Design Doc + Prototype Brief emphasis (feel-critical).
- Outputs: Artifact selection + rationale.
- Checks: Artifacts match the decision being made (alignment vs build execution vs interaction feel).
2) Intake + context snapshot
- Inputs: references/INTAKE.md.
- Actions: Ask up to 5 questions; confirm audience/DRI, platform(s), constraints, and success metrics/guardrails.
- Outputs: Context snapshot section.
- Checks: You can state the problem, user, and success measure in 1–2 sentences.
3) Lock scope boundaries (and define “tap budget” if mobile)
- Inputs: Context snapshot.
- Actions: Write goals, non-goals, out-of-scope, assumptions, dependencies. For mobile flows, define a “tap budget” (max taps to value) and where attention is most fragile.
- Outputs: Scope boundaries + (optional) tap budget.
- Checks: “What we are NOT doing” is explicit; mobile value path has a clear tap target.
4) Draft the low‑fidelity diagram (the “shaping” output)
- Inputs: Scope + constraints.
- Actions: Produce a diagram that shows the moving pieces (≤10), data/hand-offs, and where UX decisions matter. Avoid pixel-level UI; prefer clarity of structure.
- Outputs: Low‑fidelity diagram + annotated decisions.
- Checks: A partner can say “I know what to build” without a meeting.
5) Specify user flows + states (make edge cases concrete)
- Inputs: Diagram + use case(s).
- Actions: Document entry points, happy path, and top edge cases; include error/empty/loading states, permissions, and copy notes where ambiguity causes bugs.
- Outputs: Flow + state table(s).
- Checks: Another person can role-play the flow; each edge case has an intended outcome.
6) Write the prototype brief (only where “feel” matters)
- Inputs: Flows/states + unknowns.
- Actions: Identify the 1–3 riskiest interaction uncertainties; specify prototype type (low-fi, hi-fi, or in-code), timebox, realism (use real data where possible), and what “good” feels like.
- Outputs: Prototype brief.
- Checks: Prototype plan is testable (scenarios + success criteria), and explicitly disposable if using throwaway code.
7) Convert into testable requirements + acceptance criteria
- Inputs: Flows/states + prototype learnings (if any).
- Actions: Write requirements with acceptance criteria (must/should/could). Include non-functional needs (accessibility, performance, privacy) and instrumentation needs.
- Outputs: Requirements section.
- Checks: Engineering/QA can derive test cases without re-interpreting intent.
8) Quality gate + finalize for circulation
- Inputs: Full draft pack.
- Actions: Run references/CHECKLISTS.md and score with references/RUBRIC.md. Add Risks/Open questions/Next steps and clearly mark decisions vs assumptions.
- Outputs: Final Spec & Design Doc Pack (shareable as-is).
- Checks: Owners, metrics, and open questions are explicit; the diagram + flows remove the biggest ambiguities.
Quality gate (required)
- Use references/CHECKLISTS.md and references/RUBRIC.md.
- Always include: Risks, Open questions, Next steps.
Examples
Example 1 (mobile flow): “Write a spec + design doc for a new ‘invite friends’ flow in our iOS app. Goal: increase successful invites; minimize taps to first value.”
Expected: tap budget + flow/state tables, a low-fi diagram of screens/transitions, and a prototype brief for the critical interaction.
Example 2 (B2B web feature): “Create a design doc/spec for ‘bulk edit roles’ for admins. Include edge cases and acceptance criteria.”
Expected: permissions-focused flows/states, requirements with acceptance criteria, and a measurement plan.
Boundary example: “Write a spec to ‘improve engagement’ (no product context, no user, no success metric).”
Response: ask the minimum intake questions; if still missing, provide 2–3 scoped options + assumptions and recommend upstream discovery before committing to a spec.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.