Skip to content

Commit a5b617a

Browse files
committed
chore: Slim down skill docs by removing AI-redundant explanations
1 parent a479f27 commit a5b617a

4 files changed

Lines changed: 83 additions & 204 deletions

File tree

.claude/skills/parallel-review/SKILL.md

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
name: parallel-review
33
description: Launch parallel code review with multiple specialist reviewers
4-
allowed-tools: Agent, Read, Glob, Grep, Bash(.claude/scripts/fetch-diff.sh:*), Bash(grep:*), Bash(ls:*), Bash(find:*), Bash(git log:*), Bash(git diff:*), Bash(git show:*), Bash(rm:*)
4+
allowed-tools: Agent, Read, Glob, Grep, Bash(.claude/scripts/fetch-diff.sh:*), Bash(.claude/scripts/rm-tmp.sh:*), Bash(grep:*), Bash(ls:*), Bash(find:*), Bash(git log:*), Bash(git diff:*), Bash(git show:*)
55
---
66

77
# Parallel Code Review
@@ -36,8 +36,6 @@ If the user does not explicitly specify a review target, use the following as th
3636
1. **Commits unique to the current branch** — All commits since the divergence point from the base branch (equivalent to `git log {base}..HEAD`).
3737
2. **Working tree changes** — Both staged (`git diff --cached`) and unstaged (`git diff`) changes.
3838

39-
In other words, changes that already exist in the base branch are excluded from review.
40-
4139
If a base branch is not specified via `--base`, use `main` or `master` if either exists on the remote (prefer `main` when both exist).
4240

4341
## Reviewers
@@ -64,23 +62,20 @@ If a base branch is not specified via `--base`, use `main` or `master` if either
6462

6563
1. Based on the user's input, identify the files or diff to review.
6664
2. Read the target files or diff to grasp the scope.
67-
3. Produce a concise summary of the review content.
68-
4. Decide whether to add optional reviewers based on the scope. If the user has explicitly requested specific reviewers, include them.
69-
5. **Fetch diff information via script** — Run the provided script to collect all diff data atomically. This guarantees every section — including unstaged changes — is always written to the output file:
65+
3. Decide whether to add optional reviewers based on the scope. If the user has explicitly requested specific reviewers, include them.
66+
4. **Fetch diff information via script:**
7067
- Generate an output file path: `.claude/tmp/parallel-review-diff-{timestamp}.txt`
7168
- Run the script:
7269
```
7370
.claude/scripts/fetch-diff.sh {base} {output-file-path}
7471
```
75-
- The script writes the following sections in order:
76-
Changed Files / Commit Log / Commit Diff (`{base}..HEAD`) / Staged Changes / Unstaged Changes
77-
6. **Decide how to pass the diff to reviewers based on file size:**
72+
5. **Decide how to pass the diff to reviewers based on file size:**
7873
- **Less than 1,000 lines:** Read the file and embed its contents directly in the reviewer prompt.
7974
- **1,000 lines or more:** Pass the **file path** to reviewers, who will read it via Read.
8075
8176
## Step 2 — Launching Parallel Reviewers
8277
83-
Launch all selected reviewers **simultaneously** using the Agent tool. Each reviewer runs as a **read-only** sub-agent.
78+
Launch all selected reviewers **simultaneously** using the Agent tool.
8479
8580
### Agent Prompt Template
8681
@@ -99,8 +94,7 @@ Review target:
9994

10095
Diff and context (pre-fetched by the review leader via script):
10196
{diff_content_or_path}
102-
(Contains these sections: Changed Files / Commit Log / Commit Diff / Staged Changes / Unstaged Changes.
103-
For under 1,000 lines, the contents are embedded above. For 1,000+ lines, a file path is shown — read it via Read.)
97+
(Contains these sections: Changed Files / Commit Log / Commit Diff / Staged Changes / Unstaged Changes.)
10498

