Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Systematic academic paper review workflow covering self-review before submission and rebuttal writing after receiving reviewer feedback. Triggers on "review paper", "self-review", "write rebuttal", "respond to reviewers", "analyze review comments", "paper review".
.claude/skills/catlog22-scholar-review/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 168% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 131% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 52% | 0% |
A structured workflow for academic paper review and rebuttal. Covers two modes: (1) pre-submission self-review to identify and fix weaknesses before submitting, and (2) post-review rebuttal writing to respond professionally to reviewer feedback.
.workflow/codebase/ARCHITECTURE.md exists, read for project contextmaestro load --type spec --category coding — load coding conventionsmaestro search "academic writing research paper" --json — top 5 entries as prior context scholar-review
|
[Preference Collection]
/ \
Pre-Submission Post-Review
| / | \
+-----------+ +--------+--------+---------+
| Phase 1 | | Phase 2| Phase 3| Phase 4 |
| Self- | | Review | Response| Rebuttal|
| Review | | Analysis| Strategy| Writing|
+-----------+ +--------+--------+---------+
| \ | /
v v v v
self-review- rebuttal-response.md
report.md |
v
+-----------+
| Phase 5 |
| Revision |
+-----------+
|
v
revised-paperCollect workflow preferences before dispatching to phases:
Ask the user:
1. Review Stage:
- "Pre-submission self-review" → Execute Phase 1 only
- "Post-review rebuttal" → Execute Phases 2-5
2. Paper Location:
- Path to paper file(s) or directory
3. (If post-review) Reviewer Comments Location:
- Path to reviewer comments file(s)
4. (If post-review) Target Venue:
- Conference/journal name (e.g., NeurIPS, ICML, ICLR, CVPR, ACL)
- "Other" with custom venue name
5. Auto Mode:
- "Interactive (Recommended)" → Confirm at each phase transition
- "Auto" → Execute all applicable phases without confirmation
Store as workflowPreferences:
- mode: "pre-submission" | "post-review"
- paperPath: string
- reviewCommentsPath: string (post-review only)
- targetVenue: string
- autoYes: boolean> COMPACT DIRECTIVE: Context compression MUST check TodoWrite phase status. > The phase currently marked in_progress is the active execution phase -- preserve its FULL content. > Only compress phases marked completed or pending.
Phase 1: Self-Review
Ref: phases/01-self-review.md
Input: paperPath, targetVenue
Output: self-review-report.md
TodoWrite: Mark Phase 1 in_progress → completedPhase 2: Review Analysis
Ref: phases/02-review-analysis.md
Input: reviewCommentsPath, paperPath
Output: review-analysis.md (classified comments with priorities)
TodoWrite: Mark Phase 2 in_progress → completed
Phase 3: Response Strategy
Ref: phases/03-response-strategy.md
Input: review-analysis.md, paperPath
Output: response-strategy.md (strategy per comment)
TodoWrite: Mark Phase 3 in_progress → completed
Phase 4: Rebuttal Writing
Ref: phases/04-rebuttal-writing.md
Input: response-strategy.md, paperPath, targetVenue
Output: rebuttal-response.md
TodoWrite: Mark Phase 4 in_progress → completed
Phase 5: Revision
Ref: phases/05-revision.md
Input: rebuttal-response.md, paperPath
Output: revision-plan.md, tracked changes list
TodoWrite: Mark Phase 5 in_progress → completedPhase Reference Documents (read on-demand when phase executes):
| Phase | Document | Purpose | Compact | |-------|----------|---------|---------| | 1 | phases/01-self-review.md | Pre-submission quality check | TodoWrite driven | | 2 | phases/02-review-analysis.md | Parse and classify reviewer comments | TodoWrite driven | | 3 | phases/03-response-strategy.md | Plan rebuttal strategy per comment | TodoWrite driven + sentinel | | 4 | phases/04-rebuttal-writing.md | Write structured rebuttal document | TodoWrite driven + sentinel | | 5 | phases/05-revision.md | Plan and track paper revisions | TodoWrite driven |
Compact Rules:
in_progress -> Preserve full content, do not compresscompleted -> May compress to summaryRead() to recoverUser input → Structured format:
PAPER: [path to paper files]
MODE: [pre-submission | post-review]
REVIEWS: [path to reviewer comments] (post-review only)
VENUE: [target conference/journal]
OUTPUT_DIR: [directory for generated documents]paperPath ──────────────────────────────────────────────────┐
│ │
v │
Phase 1: self-review-report.md │
(Pre-submission mode ends here) │
│
reviewCommentsPath ─── Phase 2: review-analysis.md ──────────┤
│ │
v │
Phase 3: response-strategy.md ───────────┤
│ │
v │
Phase 4: rebuttal-response.md ───────────┤
│ │
v │
Phase 5: revision-plan.md ────── paperPathTodoWrite([
{ id: "phase-N", task: "Phase N: [name]", status: "in_progress" },
{ id: "phase-N-step-1", task: " Step N.1: [name]", status: "pending" },
{ id: "phase-N-step-2", task: " Step N.2: [name]", status: "pending" }
])TodoWrite([
{ id: "phase-N", task: "Phase N: [name] -- Done", status: "completed" },
{ id: "phase-N+1", task: "Phase N+1: [name]", status: "in_progress" }
])in_progressRef: markercompleted| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 10,752 | 6,403 | -40% | 1 | 1 | 0% | 1,631 | 2,484 | +52% | 0 | 0 | — |
case-02 | fail→fail | 10,005 | 6,318 | -37% | 1 | 1 | 0% | 1,546 | 2,532 | +64% | 0 | 0 | — |
case-03 | fail→fail | 4,949 | 9,158 | +85% | 1 | 1 | 0% | 238 | 2,610 | +997% | 0 | 0 | — |
case-04 | fail→fail | 4,402 | 6,612 | +50% | 1 | 1 | 0% | 521 | 2,524 | +384% | 0 | 0 | — |
case-05 | fail→pass | 6,113 | 2,811 | -54% | 1 | 1 | 0% | 915 | 2,456 | +168% | 0 | 0 | — |
case-06 | fail→pass | 7,107 | 2,813 | -60% | 1 | 1 | 0% | 1,097 | 2,537 | +131% | 0 | 0 | — |
case-07 | fail→pass | 7,523 | 1,977 | -74% | 1 | 1 | 0% | 1,093 | 2,338 | +114% | 0 | 0 | — |
case-08 | fail→pass | 13,048 | 5,422 | -58% | 1 | 1 | 0% | 2,690 | 3,120 | +16% | 0 | 0 | — |
case-09 | pass→pass | 7,038 | 4,000 | -43% | 1 | 1 | 0% | 1,022 | 2,675 | +162% | 0 | 0 | — |
case-10 | fail→pass | 9,971 | 1,742 | -83% | 1 | 1 | 0% | 1,516 | 2,310 | +52% | 0 | 0 | — |
case-11 | fail→pass | 9,796 | 3,268 | -67% | 1 | 1 | 0% | 1,428 | 2,635 | +85% | 0 | 0 | — |
case-12 | pass→fail | 9,321 | 4,044 | -57% | 1 | 1 | 0% | 1,310 | 2,743 | +109% | 0 | 0 | — |
case-13 | fail→pass | 8,662 | 2,301 | -73% | 1 | 1 | 0% | 1,141 | 2,366 | +107% | 0 | 0 | — |
case-14 | fail→pass | 6,566 | 3,188 | -51% | 1 | 1 | 0% | 896 | 2,601 | +190% | 0 | 0 | — |
case-15 | pass→pass | 7,089 | 4,325 | -39% | 1 | 1 | 0% | 1,110 | 2,866 | +158% | 0 | 0 | — |
case-16 | fail→pass | 11,383 | 2,510 | -78% | 1 | 1 | 0% | 1,656 | 2,448 | +48% | 0 | 0 | — |
case-17 | pass→pass | 11,840 | 6,506 | -45% | 1 | 1 | 0% | 1,805 | 3,029 | +68% | 0 | 0 | — |
case-18 | pass→pass | 10,381 | 4,328 | -58% | 1 | 1 | 0% | 1,573 | 2,696 | +71% | 0 | 0 | — |
case-19 | fail→pass | 7,874 | 6,995 | -11% | 1 | 1 | 0% | 1,142 | 3,137 | +175% | 0 | 0 | — |
case-20 | fail→fail | 6,764 | 7,517 | +11% | 1 | 1 | 0% | 1,015 | 2,583 | +154% | 0 | 0 | — |
case-21 | pass→fail | 15,544 | 23,225 | +49% | 1 | 1 | 0% | 2,328 | 5,500 | +136% | 0 | 0 | — |
case-22 | pass→pass | 9,021 | 9,326 | +3% | 1 | 1 | 0% | 1,277 | 3,271 | +156% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +36 percentage points is the difference between those two pass rates over the 18 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.