Skip to content
Back to skills

Writing Technical Design Docs

ASecurity

Drafts technical design docs that are directionally correct, not perfect, deciding one-way doors, deferring two-way doors, and naming unknowns. Use when asked to write, draft, or author a design doc, RFC, tech spec, or architecture proposal. Not for reviewing a design; use reviewing-design-docs.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 21, 2026
ai-agentsgoapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 21, 2026

npx -y skills add bostonaholic/skills --skill writing-technical-design-docs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Writing Technical Design Docs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Writing Technical Design Docs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bostonaholic-writing-technical-design-docs/badge)](https://www.skillsdirectory.com/skills/bostonaholic-writing-technical-design-docs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: writing-technical-design-docs
description: Drafts technical design docs that are directionally correct, not perfect, deciding one-way doors, deferring two-way doors, and naming unknowns. Use when asked to write, draft, or author a design doc, RFC, tech spec, or architecture proposal. Not for reviewing a design; use reviewing-design-docs.
---

# Writing Technical Design Docs

A design doc is a decision artifact, not a specification. Its job is to
align people on a direction with enough rigor that work can start and
enough humility that the plan can change. Aim for directionally correct,
not perfect: a 60% draft circulated now gets better feedback than a 95%
draft circulated in three weeks. If the doc takes longer to write than the
first slice of implementation, it is over-engineered.

## Principles

- **Decide the one-way doors; default the two-way doors.** A one-way door
  is hard to reverse (data model, public API, persistence format, identity
  scheme): argue it out. A two-way door is cheap to reverse (timeouts,
  retry counts, internal module boundaries, log format): name the default,
  say it is revisable, and move on. A two-way door debated for more than a
  paragraph gets cut. When unsure what a wrong call would cost to change,
  treat it as one-way.
- **Name unknowns; never fabricate numbers.** Write "QPS unknown, will
  measure in week 1", not "approximately 500 QPS". Reviewers can challenge
  an unknown; a made-up number costs the doc its credibility.
- **Pick a direction and state one alternative.** Name the chosen approach,
  one alternative considered, and a one-line reason it lost: "Using
  Postgres LISTEN/NOTIFY. Considered Kafka; rejected for ops complexity at
  our scale." Do not lay out an option buffet; a reviewer who prefers
  another option will raise it.
- **Concrete but incomplete.** Write the load-bearing scenario end to end
  with its key edge cases, and mark the rest "follows the same pattern" or
  "TBD in implementation".

## Shape

A default to adapt; fold it into the team's own template where one exists.

1. **Status banner first:**
   `Status: Draft v0.1 (seeking [direction | implementation | rollout] feedback)`.
   It tells reviewers not to send line edits.
2. **Lead with the decision:** right after the problem statement, the
   chosen approach in 3 to 5 sentences. Everything else is justification or
   detail.
3. **Mark depth:** `[deep]` on sections that warrant rigor, `[sketch]` on
   sections deliberately light, so reviewers know where to push.
4. **Open Questions:** numbered, each with an owner and the calendar date
   its answer is needed. Five honest open questions beat zero. An owner is
   an assignment, not an unknown fact: when no person can be named, name
   the owning team, the role, or the author, and propose the date from the
   doc's date. Never write TBD for either.
5. **Close with a Reversibility table:** each major decision rated one-way
   or two-way. No section follows it.

Before returning the draft, call the Skill tool with `reviewing-design-docs`
on it for an adversarial review. If it is not installed or cannot run here
(for example, it cannot save the draft to a file), then below a separator
after the doc, say that no independent review was done, why, and the next
step: save the draft to a file, then run `/reviewing-design-docs <path>`.
Without a Skill tool, follow the [skill call rules](shared/skill-calls.md).

## When not to use this skill

- **Compliance, legal, or safety-critical specs:** these need precision,
  not direction. Write a complete, exhaustive spec.
- **Public API contracts shipped to external customers:** a one-way door by
  default; optimize for thoroughness.
- **Post-mortems and incident reports:** backward-looking and factual.
- **Final sign-off architecture docs:** the direction is already set.

Files in this skill

  • SKILL.md3.8 KB
  • agents/openai.yaml262 B
  • shared/skill-calls.md446 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.