10599
Rules:
106100
- You are read-only. Do not edit or write any files under any circumstances.
@@ -124,7 +118,7 @@ Once all reviewers have completed, consolidate their findings into a single repo
124118
1. **Deduplicate** — When multiple reviewers point out the same issue, merge them into a single entry and record which reviewers identified it.
125119
2. **Reorder** — Group by severity: Critical → Major → Minor → Info.
126120
127-
**Triage of whether to act on findings is out of scope for this skill.** The review leader focuses solely on deduplicating and ordering raw findings.
121+
**Triage of whether to act on findings is out of scope for this skill.**
128122
129123
### Report Format
130124
@@ -146,19 +140,13 @@ Produce the final report in the following format:
146140
147141
**Finding:**
148142
149-
Description of the finding. May span multiple paragraphs and include code snippets, rationale, and references.
143+
{description of the finding}
150144
151145
<!-- METADATA(C-1) -->
152146
<!-- /METADATA(C-1) -->
153147
154148
---
155149
156-
### C-2 — `file.cpp:88`
157-
158-
...
159-
160-
---
161-
162150
## Major
163151
164152
### M-1 — `other.cpp:120`
@@ -167,7 +155,7 @@ Description of the finding. May span multiple paragraphs and include code snippe
167155
168156
**Finding:**
169157
170-
...
158+
{description of the finding}
171159
172160
<!-- METADATA(M-1) -->
173161
<!-- /METADATA(M-1) -->
@@ -182,9 +170,7 @@ No findings
182170
183171
## Info
184172
185-
### I-1 — `bar.cpp:7`
186-
187-
...
173+
No findings
188174
189175
---
190176
@@ -207,4 +193,8 @@ No findings
207193

208194
## Step 4 — Clean Up Temporary Files
209195

210-
If the diff was saved to a temporary file in Step 1 item 6, delete that file after report integration completes. The diff is no longer needed once all reviewers have finished.
196+
After report integration completes, delete the diff file fetched in Step 1 item 4.
197+
198+
```bash
199+
.claude/scripts/rm-tmp.sh {diff-file-path}
200+
```

.claude/skills/review-resolve/SKILL.md

Lines changed: 13 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
---
22
name: review-resolve
33
description: Verify review finding resolutions against actual source code and provide feedback
4-
allowed-tools: Agent, Read, Write, Edit, Glob, Grep, Bash(grep:*), Bash(ls:*), Bash(find:*), Bash(git log:*), Bash(git diff:*), Bash(git show:*), Bash(rm:*), Bash(python .claude/scripts/render-review.py:*)
4+
allowed-tools: Agent, Read, Write, Edit, Glob, Grep, Bash(grep:*), Bash(ls:*), Bash(find:*), Bash(git log:*), Bash(git diff:*), Bash(git show:*), Bash(.claude/scripts/rm-tmp.sh:*), Bash(python .claude/scripts/render-review.py:*)
55
---
66

77
# Review Verification
88

99
You are the **review verifier**. Your role is to re-read the updated review document, verify each finding's resolution against the actual source code, and write the verification result back as `verification` metadata.
1010

11-
Verification results are reflected into the review document (Step 4) and also printed as a report to the console (Step 3).
12-
1311
## Input
1412

1513
The user specifies a path to a review document (markdown). If the argument is `$ARGUMENTS`, interpret it as the path to the review document.
@@ -64,41 +62,35 @@ Do not write a `verification` for Unresolved findings.
6462

6563
## Internal Processing (events.jsonl)
6664

67-
This skill uses **`{basename}.events.jsonl` in the same directory as the markdown** as an intermediate representation (e.g., `review-round1.md``review-round1.events.jsonl`).
65+
This skill uses **`{basename}.events.jsonl` in the same directory as the markdown** as an intermediate representation (e.g., `review-round1.md``review-round1.events.jsonl`; referred to as `{events_path}` below).
6866

69-
Each finding's verification verdict is held in the leader's context during Step 2, then in Step 4 **all events are written out at once with the Write tool**, and `render-review.py` reflects them into the markdown:
67+
Each finding's verification verdict is held in the leader's context during Step 2, then in Step 4 **all events are written out at once with the Write tool**.
7068

