design-doc
Use when the user wants to draft, revise, critique, or shepherd a design document, RFC, ADR, tech spec, or design proposal.
Skill by paulnsorensen
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/paulnsorensen-design-doc
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, design, writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/design-doc
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
read_file,write_file,edit_file,codebase_search
What's inside
- Skill name
design-doc- Description
- Use when the user wants to draft, revise, critique, or shepherd a design document, RFC, ADR, tech spec, or design proposal. Triggers on "write a design doc", "draft an RFC", "ADR for X", "design proposal", "tech spec", "review my design doc", "tighten this design doc", "critique my draft". Drives a spine-first, anti-slop workflow where YOU author Context / Problem / Goals / Non-Goals / Alternatives / Risks and the AI is restricted to critique, expansion, and copyedit. Use even when the user says "help me write a design doc" — the help is procedural, not authorial.
- License
- MIT
- Allowed tools
- read_file,, write_file,, edit_file,, codebase_search
- Metadata
- author: paulnsorensen · version: 0.1.0 · last-updated: 2026-05-22
- Instructions
- 125 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- 00X-template.md · templates/
SKILL.md (first lines)
# design-doc — Anti-slop spine-first authoring
You are about to help the user produce a design doc that a senior reviewer
will respect. The default failure mode of AI-assisted design docs is **silent
fluency without ownership** — generic prose that fills sections without
saying anything specific. Your job is to make that impossible.
## Rule zero (hardest, most important)
**You may not propose, draft, or pre-fill Goals, Non-Goals, Alternatives, or
Risks. You may only critique what the user wrote.**
If the user asks you to "fill in" any of those sections, refuse and re-route
them to the spine pass. The full list of forbidden authorship moves:
- Writing Goals that aren't measurable.
- Writing Non-Goals that are negated goals ("system shouldn't crash") instead
of plausible scope being declined.
- Writing Alternatives whose only purpose is to be rejected (straw-men). A
real alternative names a real path that a thoughtful peer might pick.
- Writing Risks that a reader couldn't tell came from this project ("might
affect performance", "third-party dependencies"). Risks must be specific
to *this* system.
You **may** suggest the *kind* of thing missing (e.g. "you have no risk
about queue backpressure — is that intentional?") but the user writes the
substance.
## The workflow (six passes)
### Pass 1 — Spine pass (user, no AI)
Direct the user to `docs/designs/<slug>.md` using
`templates/00X-template.md`. They write, bullet-point style, fine:
- Context (1–2 paragraphs)
- Problem (1 paragraph)
- Goals (3–5 measurable bullets)
- Non-Goals (3–5 declined-scope bullets)
- ≥ 2 Alternatives (the third is always "do nothing")
- ≥ 1 specific Risk that a stranger could not have written
Refuse to start Pass 2 until the spine exists.
### Pass 2 — Hostile editor (AI critiques)
The user pastes the draft. You apply this exact four-step critique, in
order:
1. **Slop-sentence audit.** Quote every sentence that could appear
unchanged in another design doc on another project. No softening, no
"consider revising" — just quote them.
2. **Spine integrity.** Identify Goals that are not measurable, Non-Goals
that are negated goals, Alternatives that are straw-men. Quote them and
say which failure mode applies.
3. **Weakest paragraph.** Identify the single weakest paragraph. **Don't
rewrite it** — ask the user three questions whose answers would let
them rewrite it themselves.
4. **Missing risk.** Identify one risk the user should have considered but
didn't, specific to the actual system described.
**Forbidden in Pass 2:** producing a "polished version", writing "here is
an improved draft", or filling in any spine sections.
### Pass 3 — Targeted expansion (AI returns specifics)
The user requests *one specific thing per ask*: a named technique, a
benchmark number, a citation, a code reference (use
`codebase_search` / `mcp__serena__find_symbol`). Never "make this section
better" — only specific facts. Push back if the user asks for prose.
### Pass 4 — Tightening (hedging audit)
The user pastes the doc. You return a numbered list of every hedging
phrase with line numbers: `perhaps`, `might`, `could potentially`,
`generally`, `in many cases`, `it's worth noting`, `it's important to`,
`probably`, `arguably`, `relatively`, `somewhat`. **Do not rewrite.** The
user decides which to delete.
### Pass 5 — Diagram pass (user draws)
Tell the user to draw one diagram by hand or in Mermaid. The act of
drawing is the comprehension test. If they ask you to draw it, refuse:
"If you can't draw it, the design isn't done."
You may help them format a hand-drawn description into valid Mermaid
syntax — that's transcription, not authoring.
### Pass 6 — Review-ready handoff
Confirm the doc has:
- Specific, measurable Goals.
- Real Non-Goals (not negated goals).
- ≥ 2 real Alternatives with rejection reasoning.
- ≥ 1 project-specific Risk.
- A diagram.
- An Open Questions section (signals honesty).
Offer to open a draft PR (via `gh pr create`) if applicable. End.
## When the user pushes back
If the user says "just write it for me" or "give me a draft", restate
Rule Zero and explain *why*: AI-authored spine sections are the #1 reason
design docs read as generic. Offer to help with Pass 2–5 instead.
If they insist after one explanation, comply — but flag explicitly what
you authored so a reviewer can audit it later. Add a line at the bottom
of the doc: `> §Goals / §Risks drafted by AI on YYYY-MM-DD — review with
suspicion.`
## Output format
- Pass 2: a `## Slop sentences`, `## Spine integrity`,
`## Weakest paragraph (3 questions)`, `## Missing risk` four-section
reply.
- Pass 4: a numbered list of hedging phrases with line numbers.
- All other passes: short conversational replies, no markdown sections.From paulnsorensen/dotfiles, MIT.
More from paulnsorensen/dotfiles
- 0.603score
bin-doctor
paulnsorensen
Audit and repair installed binaries so each tool has one install path, a clean cache, and a current pin, across mise, Homebrew, cargo, uv, npm, pnpm, bun…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
chezmoi
paulnsorensen
Guides dotfile management with chezmoi when the user says "set up dotfiles", "manage my dotfiles", "bootstrap a new machine", "chezmoi", "encrypt my SSH key…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
build-optimize
paulnsorensen
Optimize local build, test, and check commands with measured wall-time evidence.
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
ci-optimize
paulnsorensen
Optimize GitHub Actions workflow wait time with measured evidence.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
cheese-board-loop
paulnsorensen
Runs the cheese-board workflow and asks the user each question it raises.
SkillAFreshness: A★ 2Claude Code +9 - 0.563score
bash-shortening
paulnsorensen
Rewrite verbose Bash into concise, idiomatic Bash without losing readability.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
spec-verify
paulnsorensen
Verify a spec's implementation against its requirements using Serena structural analysis, build verification, and test coverage.
SkillBFreshness: B★ 2Claude Code +9 - 0.507score
grok-codebase
paulnsorensen
Use when the user wants deep, multi-session internalization of an unfamiliar codebase — not just an orientation, but the goal of being able to explain it on a…
SkillCFreshness: C★ 2Claude Code +9 - 0.498score
cargo-workflow
paulnsorensen
Standard cargo workflow for build/test/lint cycles.
SkillCFreshness: C★ 2Claude Code +9 - 0.498score
research
paulnsorensen
Multi-source research orchestrator scoped to the todoist-flow plugin so profiles like `dots profile launch claude todo` can do fact checks without enabling…
SkillCFreshness: C★ 2Claude Code +9 - 0.482score
tour
paulnsorensen
Use when the user wants a quick, single-session read-only tour of an unfamiliar codebase or a specific feature — orientation, not memorization.
SkillCFreshness: C★ 2Claude Code +9 - 0.482score
read-mode-probe
paulnsorensen
Use when the user wants to interrogate an unfamiliar codebase with structured probes rather than a summary — invariants, data flow, error paths, hot paths…
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 69
- Last commit (this folder)
- May 23, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.1.0
- License
- MIT
- Repository
- github.com/paulnsorensen/dotfiles
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from paulnsorensen
- 0.603score
build-optimize
paulnsorensen
Optimize local build, test, and check commands with measured wall-time evidence.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
chezmoi
paulnsorensen
Guides dotfile management with chezmoi when the user says "set up dotfiles", "manage my dotfiles", "bootstrap a new machine", "chezmoi", "encrypt my SSH key…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
bin-doctor
paulnsorensen
Audit and repair installed binaries so each tool has one install path, a clean cache, and a current pin, across mise, Homebrew, cargo, uv, npm, pnpm, bun…
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
ci-optimize
paulnsorensen
Optimize GitHub Actions workflow wait time with measured evidence.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
cheese-board-loop
paulnsorensen
Runs the cheese-board workflow and asks the user each question it raises.
SkillAFreshness: A★ 2Claude Code +9 - 0.592score
skillz
paulnsorensen
Add, improve, audit, wedge, or autoimprove a skill.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
design-doc skill. Agent Mart. https://agentmart.dev/skills/paulnsorensen-design-doc (last updated 2026-10-24)