What:依 jsc-meta:skill-check 的稽核結果修正技能與工具——補上每個步驟的可檢核完成條件、 把留在內文的標準輸入輸出流程下放 tools/、修正查表與退碼路由造成的誤判。 Why:稽核發現這些缺失會讓技能在實際執行時走錯分支或靜默通過。 完成條件缺漏是最常被違反的一項;退碼誤判與查表錯誤則會讓良性狀況被當成失敗。 How:逐項對照 references/guidelines.md 的審核檢查清單修正,新增的工具都有 documented exit codes,並以真實執行驗證每條路徑。 Who:jsc-meta:skill-check 例行稽核(2026-08-25)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.4 KiB
name, description
| name | description |
|---|---|
| code-review | Review changed code against the Refactoring smell catalog in six groups (bloaters, obscurity, couplers, dispensables, comment contract, shallow modules). Run when a file change is complete or an implementation is complete, e.g. from jsc-sdlc implement. Each group runs as a sub agent over the git diff; findings are reported with file:line, severity, and refactoring, and the caller decides whether to fix. Not a replacement for the CLI's built-in security or bug review. |
code-review
Review changed code against references/smells.md (from the book Refactoring). The reference is written in Traditional Chinese; read it as-is.
When to run
- When a file change is complete: one file or one related group of files is done.
- When an implementation is complete: all todos of a work package are done. This is the call site in
jsc-sdlc:implement— the end of a work package, after its last todo and before it is committed and turned into a PR.
Division of labor
- This skill covers the Refactoring smells, the comment contract (group 5), and shallow modules (group 6).
- Security, logic bugs, and test coverage belong to the CLI's built-in review (e.g. claude's
/security-review); do not duplicate them.
Steps
-
Get the review scope:
git diff(uncommitted changes) orgit diff {base}...HEAD(against the base branch when an implementation is complete); list the changed files. An empty diff → report the literal 「無發現」 and stop here; spawn no sub agent. Completion condition: the changed-file list is non-empty and reported, or the run already ended with 「無發現」. -
Review in six groups, and every group MUST run as a sub agent; the six groups may run in parallel:
Group Scope 1 Bloaters smells.md group 1 2 Obscurity smells.md group 2 3 Couplers smells.md group 3 4 Dispensables & Others smells.md group 4 5 Comment contract smells.md group 5 6 Shallow Module smells.md group 6 Instructions for each sub agent: read only, change nothing; check every changed line and its enclosing function or class against the group's definitions and detection signals in smells.md; report each finding as
file:line, smell name, severity (高、中、低 per the smells.md scale), one sentence of evidence, and the suggested refactoring. Findings are reported in Traditional Chinese.Completion condition: all six groups have returned — a group with nothing to report still returns 「無發現」 for its group.
-
Merge the six groups' findings: deduplicate (when one location hits several groups, merge and list every smell), then sort by severity. Start this step only once all six groups have returned; a group still running means the merge waits. Completion condition: every finding appears exactly once in the merged list, ordered 高 → 中 → 低.
-
Report the finding list. This skill never modifies code; the caller decides what to fix (inside the implementation flow, 高 and 中 are normally mandatory, 低 is judgment). Completion condition: the report is handed to the caller and the fix decision is left to them.
Notes
- If group 5 examples are fetched from a database, they must be de-identified; never include personal data.
- When there are no findings, report the literal 「無發現」 explicitly; never leave the report empty.