7169
```jsonl
7270
{"id":"C-1","field":"verification","value":"✅ Verified — Null check fix is correct"}
7371
{"id":"M-1","field":"verification","value":"💬 Feedback — LOG_ERROR is missing in the else branch at line 85"}
7472
```
7573

76-
**Important:** Do not use Bash cat heredoc (`cat >> file <<'EOF' ... EOF`). Apostrophes inside values (e.g., `Won't`) interfere with the outer quoting and cause bash syntax errors. Instead, use the Write tool to write the entire file at once.
74+
Use the **Write tool** for the file. Bash cat heredoc is unusable because apostrophes inside values (e.g., `Won't`) break the outer quoting.
7775

7876
## Step 1 — Re-read and Parse
7977

8078
1. Read the entire review document.
81-
2. Determine the events.jsonl path: in the same directory as the markdown, replace the `.md` suffix of the basename with `.events.jsonl` (referred to as `{events_path}` below; e.g., `review-round1.md``review-round1.events.jsonl`). Writing to this file is performed in bulk in Step 4, so no creation is needed in this step.
82-
3. Extract every finding from the **Critical**, **Major**, and **Minor** sections.
83-
4. For each finding, extract:
79+
2. Extract every finding from the **Critical**, **Major**, and **Minor** sections.
80+
3. For each finding, extract:
8481
- Finding ID, severity, location (file and line number), description
8582
- The metadata between the markers (presence and values of triage / estimate / status)
8683

8784
## Step 2 — Verify Each Finding
8885

89-
Depending on the metadata between the markers, read the actual source code and verify the resolution status:
90-
9186
### `Status: 🟢 Fixed` is present
9287

93-
The expected fix differs depending on whether the immediately preceding Estimate is `▶️ Maintain` or `🚧 Alternative`.
94-
9588
1. Read the referenced files and lines.
9689
2. Confirm that the recorded fix is actually present in the code.
97-
- **When Estimate is `▶️ Maintain`:** Confirm that a regular fix (including logic changes) addressing the finding is reflected.
98-
- **When Estimate is `🚧 Alternative`:** Confirm that an appropriate `FIXME:` / `TODO:` comment has been added at the relevant location. Also check that the comment wording roughly matches the FIXME direction recorded in Estimate. Logic changes are not expected.
99-
3. Confirm that the fix fully addresses the original problem (for Maintain), or that the FIXME comment carries enough information for a future fix (for Alternative).
100-
4. Confirm that the fix has not introduced new issues (regressions, new bugs, style violations, thread safety problems, resource leaks, etc.).
101-
5. Verdict:
90+
- **When Estimate is `▶️ Maintain`:** Confirm that a regular fix (including logic changes) addressing the finding is reflected and that it fully addresses the original problem.
91+
- **When Estimate is `🚧 Alternative`:** Confirm that an appropriate `FIXME:` / `TODO:` comment has been added at the relevant location. Also check that the comment wording roughly matches the FIXME direction recorded in Estimate and carries enough information for a future fix. Logic changes are not expected.
92+
3. Confirm that the fix has not introduced new issues (regressions, new bugs, style violations, thread safety problems, resource leaks, etc.).
93+
4. Verdict:
10294
- **Resolved** — The fix is correct, complete, and introduces no new issues.
10395
- **Feedback** — The fix is missing, incomplete, or introduces a new issue. Describe what remains.
10496

