Use when encountering questions about WHY code is built a certain way, when about to make architectural changes (new patterns, restructuring, choosing between approaches), or when the user asks about design rationale in a Repowise-indexed codebase (.repowise/ directory exists). Also activates when commit messages or code comments contain decision signals like "WHY:", "DECISION:", "TRADEOFF:", "ADR:".
64
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./plugins/claude-code/skills/architectural-decisions/SKILL.mdRepowise captures architectural decisions — the why behind how code is built.
get_why has four modes — pick by what you pass:
get_why(query="why is auth using JWT?") — keyword + semantic decision search.get_why(query="src/auth/service.py") — decisions governing that file, plus
its origin story and an alignment score (does the file still follow its own ADRs?).get_why(query="why was caching added?", targets=["src/auth/cache.py"]) —
target-anchored search; decisions touching the targets get boosted.get_why() — the decision-health dashboard.Decisions are mined from five sources (ADR files, PR and squash-commit bodies,
inline markers, git archaeology, and centrality-bounded code comments). Each
rationale traces to a verbatim source span, stamped exact / fuzzy / unverified.
When no decision exists for a path, get_why falls back to git archaeology so
the call is never empty.
Call get_why(query="X").
get_why(query="the specific area you're changing") to find existing decisions that govern that area.Call get_why() with no arguments to get the decision-health dashboard:
The same signals surface in the CLI via repowise decision health /
/repowise:decision, and you can query why mid-task with repowise why /
/repowise:why (the get_why adapter). Review auto-proposed decisions with
repowise decision confirm.
If you see # WHY:, # DECISION:, # TRADEOFF:, or # ADR: comments in code, call get_context(targets=["that_file.py"]) to see the full decision record with context and affected modules.
If the user makes an architectural decision during the conversation, suggest: "Want to record this decision? Add a # DECISION: comment in the relevant code, or run repowise decision add to capture it formally."
363a476
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.