From writing
Writes a project or product specification — a "cahier des charges": the requirements document a client or product owner hands a provider. Captures objectives, scope (in and out), functional and non-functional requirements, deliverables, constraints, acceptance criteria and planning, then challenges each requirement for testability, atomicity and completeness. Use to formalize a need into a contractable spec. Do NOT use for end-user manuals (use user-guide), developer/architecture docs (use technical-document), or a repository README.
How this skill is triggered — by the user, by Claude, or both
Slash command
/writing:specificationsonnetThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turns a need into a structured, contractable specification (cahier des charges). Elicits the missing context, drafts the document with uniquely identified and prioritized requirements, then runs an adversarial pass so every requirement is unambiguous, atomic and verifiable.
Turns a need into a structured, contractable specification (cahier des charges). Elicits the missing context, drafts the document with uniquely identified and prioritized requirements, then runs an adversarial pass so every requirement is unambiguous, atomic and verifiable.
| # | Action | Role | Input |
|---|---|---|---|
| 01 | elicit | Gather objectives, stakeholders, scope, constraints, budget/timeline | the need / brief |
| 02 | draft | Write the specification from the structure | elicited context |
| 03 | challenge | Adversarial pass — testability, atomicity, scope, contradictions | a draft spec |
Linear: 01 → 02 → 03. elicit may pause for the user's answers; challenge can run standalone on an existing spec.
Trigger-to-action mapping:
elicitelicitchallenge${CLAUDE_PLUGIN_ROOT}/references/doc-principles.md and references/spec-structure.md first.${CLAUDE_PLUGIN_ROOT}/skills/specification/references/output-style.md for voice and formatting by default. To inject a different one, pass --style <path> in $ARGUMENTS; load that file and follow it instead.--format icml exports the finished cahier des charges to ICML (Adobe InCopy/InDesign) via pandoc — see ${CLAUDE_PLUGIN_ROOT}/references/export-icml.md. Markdown stays the source.FR-1, NFR-1; priority via MoSCoW (Must/Should/Could/Won't).elicit asks blocking questions in a single numbered list, then waits.references/spec-template.md — the fillable French cahier-des-charges skeleton (base structure)references/spec-structure.md — the sections of the specification and the rules for requirements${CLAUDE_PLUGIN_ROOT}/skills/specification/references/output-style.md — default voice/formatting (override with --style <path>)${CLAUDE_PLUGIN_ROOT}/references/doc-principles.md — shared documentation ethosevals/scenarios.jsonProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub rebellioussmile/my-claude-marketplace --plugin writing