@@ -153,25 +145,19 @@ The expected fix differs depending on whether the immediately preceding Estimate
153145
|---|----------|----------------|---------|
154146
| C-1 | Critical | Status: 🟢 Fixed | Fix is correct and complete. |
155147
| M-2 | Major | Triage: 🚫 Won't Fix | Rationale is valid. |
156-
| M-3 | Major | Estimate: 🔻 Downgrade | Downgrade rationale is valid. Separate-PR recommendation noted. |
157-
| M-4 | Major | Status: 🟢 Fixed | Alternative FIXME inserted. Wording matches the Estimate's direction. |
158148
159149
### Feedback Required
160150
161151
| # | Severity | Trailing field | Issue |
162152
|---|----------|----------------|-------|
163153
| M-1 | Major | Status: 🟢 Fixed | The fix addresses the null check, but the `else` branch at line 85 returns without logging. |
164-
| m-1 | Minor | Status: 🟢 Fixed | The added `disconnect()` call at line 102 fires on destruction and may cause a double disconnect. |
165-
| M-5 | Major | Estimate: 🔻 Downgrade | The downgrade reason is solely "FIXME-origin", but no existing FIXME is found at the location, so the rationale does not match the current code. |
166154
167155
### Unresolved
168156
169157
| # | Severity | Trailing field | Note |
170158
|---|----------|----------------|------|
171159
| m-3 | Minor | (none) | No verdict line recorded (not yet triaged). |
172-
| m-4 | Minor | Triage: 🔧 Will Fix | Triaged, but estimate not yet completed. |
173160
| m-5 | Minor | Estimate: ▶️ Maintain | Estimated, but fix not yet completed. |
174-
| m-6 | Minor | Estimate: 🚧 Alternative | FIXME insertion not yet completed. |
175161
176162
## Summary
177163
@@ -203,23 +189,9 @@ For each finding requiring feedback, write a detailed description after the summ
203189

204190
Write all verification events accumulated in the leader's context during Step 2 to events.jsonl in one shot, then reflect them into the markdown via `render-review.py`.
205191

206-
### 4a. Write events.jsonl (Write tool)
192+
### 4a. Write events.jsonl
207193

208-
Use the **Write tool** to write the entire events.jsonl content to `{events_path}`. JSONL format with one event per line:
209-
210-
```jsonl
211-
{"id":"C-1","field":"verification","value":"✅ Verified — Null check fix is correct"}
212-
{"id":"M-2","field":"verification","value":"✅ Verified — Won't Fix rationale is valid"}
213-
{"id":"M-3","field":"verification","value":"✅ Verified — Downgrade rationale is valid; separate-PR recommendation noted"}
214-
{"id":"M-1","field":"verification","value":"💬 Feedback — LOG_ERROR is missing in the else branch at line 85"}
215-
{"id":"M-5","field":"verification","value":"💬 Feedback — No existing FIXME at the location; downgrade reason does not match the current code"}
216-
```
217-
218-
**Important:** Do not use Bash cat heredoc (apostrophes inside values would interfere with the outer quoting and cause errors). The Write tool can output values without worrying about special characters.
219-
220-
Do not write events for **Unresolved** findings (since the fix or estimate is not yet complete, they are not at the stage of receiving a verification).
221-
222-
Values must fit on a **single line**. When a feedback verdict requires a detailed explanation, write it in the report's Feedback Details section and keep the events value as a summary of that.
194+
Use the Write tool to write all events to `{events_path}` (one event per line in JSONL). Format: see Internal Processing section. Do not write events for **Unresolved** findings (they are not at the stage of receiving a verification).
223195

224196
### 4b. Run render
225197

@@ -230,13 +202,5 @@ python .claude/scripts/render-review.py {document_path} {events_path} {document_
230202
### 4c. Delete the temporary file
231203

232204
```bash
233-
rm {events_path}
205+
.claude/scripts/rm-tmp.sh {events_path}
234206
```
235-
236-
`render-review.py` inserts the metadata from events into each finding in the markdown immediately before its `<!-- /METADATA({finding-id}) -->`, in fixed order (`triage``estimate``status``verification`). Existing metadata is preserved, and verification is appended at the end.
237-
238-
## Guidelines
239-
240-
- Be precise — when reporting an issue, cite specific file paths and line numbers.
241-
- Do not speculate — only report issues you have confirmed by reading the actual source code.
242-
- Do not modify the source code. The only change made to the review document is appending the `verification` field via events.jsonl.

0 commit comments

Comments
 (0)