$npx -y skills add Aperivue/medsci-skills --skill reviseParse peer reviewer comments and generate a structured Response to Reviewers document with tracked manuscript changes. Classifies comments as MAJOR/MINOR/REBUTTAL, coordinates new analyses with /analyze-stats and /make-figures, and produces cover letter for editor.
| 1 | # Revision Skill -- Response to Peer Reviewers |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | Parse reviewer decision letters, classify each comment by type, generate a formal Response to Reviewers document, track required manuscript changes, and coordinate with /analyze-stats or /make-figures when new analyses or visuals are needed. |
| 6 | |
| 7 | --- |
| 8 | |
| 9 | ## Activation |
| 10 | |
| 11 | When the user provides reviewer comments (pasted text, PDF, or file path), or requests revision of a manuscript, this skill activates. Before proceeding, confirm: |
| 12 | |
| 13 | 1. The reviewer decision letter (pasted text or file path) |
| 14 | 2. The current manuscript file (`paper/main.tex` or `paper/main.qmd`) |
| 15 | 3. The revision round number (default: R1) |
| 16 | 4. The journal name (affects cover letter format) |
| 17 | |
| 18 | --- |
| 19 | |
| 20 | ## Reference Files |
| 21 | |
| 22 | - **Response-letter voice gallery**: `${CLAUDE_SKILL_DIR}/references/r2r_voice.md` -- before/after examples, three response skeletons (accept / partial-accept / polite-rebuttal), and a meta-phrase-to-natural conversion table. Read it before drafting the Response to Reviewers document. |
| 23 | |
| 24 | --- |
| 25 | |
| 26 | ## Step 1: Parse and Number All Comments |
| 27 | |
| 28 | Read the full decision letter. Extract every discrete comment from every reviewer and the editor. |
| 29 | |
| 30 | ### Numbering Convention |
| 31 | |
| 32 | ``` |
| 33 | E-1, E-2, ... <- Editor comments |
| 34 | R1-1, R1-2, ... <- Reviewer 1 comments |
| 35 | R2-1, R2-2, ... <- Reviewer 2 comments |
| 36 | R3-1, R3-2, ... <- Reviewer 3 (if present) |
| 37 | ``` |
| 38 | |
| 39 | If a reviewer groups multiple requests in one paragraph, split them into sub-items: `R1-3a, R1-3b, R1-3c` |
| 40 | |
| 41 | ### Classification |
| 42 | |
| 43 | | Type | Symbol | Definition | |
| 44 | |------|--------|------------| |
| 45 | | **MAJOR** | `[MAJ]` | Requires new experiment, re-analysis, new figure/table, or substantial structural rewrite | |
| 46 | | **MINOR** | `[MIN]` | Requires text revision, clarification, formatting change, or additional citation | |
| 47 | | **REBUTTAL** | `[REB]` | Reviewer is factually incorrect, misunderstood the study, or requests something scientifically unjustified | |
| 48 | |
| 49 | Output a classified comment list before generating responses: |
| 50 | |
| 51 | ``` |
| 52 | E-1 [MIN] Request to shorten abstract |
| 53 | R1-1 [MAJ] Requires subgroup analysis by scanner type |
| 54 | R1-2 [MIN] Clarify exclusion criteria rationale |
| 55 | R1-3 [REB] Claims our sample size is underpowered (we disagree) |
| 56 | R2-1 [MAJ] Requires additional figure showing calibration curve |
| 57 | R2-2 [MIN] Add reference to [Author Year] |
| 58 | ``` |
| 59 | |
| 60 | **Gate:** Present the classified comment list to the user. Confirm classifications |
| 61 | (especially REBUTTAL vs MAJOR) before generating responses. A misclassified REBUTTAL |
| 62 | generates a response that argues with a valid reviewer point. |
| 63 | |
| 64 | --- |
| 65 | |
| 66 | ## Step 2: Triage -- Flag External Actions Needed |
| 67 | |
| 68 | Before writing responses, identify which comments require external action: |
| 69 | |
| 70 | **Comments requiring /analyze-stats:** Flag any MAJOR comment that requires new statistical analysis, re-run of existing analysis, additional metric (calibration, NRI, ICC), or sample size recalculation. When the source is a `/self-review` finding, any issue carrying `requires_reanalysis: true` (power/MDE re-simulation under the full model, first-visit / one-record-per-subject dedup, an extended- or reduced-adjustment over-adjustment sensitivity, optimism correction of calibration) is automatically a `/analyze-stats` routing item — it cannot be answered by a prose edit, so it must produce a committed script + CSV whose numbers are then fed back here. |
| 71 | |
| 72 | **Comments requiring /make-figures:** Flag any MAJOR comment that requires a new figure or revised figure (calibration plot, subgroup forest plot, Bland-Altman, new panel). |
| 73 | |
| 74 | Output: "The following comments require statistical analysis before responses can be finalized: R1-1, R2-3. Run /analyze-stats with these tasks, then return to /revise." |
| 75 | |
| 76 | **If `/analyze-stats` or `/make-figures` is not installed in this environment**, do not invent numbers or figures. Emit the same routing list as an explicit checklist for the author to run manually (the named analysis or figure per comment) and hold those responses as `BLOCKED — pending analysis/figure` until the committed script + CSV (or figure file) returns. The reviewer-response numbers must always trace to a produced artifact, never to a model estimate. |
| 77 | |
| 78 | --- |
| 79 | |
| 80 | ## Step 2.5: Revision Numerical Lineage Check (MANDATORY) |
| 81 | |
| 82 | Revision-time is the highest-risk moment for numerical hallucinations. A new analysis script |
| 83 | written to satisfy a reviewer — typically a comparative arm, a subgroup, or a sensitivity |
| 84 | check — frequently hand-enters values copied by e |