add-bead
無料Capture free-text work as a tracked Beads issue. Use when the user runs /add-bead or wants to quickly file a Beads issue.
日本語の概要は準備中です。原文の説明を表示しています。
Risk-tiered code review (Blocker / High / Medium / Low). Use when the user runs /review or wants the current branch or diff reviewed.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Performs a structured code review with four risk tiers. Produces an AC Trace Matrix.
When the user includes --council <profile-path>, follow .claude/commands/council.md after collecting the diff, acceptance criteria, and context below. For a PR use the pr source; for a local branch supply the captured diff and context as text. Treat the council transcript as additional review evidence, preserve dissent and limitations, and still complete the AC Trace Matrix. Never silently substitute the key-free demo for a real review. Council findings do not authorize code changes or GitHub publication.
/review # Review current branch vs main
/review feat/T-42-my-feature # Review specific branch
/review #17 # Review PR by number
# For a branch
git diff main..<branch> --stat # File overview
git diff main..<branch> # Full diff
# For a PR
gh pr diff <number>
gh pr view <number> --json title,body,commits
Also fetch the task details (if a Beads ID is findable from branch name or PR body):
bd show <TASK-ID> 2>/dev/null || true
Before reviewing, understand intent:
cat knowledge/repos/<repo>.yamlEvaluate the diff against all four tiers. Rate each finding.
For UI-facing changes, also apply .claude/protocols/evaluation-rubric.md (visual design / originality vs generic patterns) in addition to the tiers below — surface HIGH findings when polish or product depth misses stated intent, not only when code is broken.
| Category | What to look for |
|---|---|
| Security | Hardcoded secrets, SQL injection, path traversal, XSS, auth bypass, unsafe deserialization |
| Data loss | Destructive operations without confirmation, missing rollback, irreversible mutations |
| Credentials | API keys, passwords, tokens, private keys committed |
| Critical bugs | Off-by-one in auth/payment code, null deref crashes in critical paths |
| Category | What to look for |
|---|---|
| Error handling | Uncaught exceptions in async code, silent failures, missing error boundaries |
| Type safety | any without justification, unsafe casts, missing null checks |
| Test gaps | New code paths with zero test coverage |
| Breaking changes | Changed public interfaces without migration path |
| Performance | N+1 queries, unbounded loops, blocking the main thread |
| Category | What to look for |
|---|---|
| Code quality | Deeply nested logic, functions >50 lines, duplicated logic |
| Edge cases | Missing validation for empty arrays, zero, empty strings |
| Observability | Missing logs/metrics for significant operations |
| Naming | Misleading variable or function names |
| Category | What to look for |
|---|---|
| Style | Minor formatting inconsistencies |
| Docs | Missing JSDoc for public APIs |
| Naming nits | Slightly unclear names (not misleading, just verbose) |
Map each acceptance criterion to how it is verified:
## AC Trace Matrix
| Criterion | Verified By | Status |
|-----------|-------------|--------|
| User can update display name | `useUserSettings.test.ts:42` | ✓ |
| Error shows if API fails | `UserSettingsPage.test.tsx:89` | ✓ |
| Settings persist after refresh | Manual: navigate away and back | ✓ |
| Cannot set empty display name | `useUserSettings.test.ts:67` | ✓ |
If a criterion has no test and no documented manual verification: flag as High finding.
If Blocker or High findings exist:
After each rework: re-run the review against the updated diff.
Log the result: bd comments add <TASK-ID> "review: iteration <n> — <finding counts>"
If issues remain after 2 iterations:
bd comments add <TASK-ID> "review: PASS — 0B/0H/2M/1L"
bd comments add <TASK-ID> "review: FAIL — 1B/2H/0M/0L — reverted"
## Code Review: feat/T-42-refresh-tokens
Files reviewed: 4 (+187 / -23 lines)
Task: T-42 — Add refresh token rotation
### Findings
🔴 BLOCKER (0)
🟠 HIGH (1)
- src/api/auth.ts:87 — Missing error handling on token refresh failure.
Async function with no try/catch; unhandled promise rejection in production.
Fix: wrap in try/catch, return error state to caller.
🟡 MEDIUM (2)
- src/hooks/useAuth.ts:34 — refreshToken function is 60+ lines. Consider splitting.
- src/api/auth.ts — No logging on token rotation for audit trail.
⚪ LOW (0)
### AC Trace Matrix
| Criterion | Verified By | Status |
|-----------|-------------|--------|
| Token rotates on use | useAuth.test.ts:112 | ✓ |
| Old token rejected after rotation | useAuth.test.ts:134 | ✓ |
| Error state on network failure | ✗ NOT COVERED | — |
### Verdict: FAIL — 0B/1H/2M/0L
AC criterion "Error state on network failure" is untested.
Address HIGH finding and add error state test, then re-review.
Rework iteration: 1/2
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Capture free-text work as a tracked Beads issue. Use when the user runs /add-bead or wants to quickly file a Beads issue.
日本語の概要は準備中です。原文の説明を表示しています。
Register a new sub-repo in the knowledge base.
日本語の概要は準備中です。原文の説明を表示しています。
Add focused Bun unit tests for mission-critical behavior and edge cases — not blanket coverage.
日本語の概要は準備中です。原文の説明を表示しています。
Answer questions about the codebase from knowledge files. Use when the user runs /ask or asks a domain/knowledge question about the repos.
日本語の概要は準備中です。原文の説明を表示しています。
Meta-skill for creating Agent Forge skills under .claude/skills/ with SKILL.md, optional references/ and scripts/, and Bun scaffolds. Use when the user wants to add or author a skill, scaffold a new skill folder, or align skill docs with harness conventions (JSON script output, Beads for tasks).
日本語の概要は準備中です。原文の説明を表示しています。
Choose Beads issue priority (P0–P4, numeric, or named) from urgency, impact, and risk when creating or triaging work.
日本語の概要は準備中です。原文の説明を表示しています。