decision-first-technical-writing
Skill4 starsChanged 6 days agoMITView on GitHub
Create, rewrite, or review internal technical design documents after decisions are settled or while proposals and open questions are explicitly labeled. Use for design docs, architecture proposals, module designs, API or schema designs, and decision records. Route unresolved named-option convergence to grilling (workflow-gate Challenge in convergence mode) and ready-spec task breakdown to writing-plans. Do not use for tutorials, marketing copy, or code-only implementation plans.
In this repository43 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- agent-symlink-initSkill
- code-inspector-initSkill
- commitSkill
- copywritingSkill
- css-tailwind-stylingSkill
- lingui-best-practicesSkill
- lingui-workflowSkill
- repo-skill-creatorSkill
- weekly-reportSkill
- agent-dispatchSkill
- agentic-review-handoffSkill
- agent-practice-auditSkill
- agent-symlink-initSkill
- architecture-hardening-loopSkill
- ardot-mcpSkill
- branch-creatorSkill
- chrome-dev-mcpSkill
- code-inspector-initSkill
- code-plugin-architectureSkill
- commit-pushSkill
- commitSkill
- design-systemSkill
- desktop-agent-activitySkill
- dev-environment-roi-auditSkill
- disk-tidySkill
- figma-mcpSkill
- file-tidySkill
- goal-gateSkill
- grill-autopilotSkill
- kimi-computer-useSkill
- lingui-workflowSkill
- local-web-surfaceSkill
- open-code-review-loopSkill
- prompt-studioSkill
- review-prompt-composerSkill
- task-completion-loopSkill
- uxc-facadeSkill
- web-performance-auditSkill
- weekly-reportSkill
- workflow-gateSkill
- worktree-tidySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 10 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Write technical design documents for two reading passes: a reviewer should understand the decisions and boundaries quickly, while an …
- Very specific: line 15
If the main task is choosing among named options, route to grilling (workflow-gate Challenge in convergence mode).
- Very specific: line 16
If a ready specification or settled requirement needs file-level tasks, implementation steps, or a test plan, route to writing-plans.
- Very specific: line 26
Put only confirmed or explicitly delegated decisions in the decision summary.
- Distinctive: line 29
Treat source material as evidence, not as a template to copy.
- Distinctive: line 30
Keep requirements, design, and implementation planning distinct.
- Distinctive: line 38
Do not force every section into every document.
- Distinctive: line 55
Put only settled decisions in the opening decision summary.
- Distinctive: line 56
Use one consistent vocabulary for lifecycle state, delivery scope, and decision certainty.
- Distinctive: line 57
Use diagrams and tables only when they reduce explanation: structure for relationships, sequence for runtime branches, tables for repeated …
- Distinctive: line 59
Remove draft residue such as stale strikethrough text, contradictory headings, duplicate explanations, and unresolved placeholders.
- Distinctive: line 65
every summary decision has a detailed home.
- Distinctive: line 67
every described runtime branch has an observable result or error.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Decision-First Technical Writing
Write technical design documents for two reading passes: a reviewer should understand the decisions and boundaries quickly, while an implementer should be able to continue into exact behavior and contracts.
Route before writing
- If the main task is choosing among named options, route to
grilling(workflow-gate Challenge in convergence mode). Do not turn an unresolved shortlist into a final design decision. - If a ready specification or settled requirement needs file-level tasks, implementation steps, or a test plan, route to
writing-plans. Do not maintain a second planning format here. - Otherwise continue only when the output is a technical design document and every uncertain statement can remain explicitly labeled
ProposalorOpen question.
Establish the document contract
Infer the audience, settled decision, and scope from the request and available evidence. Ask only when a user-owned fact would materially change the document. Route unresolved option choice as above instead of hiding it inside the document-writing pass.
Before writing:
- Separate verified facts, settled decisions, proposals, and open questions. Never present one category as another.
- Put only confirmed or explicitly delegated decisions in the decision summary. Label unconfirmed content as
ProposalorOpen question; never silently promote it to settled behavior. - Preserve exact identifiers such as package names, types, fields, endpoints, error codes, and repository-relative paths.
- Check any added behavioral guarantee against the source, including ordering, error precedence, timing, and consistency. An omitted mechanism does not imply a stronger guarantee. If the source does not settle it, leave it unspecified or mark it
ProposalorOpen questioneverywhere it appears; do not encode it as settled in a sequence, schema, or diagram while disclaiming the decision elsewhere. - Treat source material as evidence, not as a template to copy. Distill reusable structure and rewrite in the user's language.
- Keep requirements, design, and implementation planning distinct. Link to source requirements when available instead of reproducing them.
Choose the depth
- For a new document or substantial restructure, read references/decision-first-design-doc.md before drafting.
- For a focused edit, use only the relevant rules from this file unless the request changes document structure.
- For a review, report concrete contradictions, missing contracts, or hidden decisions; do not rewrite unless asked.
Do not force every section into every document. Include a section only when it helps the target reader make or implement the decision.
Write in decision order
Organize information in this order when applicable:
- Inputs and core decisions.
- Scope, non-goals, and ownership boundaries.
- Static model and code landing points.
- Runtime behavior, including branches and failure paths.
- Exact data, API, and error contracts.
- Migration, rollback, validation, and unresolved decisions.
Lead each major section with its conclusion. Follow with the minimum reasoning and detail needed to make that conclusion reviewable.
Preserve scanability
- Put only settled decisions in the opening decision summary. List pending choices separately.
- Use one consistent vocabulary for lifecycle state, delivery scope, and decision certainty; do not blend these axes.
- Use diagrams and tables only when they reduce explanation: structure for relationships, sequence for runtime branches, tables for repeated comparisons, and code blocks for exact contracts.
- Repeat a decision only as a short local implication. Give each decision one primary detail section.
- Remove draft residue such as stale strikethrough text, contradictory headings, duplicate explanations, and unresolved placeholders.
Verify the result
Before delivering, perform an added-guarantee audit of the final artifact, including prose, tables, schemas, and diagrams. Check whether words such as before, after, only, always, 先, 后, 仅, or 始终 add precedence, exclusivity, or consistency beyond the source. Judge the semantic guarantee, not the word itself. Remove unsupported guarantees or mark them uncertain at each occurrence; a disclaimer elsewhere does not undo a definite statement. When ordering is unsettled, describe conditions and outcomes in an unordered table instead of an ordered flow or sequence. Then check that:
- every summary decision has a detailed home;
- ownership and scope remain consistent across prose, diagrams, schemas, and APIs;
- every described runtime branch has an observable result or error;
- field names and types agree across data and API contracts;
- pending choices are not encoded as finalized behavior;
- unverified claims are labeled rather than silently completed.
For a new document or substantial restructure that someone will implement from, run a re-implementation test when the host can start a fresh subagent. Give it only the document and the sources the document links, never this conversation. Ask it to list every place where implementing would force a guess: a parameter default, error handling, an output shape, a state transition, or a choice between patterns. Each guess either becomes an explicit contract in the document or a labeled pending choice. Skip this test for focused edits, and say in the delivery note when it was skipped because no fresh subagent was available.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

