decision-writing
Skill11 starsChanged 50 days agoApache-2.0View on GitHub
Use when drafting or reviewing a decision record (ADR, PDR, or UXDR). Covers structure, tone, alternatives framing, consequence articulation, and plain-writing tenets for data-driven, specific, and actionable decisions.
In this repository83 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- about-konductorSkill
- adr-generatorSkill
- adversarial-code-review-pass-integritySkill
- adversarial-code-review-pass-schemaSkill
- adversarial-code-review-pass-securitySkill
- adversarial-code-reviewSkill
- adversarial-design-reviewSkill
- agents-md-authoringSkill
- app-discoverySkill
- architecture-advisorSkill
- architecture-diagram-generationSkill
- argumentation-referenceSkill
- asana-sprint-planningSkill
- asdlc-aspect-reviewSkill
- asdlc-code-simplifierSkill
- aws-service-validatorSkill
- backend-developmentSkill
- backend-reviewSkill
- claude-teams-behaviorSkill
- cmux-dispatchSkill
- code-reviewSkill
- constraintsSkill
- cost-estimationSkill
- cypress-test-implementationSkill
- decision-researchSkill
- delegation-protocolSkill
- deliberation-panelSkill
- design-doc-guidelinesSkill
- design-evaluationSkill
- design-impact-reviewSkill
- design-quality-checkSkill
- doc-accuracy-analyzerSkill
- document-formatsSkill
- dom-inspectionSkill
- dynamodb-designSkill
- dynamodb-validationSkill
- e2e-test-strategySkill
- external-researchSkill
- find-aws-skillsSkill
- frontend-developmentSkill
- frontend-reviewSkill
- git-mergeSkill
- git-workflowSkill
- historical-issues-registrySkill
- humanize-writingSkill
- iam-policy-designSkill
- infra-validationSkill
- kiro-design-generationSkill
- kiro-requirements-generationSkill
- kiro-task-generationSkill
- legacy-to-agentic-estimateSkill
- mux-dispatchSkill
- non-functional-requirementsSkill
- persistent-memorySkill
- plan-reviewSkill
- playwright-test-implementationSkill
- policy-validationSkill
- pre-planning-analysisSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Every decision record must contain one sentence that states the decision.
- Distinctive: line 79
Every quantitative claim needs a source.
- Distinctive: line 93
Every link you include should:
- Distinctive: line 182
Consider operational impact (monitoring, on-call, deployment).
- Distinctive: line 196
Consider responsive/cross-platform implications
≈ “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 Writing
Overview
Decision records are permanent artifacts. Six months from now, someone will read your record to understand why a choice was made. Write for that future reader.
Usage
Use this skill when drafting a decision record from scratch, when reviewing an existing one for structure and tone, or when the adr-generator skill needs ADR-specific writing guidance during design doc creation. Applies to ADR, PDR, and UXDR formats — the shared structure and language guidelines below hold across all three, with format-specific notes in Template-Specific Guidance.
The One-Sentence Test
Every decision record must contain one sentence that states the decision. If you cannot state the decision in one sentence, you have not decided yet.
Good: "We will use PostgreSQL as the primary datastore for the order service." Bad: "We discussed several database options and decided to go with a relational approach."
Context Section
The context sets the stage. A reader unfamiliar with the topic should understand the situation after reading this section.
Include:
- What system or process is affected
- What problem exists (be specific — "API latency exceeds p99 SLA of 200ms" not "API is slow")
- Why this needs to be addressed now
- Constraints: timeline, budget, team size, technical limitations
Exclude:
- Judgment about which option is better (save for the decision)
- Implementation details (save for after the decision)
- Vague problem statements without data
Alternatives Section
Present at least 2-3 genuine alternatives. The hallmark of a weak decision record is alternatives that are obviously inferior (straw men).
For each alternative:
- Describe it fairly — someone who advocates for this option should recognize it
- State its strengths — every viable alternative has genuine strengths
- State its weaknesses — be specific, with data where possible
- Explain why it was not chosen — the rationale must be evidence-based
Avoid Straw-Manning
Bad: "Option 2: Use MongoDB. MongoDB is a NoSQL database that lacks ACID transactions and would be inappropriate for financial data."
Good: "Option 2: Use MongoDB. Document model aligns well with our varied order schemas and would reduce ORM complexity. However, our team has no MongoDB operational experience (0 of 6 engineers), and our data access patterns require multi-document transactions that MongoDB added in v4.0 but are still less mature than PostgreSQL's implementation (see [benchmark link])."
Consequences Section
Consequences describe what changes as a result of the decision. Organize into Good, Bad, and Neutral.
Be Specific and Measurable
Bad: "This will improve performance." Good: "Expected to reduce p99 API latency from 450ms to under 200ms based on load testing of the prototype (see appendix)."
Bad: "Team needs to learn new technology." Good: "3 of 6 engineers need PostgreSQL training (~2 weeks ramp-up based on prior TypeScript migration timeline)."
Don't Forget Neutral Consequences
Neutral consequences are process and tooling changes that are neither good nor bad:
- "CI/CD pipeline needs a new PostgreSQL test stage"
- "On-call runbook needs updating for new failure modes"
- "Monitoring dashboards need new database metrics"
Data and Evidence
Every quantitative claim needs a source. Every qualitative claim needs supporting reasoning.
Metrics Must Be Precise
Bad: "We increased throughput significantly." Good: "Throughput increased from 1,200 to 3,400 requests/second under identical load conditions (see load test report [link])."
Always Include Baselines
Bad: "Latency improved by 40%." Good: "Latency improved by 40%, from 450ms p99 to 270ms p99 (measured over 7 days in gamma, [dashboard link])."
Cite Your Sources
Every link you include should:
- Actually resolve (check before including)
- Support the specific claim you are making
- Be described so the reader knows what they will find
Language Guidelines
Use Active Voice
Bad: "It was decided that PostgreSQL would be used." Good: "We will use PostgreSQL."
Avoid Vague Quantifiers
Replace with data or remove entirely:
| Vague | Better |
| many teams | 12 teams (per [source]) |
| significant improvement | 40% improvement (from X to Y) |
| recently | in Q3 2025 |
| often | in 7 of 10 observed cases |
| some concerns | 3 specific concerns: [list] |
Be Direct
Bad: "After careful consideration of the various options available, we have determined that it would be most beneficial to proceed with Option A." Good: "We chose Option A because [reason]."
Template-Specific Guidance
ADR Format
Architecture Decision Records use a five-section structure. The adr-generator skill produces ADRs in this format automatically during design doc creation.
### ADR-N: <Title>
**Status:** Accepted | Proposed | Deprecated | Superseded by ADR-M
#### Context
What situation or problem triggered this decision. What constraints apply.
One paragraph. Specific — include data where available (latency targets, team size, timeline).
#### Decision
We will use X because Y. (One sentence. Active voice. State the concrete technical reason for acceptance — crisp, specific, fact-checked.)
#### Alternatives Considered
| Option | Pros | Cons | Why Not Chosen (crisp, specific, fact-checked — 1–3 sentences) |
| ----------------- | ---- | ---- | ---------------------------------------------------------------- |
| Option A (chosen) | ... | ... | — (chosen; acceptance rationale in Decision above) |
| Option B | ... | ... | <concrete technical reason: limit / latency / cost / ops burden> |
#### Consequences
**Good:**
- <specific, measurable positive outcome>
**Bad:**
- <specific cost, risk, or constraint introduced>
**Neutral:**
- <process or tooling change — neither good nor bad>Rationale quality bar — applies to every Decision (why accepted) and every Why Not Chosen cell (why rejected):
- Crisp and simple — one to three sentences per option; no filler or hedging.
- Technically accurate and specific — cite the concrete technical reason: limits, latency, cost, consistency model, throughput, or operational burden. Not vague generalities.
- Fact-checked — any AWS service/feature claim MUST be validated via the
aws-service-validatorskill before it is written. Never assert an unverified capability as the basis for a decision.
Weak: "DynamoDB scales better." Strong: "DynamoDB sustains our projected 50k writes/s at p99 <5ms without table-level locking; RDS Aurora peaks at ~10k writes/s on db.r6g.2xlarge under the same load test (verified via
aws-service-validator)."
ADR authoring rules:
- Status must be set. Default to
Acceptedfor decisions made during creation;Proposedif not yet confirmed. - Minimum 2 alternatives including the chosen option. No straw men — each alternative must be genuinely viable.
- Consequences must be specific. "Will improve performance" is not a consequence. "Expected to reduce p99 latency from 450ms to <200ms" is.
- Number ADRs sequentially within the document (ADR-1, ADR-2, …). Cross-reference from the section where the decision is first mentioned:
_(See ADR-N)_. - Include architecture diagrams (Mermaid supported) when the decision involves a topology change.
- Reference related ADRs by ID when decisions are interdependent.
- Describe integration points with other systems.
- Consider operational impact (monitoring, on-call, deployment).
PDR Tips
- Lead with customer impact
- Include success metrics with targets
- Address pricing/cost implications
- Reference competitive landscape with sources
UXDR Tips
- Include mockups or wireframe references
- Address accessibility (WCAG compliance)
- Reference user research findings with participant counts
- Consider responsive/cross-platform implications
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.

