AgentStack
SKILL verified MIT Self-run

Architecture Decision

skill-softspark-ai-toolkit-architecture-decision · by softspark

Architecture decisions in ADR/RFC/RFD format: context, constraints, options, recommendation. Triggers: ADR, RFC, RFD, trade-offs, design choice, pick between, evaluate approach.

No reviews yet
0 installs
18 views
0.0% view→install

Install

$ agentstack add skill-softspark-ai-toolkit-architecture-decision

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Architecture Decision? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Architecture Decision Skill

Core Philosophy: "Everything is a Trade-off"

There are no "best solutions", only solutions with the right set of trade-offs for the specific context.

Decision Making Process (RFD / RFC)

  1. Context: What is the problem? Why now?
  2. Constraints: Budget, Time, Skillset, Legacy.
  3. Options: Propose at least 3 viable options.
  4. Trade-off Analysis: Compare constraints vs options.
  5. Recommendation: Choose one and justify.

Trade-off Analysis Matrix (Template)

| Feature | Option A (e.g. SQL) | Option B (e.g. NoSQL) | Option C (e.g. File) | |---------|---------------------|-----------------------|----------------------| | Scalability | Medium (Vertical) | High (Horizontal) | Low | | Consistency | Strong (ACID) | Eventual (BASE) | N/A | | Complexity | Low (Known) | Medium (New tech) | Low | | Cost | $$ | $$$ | $ |

Architecture Note

When a decision is made, document it.

# Architecture Note: Use PostgreSQL for Main Database

## Status
Accepted

## Context
We need a reliable, relational database for user data...

## Decision
We will use PostgreSQL 16.

## Consequences
- Positive: ACID compliance, rich ecosystem.
- Negative: Scaling writes requires sharding later.

Critical Factors to Evaluate

  • Reliability (Availability, Fault tolerance)
  • Scalability (Throughput, Latency)
  • Maintainability (Simple vs Easy, Ecosystem)
  • Security (AuthN/Z, Encryption)
  • Cost (Infrastructure, License, Cognitive load)

Rules

  • MUST present at least 3 viable options, including "status quo / do nothing" when relevant
  • MUST state constraints (budget, time, team skillset, legacy) before enumerating options — options without constraints are arbitrary
  • NEVER recommend an option without explicitly naming its failure mode and what would trigger revisiting the decision
  • CRITICAL: the output is a document (ADR / RFC / RFD), not code changes. Code work belongs in /plan or /refactor-plan.
  • MANDATORY: Consequences section names both Positive and Negative effects. A decision with only upside is not honestly analysed.

Gotchas

  • "Status quo" is a genuine option and often the right one for constrained teams. Omitting it biases the analysis toward change for change's sake.
  • ADRs are append-only. A reversed decision gets a new ADR with Status: Supersedes ADR-N, not an in-place edit of the original — the history of thinking matters more than the current state.
  • Qualitative scales (High / Medium / Low) without anchors are hand-waving. When scoring, pin each level to a measurable threshold (e.g., "High scalability = 10k req/s at p95 < 100ms on 2 nodes").
  • "We might use X" and "We will try X" are not decisions — they are deferrals. A valid ADR states the chosen option unconditionally; if you cannot, the decision is not ready.
  • Political constraints (team expertise, vendor relationships, executive preferences) are first-class constraints. Hiding them behind technical language produces ADRs that get silently ignored — name them explicitly in the Constraints section.

When NOT to Load

  • To find what architectural problems exist — use /architecture-audit (discovery) before this skill (decision)
  • To plan implementation of an already-decided option — use /plan or /refactor-plan
  • To design a single module's interface — use /design-an-interface
  • When fewer than 2 options exist — there is no decision to make; document the constraint instead
  • For runtime configuration choices (flag values, timeouts) — those are operational, not architectural

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.