Agent Skills › repowise-dev/repowise › architectural-decisions

architectural-decisions

GitHub

用于在代码库中查询、记录和审查架构决策(ADR)。支持通过语义搜索或文件路径查找设计 rationale,评估决策健康度,并在进行架构变更前验证现有决策,确保开发符合既定设计原则。

plugins/claude-code/skills/architectural-decisions/SKILL.md repowise-dev/repowise

Trigger Scenarios

询问代码为何这样构建的原因 准备进行架构重构或模式变更 代码中包含 WHY/DECISION/TRADEOFF/ADR 标记 需要查看架构决策健康度仪表盘

Install

npx skills add repowise-dev/repowise --skill architectural-decisions -g -y
More Options

Non-standard path

npx skills add https://github.com/repowise-dev/repowise/tree/main/plugins/claude-code/skills/architectural-decisions -g -y

Use without installing

npx skills use repowise-dev/repowise@architectural-decisions

指定 Agent (Claude Code)

npx skills add repowise-dev/repowise --skill architectural-decisions -a claude-code -g -y

安装 repo 全部 skill

npx skills add repowise-dev/repowise --all -g -y

预览 repo 内 skill

npx skills add repowise-dev/repowise --list

SKILL.md

Frontmatter
{
    "name": "architectural-decisions",
    "description": "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:\".\n",
    "user-invocable": false
}

Architectural Decisions with Repowise

Repowise captures architectural decisions — the why behind how code is built.

get_why has four modes — pick by what you pass:

  1. get_why(query="why is auth using JWT?") — keyword + semantic decision search.
  2. 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?).
  3. get_why(query="why was caching added?", targets=["src/auth/cache.py"]) — target-anchored search; decisions touching the targets get boosted.
  4. 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.

When the user asks "why is X built this way?"

Call get_why(query="X").

When about to make an architectural change

  1. Call get_why(query="the specific area you're changing") to find existing decisions that govern that area.
  2. If decisions are found, present them to the user before proceeding — they may not want to contradict an existing architectural choice.
  3. If no decisions are found, proceed but note that no recorded decision governs this area.

When called with no specific query

Call get_why() with no arguments to get the decision-health dashboard:

  • Stale decisions that may no longer apply
  • Proposed decisions awaiting confirmation
  • Ungoverned hotspots (high-churn files with no recorded decisions)

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). repowise decision candidates --format json lists proposed decisions with what each still needs; repowise decision confirm <id> --agent <your slug> --evidence <commit|file> accepts one (see /repowise:decision).

When a file has decision markers

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.

Recording new decisions

When you settle an architectural choice yourself (you weighed options and picked one), record it:

repowise decision add --agent <your slug> --title "..." --decision "..." --rationale "<why, and what you rejected>" --affects <path>

Add --evidence-commit <sha> once it is committed. The record lands as a candidate: it never governs until accepted, so recording is safe.

Reviewing candidates

You may review and accept candidates yourself. repowise decision candidates --format json lists each with its blockers. Accept one with repowise decision confirm <id> --agent <your slug>, adding --reason, --scope <path>, --evidence <commit|file|link> or --decision for whatever a blocker names. Dismiss a wrong one with repowise decision dismiss <id> --agent <your slug> --reason ... --yes, fold a duplicate with repowise decision merge <id> <into-id> --agent <your slug> (the target must already be accepted; confirm it first), and retire one with repowise decision deprecate <id> --agent <your slug> --reason .... When an accepted decision is needs_review and still holds, renew it with repowise decision reaffirm <id> --agent <your slug>; confirm is for candidates only. With --format json every review command returns results[], even for one id. Your acceptances are recorded as yours, never a person's. If the repository turned agent acceptance off, the confirm is refused; leave it for a person and mention it.

If the user states a decision, offer to record it the same way without --agent.

Version History

  • 7ccd63f Current 2026-11-03 00:02

    修复了代理接收和确认命令的显示问题,统一证据记录方式;新增 decision reaffirm 命令以简化审查流程,优化了陈旧性计算逻辑及 JSON 输出格式。

  • 370793f 2026-08-19 23:15

    决策挖掘源从8个缩减为5个(移除CHANGELOG、README/docs等),修正了相关文档和基准测试数据。

  • b5f4753 2026-07-25 05:12

Same Skill Collection

plugins/claude-code/skills/change-review/SKILL.md
plugins/claude-code/skills/code-health/SKILL.md
plugins/claude-code/skills/codebase-exploration/SKILL.md
plugins/claude-code/skills/dead-code-cleanup/SKILL.md
plugins/claude-code/skills/pre-modification/SKILL.md
plugins/codex/skills/architectural-decisions/SKILL.md
plugins/codex/skills/change-review/SKILL.md
plugins/codex/skills/code-health/SKILL.md
plugins/codex/skills/codebase-exploration/SKILL.md
plugins/codex/skills/dead-code-cleanup/SKILL.md
plugins/codex/skills/pre-modification-check/SKILL.md

Metadata

Files
0
Version
7ccd63f
Hash
28ef2d9c
Indexed
2026-07-25 05:12

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-14 06:49
浙ICP备14020137号-1