bostonaholic/skills

writing-technical-design-docs

Drafts technical design docs that are directionally correct, not perfect, deciding one-way doors, deferring two-way doors, and naming unknowns.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
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.

  1. Status banner first:

Status: Draft v0.1 (seeking [direction | implementation | rollout] feedback). It tells reviewers not to send line edits.

  1. Lead with the decision: right after the problem statement, the

chosen approach in 3 to 5 sentences. Everything else is justification or detail.

  1. Mark depth: [deep] on sections that warrant rigor, [sketch] on

sections deliberately light, so reviewers know where to push.

  1. 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.

  1. 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.

タスクに関連する項目

同じリポジトリから

関連する Skills

すべての Skills
bostonaholic
コミュニティ

auditing-complexity

Ranks where code complexity concentrates in a git repository (cyclomatic complexity, nesting, fan-out, mutable state) and scores CRAP change risk from a coverage file. Read-only. Use when asked for complexity hotspots or change risk. Not for test value; use auditing-tests.

1時間の導入数
1
GitHub Stars
2
更新日
10月20日
bostonaholic
コミュニティ

composing-agent-prompts

Composes a self-contained, source-cited task prompt for another coding agent to execute in a target repository, without running the task. Use when the user asks to write, draft, or hand off a prompt, brief, or task spec for another agent. Not for system prompts; use writing-system-prompts.

1時間の導入数
1
GitHub Stars
2
更新日
10月20日
bostonaholic
コミュニティ

conducting-deep-research

Conducts source-backed, goal-directed research that combines a scholarly evidence review with an institution, company, or funding map. Use when a request needs both an evidence review and an organization or funding map. Not for quick lookups or general research write-ups.

1時間の導入数
1
GitHub Stars
2
更新日
10月20日
bostonaholic
コミュニティ

cutting-skills

Audits or trims an existing agent skill to its behavioral core and narrows over-broad trigger metadata. Use when the user asks to cut, simplify, shorten, de-slop, or reduce the context cost or trigger aggressiveness of a SKILL.md or skill folder. Never infer from a skill being long or edited for another purpose.

1時間の導入数
1
GitHub Stars
2
更新日
10月20日