使い方
- インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
- 必要なツール、認証情報、対応環境を原文で確認します。
- 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/bostonaholic/skills --skill writing-technical-design-docs開始前の確認
- 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
- スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。
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.
- Status banner first:
Status: Draft v0.1 (seeking [direction | implementation | rollout] feedback). It tells reviewers not to send line edits.
- Lead with the decision: right after the problem statement, the
chosen approach in 3 to 5 sentences. Everything else is justification or detail.
- Mark depth:
[deep]on sections that warrant rigor,[sketch]on
sections deliberately light, so reviewers know where to push.
- 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.
- 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.
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.




