跳到正文
cccskills
免费在 GitHub 公开

review

Risk-tiered code review (Blocker / High / Medium / Low). Use when the user runs /review or wants the current branch or diff reviewed.

中文简介正在准备中。当前显示原文说明。

集成工具GitHub
查看安装方法

包含的文件(2)

  • SKILL.md6.3 KB
  • agents/openai.yaml221 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

/review — Risk-Tiered Code Review

Performs a structured code review with four risk tiers. Produces an AC Trace Matrix.

Optional council deliberation

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.

Usage

/review                      # Review current branch vs main
/review feat/T-42-my-feature # Review specific branch
/review #17                  # Review PR by number

Step 1 — Get the Diff

# 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

Step 2 — Read the Context

Before reviewing, understand intent:

  1. Read the PR/commit description
  2. Read the Beads task and its AC (if available)
  3. Read the knowledge file for the affected repo, if it has one: cat knowledge/repos/<repo>.yaml 2>/dev/null || echo "no knowledge file for <repo>". A repo has one only after /add-repo or /sync-knowledge has been run for it, and knowledge/repos/ is empty in a fresh checkout; with none, review from the diff and the files around it.
  4. Spot-check 2-3 key files to understand the full context (not just the diff)

Step 3 — Risk-Tiered Analysis

Evaluate 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.

Blocker — Must fix. Blocks PASS.

CategoryWhat to look for
SecurityHardcoded secrets, SQL injection, path traversal, XSS, auth bypass, unsafe deserialization
Data lossDestructive operations without confirmation, missing rollback, irreversible mutations
CredentialsAPI keys, passwords, tokens, private keys committed
Critical bugsOff-by-one in auth/payment code, null deref crashes in critical paths

High — Must fix. Blocks PASS.

CategoryWhat to look for
Error handlingUncaught exceptions in async code, silent failures, missing error boundaries
Type safetyany without justification, unsafe casts, missing null checks
Test gapsNew code paths with zero test coverage
Breaking changesChanged public interfaces without migration path
PerformanceN+1 queries, unbounded loops, blocking the main thread

Medium — Does not block. Create follow-up task.

CategoryWhat to look for
Code qualityDeeply nested logic, functions >50 lines, duplicated logic
Edge casesMissing validation for empty arrays, zero, empty strings
ObservabilityMissing logs/metrics for significant operations
NamingMisleading variable or function names

Low — Optional. Minor polish.

CategoryWhat to look for
StyleMinor formatting inconsistencies
DocsMissing JSDoc for public APIs
Naming nitsSlightly unclear names (not misleading, just verbose)

Step 4 — AC Trace Matrix

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.


Step 5 — Rework (if needed)

If Blocker or High findings exist:

  1. List all Blocker and High findings clearly
  2. Ask the worker/author to address them
  3. Maximum 2 rework iterations

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:

  • Revert the implementation
  • File a Beads bug with all findings
  • Close the review with FAIL status

Step 6 — Final Verdict

PASS

  • Zero Blockers
  • Zero High findings (or all fixed)
  • AC Trace Matrix complete
bd comments add <TASK-ID> "review: PASS — 0B/0H/2M/1L"

FAIL

  • Any unfixed Blockers or High findings
bd comments add <TASK-ID> "review: FAIL — 1B/2H/0M/0L — reverted"

Output Format

## 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

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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.

中文简介正在准备中。当前显示原文说明。

jupes/agent-forge-harness22026年10月19日 更新

add-repo

免费

Register a new sub-repo in the knowledge base.

中文简介正在准备中。当前显示原文说明。

jupes/agent-forge-harness22026年10月19日 更新

Add focused Bun unit tests for mission-critical behavior and edge cases — not blanket coverage.

中文简介正在准备中。当前显示原文说明。

jupes/agent-forge-harness22026年10月19日 更新

ask

免费

Answer questions about the codebase from knowledge files. Use when the user runs /ask or asks a domain/knowledge question about the repos.

中文简介正在准备中。当前显示原文说明。

jupes/agent-forge-harness22026年10月19日 更新

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).

中文简介正在准备中。当前显示原文说明。

jupes/agent-forge-harness22026年10月19日 更新

Choose Beads issue priority (P0–P4, numeric, or named) from urgency, impact, and risk when creating or triaging work.

中文简介正在准备中。当前显示原文说明。

jupes/agent-forge-harness22026年10月19日 更新

查看 jupes 的全部技能

报告此技能的问题