Architecture decision framework
Skill agustinusnathaniel/skills/skills/software-engineering/architecture-decision-framework
Make architecture decisions using decision matrices and iterative refinement. Use when comparing implementation approaches, evaluating trade-offs, selecting technology, or facing multiple viable paths. Prioritizes business context over technical purity — clarifies the problem before deciding, presents options with trade-offs, documents decisions as lightweight ADRs.From its SKILL.md
npx -y skills add agustinusnathaniel/skills --skill architecture-decision-frameworkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.5 KB, 981 tokens by cl100k_base, as published. Nobody here has run it
Architecture Decision Framework
Make architecture decisions using decision matrices and iterative refinement.
Why This Skill Exists
Most architecture advice jumps to "the best solution" without understanding the problem. This skill flips the order: understand the business context first, present options, ask clarifying questions, then decide.
When to Use
- Choosing between multiple implementation approaches
- Evaluating trade-offs between speed, quality, and cost
- Deciding on technology stack components
- When the team lacks consensus on the right path
- When user pushes back on a plan that seems too complex
When Not to Use
- Decision is obvious (e.g., "should I use TypeScript?")
- Non-architectural decisions (naming, formatting)
- User already has a clear preference
- Only one viable option
The Methodology
Phase 1: Understand the Problem
Before presenting options, clarify:
User request
→ Business goal?
→ Constraints (time, team, budget)?
→ Timeline (MVP vs long-term)?
→ Reversible vs irreversible?
→ Team expertise?
MVP vs Production Quick-Check
If constraints are unambiguous, skip the full matrix:
| User says | Default action |
|---|---|
| "I just need something that works" | MVP-first option |
| "This is for production" | Production-quality option |
| "I'm prototyping" | Fastest option |
| "We're scaling this" | Maintainable option |
Short-circuit rules: Still document the decision (Phase 5). Offer to revisit if requirements change.
Phase 2: Present Options with Decision Matrix
Present 2-4 options with a structured comparison:
| Criterion | Option A | Option B | Option C |
|-----------|----------|----------|----------|
| **MVP Speed** | ✅ Fast | ⚠️ Medium | ❌ Slow |
| **Long-term** | ⚠️ Tech debt | ✅ Maintainable | ✅ Maintainable |
| **Complexity** | ✅ Low | ⚠️ Medium | ❌ High |
| **Reversibility** | ✅ Easy | ⚠️ Medium | ❌ Hard |
| **Team Expertise** | ✅ Known | ⚠️ Learning curve | ❌ New |
For weighted scoring with criteria priorities, see references/scoring.md.
Phase 3: Ask Clarifying Questions (With a Cap)
Ask 3-5 questions max, then make a preliminary recommendation:
- Questions 1-2: Always ask (core constraints)
- Questions 3-5: Ask if needed (refine details)
- After question 5: Recommend with assumptions stated
When you've hit the cap:
"I've asked enough questions. Based on what you've told me — [assumptions] — I recommend Option B. My reasoning: [rationale]. Tell me if I've misunderstood."
Phase 4: Make Recommendation with Rationale
## Recommendation: Option [X]
**Why:** [business reason], [trade-off acknowledged]
**Consequences:** [positive], [positive], [known limitation]
**Revisit when:** [trigger for reconsideration]
Phase 5: Document as ADR
# ADR-XXX: [Title]
**Status:** Proposed | Accepted | Deprecated | Superseded
**Context:** What is the issue motivating this decision?
**Decision:** What is the proposed change?
**Consequences:** What becomes easier or more difficult?
**Alternatives:** What other options and why not chosen?
**Date:** When this was decided
Phase 6: Iterate Based on Feedback
Recommendation made → User feedback → Refine → Confirm → Document
Iteration patterns:
| User says | Action |
|---|---|
| "too complex" | Simplify: reduce scope, pick simpler path |
| "wrong priority" | Re-weight: shift criterion weights |
| "what about X?" | Evaluate: add new option, rebuild matrix |
| "I need it faster" | Accelerate: pick MVP option, defer production |
| "just pick one" | Commit: state recommendation, stop iterating |
Common Pitfalls
- Jumping to solutions — presenting options before understanding the problem
- Analysis paralysis — too many options (keep to 2-4)
- Ignoring reversibility — not considering cost of changing later
- Over-asking — more than 5 questions before recommending
- Skipping ADR — not documenting why you chose a path
What ships with it: 1 file
11.0 KB alongside SKILL.md
references/
- scoring.md11.0 KB
Gives 0 of the 12 instructions most architecture codebase skills give in 981 tokens
Counted across 811 of the 1,134 authors here whose files we hold, read 2026-08-07
- Ask the user which candidate to explorein 45 of 811, across 15 files
- Apply the deletion test to suspected shallow modulesin 43 of 811, across 15 files
- Read any relevant architecture decision records firstin 31 of 811, across 8 files
- Use exact glossary terms in every suggestionin 30 of 811, across 10 files
- Accept dependencies instead of creating themin 24 of 811, across 5 files
- Include before and after visualisations for each candidatein 24 of 811, across 5 files
- Read the domain glossary before exploringin 24 of 811, across 6 files
- Return results instead of producing side effectsin 23 of 811, across 4 files
- Explore the codebase for shallow modules and frictionin 23 of 811, across 3 files
- Introduce seams only where things varyin 22 of 811, across 3 files
- Reduce the number of methodsin 21 of 811, across 2 files
- Design deep modules with small interfacesin 21 of 811, across 3 files
Said here and by no other author read
- clarify the business context before presenting options
- present 2-4 options in a decision matrix
- make a preliminary recommendation after 5 questions
- provide a rationale for the recommendation
- iterate based on user feedback
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.