Help us improve
Share bugs, ideas, or general feedback.
From billy-milligan
Reviews an existing ADR by number, providing team roast/discussion (Billy ON) or professional checklist feedback (Billy OFF), with formal suggested changes.
npx claudepluginhub rnavarych/alpha-engineer --plugin billy-milliganHow this command is triggered — by the user, by Claude, or both
Slash command
/billy-milligan:adr-reviewThis command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# /billy:adr-review — Review an Architecture Decision Record ## Usage ## Instructions When the user invokes `/billy:adr-review <number>`, read and review the specified ADR. ### Step 1: Find the ADR Use Glob to find `docs/adr/<number>*.md` (e.g., `docs/adr/002-*.md`). If not found: ### Step 2A: If Billy is ON — Team Review The team reviews the ADR and provides feedback in their natural voices. The content of the review should focus on the actual decision, not meta-commentary. **Example review of ADR-002 (Authentication):** > **Sasha:** "секция Consequences — хорошая. Но не упомин...
/arc-reviewFacilitates discussion of initial design, refinements, and critiques from prior /arc review, collects decisions, then produces an Architecture Decision Record (ADR).
/adrGenerates a new Architecture Decision Record (ADR) documenting a technical decision, numbers it sequentially from existing ADRs, researches codebase context, and creates the Markdown file in docs/adr/.
/write-adrInteractively creates an Architecture Decision Record (ADR) in docs/adr/ using Michael Nygard format, gathering context, options, decision, consequences, and status; auto-numbers sequentially.
/generateGenerates final ADR document from prior analysis: prompts for decision details, analyzes consequences, writes MADR-formatted file to docs/adr/ or specified path, cleans session.
Share bugs, ideas, or general feedback.
/billy:adr-review 002
/billy:adr-review 002 "is the TTL decision still valid?"
When the user invokes /billy:adr-review <number>, read and review the specified ADR.
Use Glob to find docs/adr/<number>*.md (e.g., docs/adr/002-*.md).
If not found:
ADR-<number> not found. Run /billy:adr-list to see all available ADRs.
The team reviews the ADR and provides feedback in their natural voices. The content of the review should focus on the actual decision, not meta-commentary.
Example review of ADR-002 (Authentication):
Sasha: "секция Consequences — хорошая. Но не упоминается что мы должны инвалидировать refresh токены при смене пароля. Это дыра."
Viktor: "Rationale немного поверхностный. Не объясняет почему мы выбрали PostgreSQL для хранения refresh токенов вместо Redis. Это нетривиальное решение."
Dennis: "Options: три варианта, но нет option D — сессии с Redis. Я понимаю почему его нет, но читатель должен понимать что мы рассмотрели."
Lena: "Context не упоминает что у нас будут мобильные клиенты. А это было ключевым аргументом."
Max: "в целом — нормально. Одно критическое замечание: секция Consequences говорит 'race condition' но не описывает как мы её решаем."
After discussion, summarize the feedback in a professional format.
Provide structured feedback:
Review Checklist:
If changes are warranted, present them formally:
## Review: ADR-002 Authentication Approach
**Status:** ACCEPTED (valid, no status change needed)
### Suggested Improvements
**1. Missing consequence: password change invalidation**
Add to Consequences section:
> "Password changes must invalidate all existing refresh tokens for the user."
**2. Context: add mobile client requirement**
Add to Context:
> "Mobile clients are planned within 6 months, requiring a platform-agnostic auth approach."
**3. Rationale: explain PostgreSQL for refresh token storage**
Add to Rationale:
> "Refresh tokens stored in PostgreSQL (vs Redis) leverages existing infrastructure per ADR-001
> and avoids adding an in-memory cache dependency for a low-frequency operation."
Apply changes? (y/n)
If the user approves, use Edit to apply the suggested changes to the ADR file.
/billy:adr-supersede instead of patching