Build auditable peer-review revision and author-response packages for Light stage 13. Use after receiving reviewer comments, a decision or meta-review; when drafting a rebuttal or response letter; when triaging major/minor revisions; when simulating a pre-submission review; or when a rejection may require a user-chosen 13→3 novelty, 13→5 experiment, or 13→8 writing back-edge. Consumes the selected venue/context and real PDF facts, preserves reviewer wording, atomizes issues, binds claims/evid...
Scanned 8/31/2026
Install to Claude Code
npx -y skills add Light0305/Light-skills --skill light-review-rebuttal --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Light Review Rebuttal?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/light0305-light-review-rebuttal)More formats (shields.io, HTML) on the badges page.
---
name: light-review-rebuttal
description: Build auditable peer-review revision and author-response packages for Light stage 13. Use after receiving reviewer comments, a decision or meta-review; when drafting a rebuttal or response letter; when triaging major/minor revisions; when simulating a pre-submission review; or when a rejection may require a user-chosen 13→3 novelty, 13→5 experiment, or 13→8 writing back-edge. Consumes the selected venue/context and real PDF facts, preserves reviewer wording, atomizes issues, binds claims/evidence/actions/provenance, separates PLANNED from DONE, checks current venue limits without borrowing another venue's rules, and emits the stage-13 gate without changing venue, manuscript, evidence, citations, figures, PDF, or passport automatically.
---
# Review and rebuttal
Build a source-preserving review registry, issue matrix, revision plan,
evidence/change map, response draft, commitment ledger, unknown/failure record,
and delivery package. Treat prose generation as the last layer, not the first.
Read [`review-rebuttal-resource-map.md`](review-rebuttal-resource-map.md) before
a real run. Read
[`references/workflow_contract.md`](references/workflow_contract.md) before
creating or consuming canonical JSON. Read [`references.md`](references.md)
when selecting review/rule sources. The competitor evidence is
[`../../docs/competitors/review-rebuttal.md`](../../docs/competitors/review-rebuttal.md).
## Non-negotiable boundaries
1. Consume venue-matching's selected handoff and review context. Verify selected
identity, `selected_at` timezone, `selection_basis`, user/delegated
authorization, chosen candidate ID, fit/risk row, unmodified rule envelopes,
source evidence path/as-of/source IDs, manuscript profile, and PDF
path/hash/pages/page size/profile/compliance. Never switch venue, reorder
tiers, or turn venue `UNKNOWN` into a fact.
2. Keep reviewer, editor, decision, and meta-review text verbatim in the
canonical registry. Atom labels, root causes, strategies, and generated
prose are interpretation layers; they never replace source text.
3. Record fetch time, source URL/type, round, reviewer ID, attachments and
`AVAILABLE|UNKNOWN|UNAVAILABLE|STALE`. A 401/403/429/5xx, timeout, login,
private invitation or network failure is `UNAVAILABLE`, not “no review.”
4. Never invent an experiment, analysis, citation, change, line number,
reviewer identity, venue rule or result. `PLANNED` and `IN_PROGRESS` may not
be phrased as completed. `DONE` requires a real change locator; completed
experiment/analysis additionally requires verifiable run provenance with a
matching SHA-256, not merely a local path.
Before marking a response package ready, run the atom/action contract gate so
source spans, reconstruction hashes, policy/ethics authorization and
perspective-specific self-review are machine-checked rather than trusted.
5. Paper-writing owns manuscript claims and edits. Result-analysis owns
evidence strength. Citation owns new-reference identity and claim support.
Figure owns visual honesty. Typesetting owns PDF rebuild/compliance. This
skill records and routes work; it does not impersonate those producers.
6. Stage 13 critical is narrow: only a routable root cause
(`novelty|experiment|writing`) explicitly marked `rejection_driving=true`
with a complete decision/meta-review/reviewer evidence envelope may become
critical. Major labels or an overall Reject alone do not make every comment
critical.
7. `reviewer_classify` and `reroute` produce advice only. Stop after presenting
evidence and alternatives. Run `passport add-back-edge` only after the user
chooses the root cause/back-edge. Never mutate the passport automatically.
## Canonical workflow
### 1. Verify upstream identity
Require:
- `light.selected_venue_handoff.v1`;
- `light.review_rebuttal_venue_context.v1`;
- `light.paper_claims.v1`;
- `light.evidence_strength.v1`;
- citation registry when any new citation is proposed;
- the actual delivered PDF and its stage-11 facts.
Run:
```bash
python scripts/review_workflow.py \
--spec review-input.json \
--outdir review-delivery
```
If venue identity, rule envelopes, PDF hash, compliance, claims or evidence IDs
do not agree, stop and repair the producer artifact. Do not “normalize” a
conflict away.
The selected handoff must also retain A32's audit fields: timezone-bearing
`selected_at` that is not in the future, non-empty `selection_basis`,
`decision_authority=user`, coherent `selected_by/status`, delegated
`user_authorization` when applicable,
unchanged `fit_risk`, and a readable `source_evidence.path` whose SHA-256
matches the selected handoff and whose `as_of/source_ids` cover every sourced
venue rule.
### 2. Capture reviews and decisions
For user-provided/private material, copy the text into `reviews[].raw_text`
without correction and record `reviews[].raw_sha256` plus a timezone-aware
`captured_at`; the workflow re-computes the hash and blocks future/naive capture
times. For a public OpenReview forum:
```bash
python scripts/fetch_openreview.py \
--forum <forum-id> \
--out openreview-capture.json
```
If the live API is unavailable but a fixed public PeerRead/OpenReview snapshot
is the declared evidence source, capture that exact commit-pinned JSON instead:
```bash
python scripts/fetch_openreview.py \
--peerread-url <raw-fixed-commit-json-url> \
--out peerread-capture.json
```
The capture is calibration/source evidence. Do not redistribute restricted
reviews. If capture is unavailable, continue only with material the user
provided and retain the failure record.
### 3. Atomize without erasing source
Create one atom for each distinct `request`, `claim`, `question`,
`misunderstanding`, or `editorial` item. Each atom must contain an exact
contiguous source span copied from `raw_text`, with start/end offsets, span
text and SHA-256. Also create addressable coverage units and a reconstruction
hash for the reviewer units that require a response.
Assign one root cause such as `novelty`, `experiment`, `writing`,
`clarification`, `citation`, `ethics`, `scope`, or `editorial`. Add a separate
interpretation explaining the inferred concern. If a sentence contains two
independent asks, create two atoms pointing to the same or overlapping source
span; do not paraphrase the reviewer into a new source quote.
Run the stricter losslessness/response-action gate before drafting:
```bash
python scripts/review_response_contract.py \
--input templates/review-response-contract.example.json
```
Replace the template with the real contract. The example is intentionally
non-passing until current venue policy, ethics state and user authorization are
verified. This gate catches missing reviewer units, duplicate atom/action
coverage, fake DONE wording, incomplete evidence kinds, policy-forbidden
reviewer requests, missing reviewer competence/conflict cards, and missing
`domain|method|statistics|ethics|cold_reader` self-review perspectives.
### 4. Bind issues to owned evidence and actions
For every atom:
- bind exact paper `claim_id` values or leave the list empty;
- bind only real result-analysis evidence IDs;
- choose one strategy:
`acknowledge_and_fix`, `rebut_with_evidence`, `clarify`,
`downgrade_claim`, or `request_editor_ruling`;
- assign an owner and `PLANNED|IN_PROGRESS|DONE|DECLINED|NOT_APPLICABLE`;
- add change locator only after paper-writing actually edits the manuscript;
- add run provenance only after an experiment/analysis actually runs; for
`DONE` experiment/analysis the artifact path must exist and match
`run_provenance.sha256`;
- route new references through citation and keep them out until `CONFIRMED`.
Reviewer error is not permission to ignore a comment. Clarify with manuscript
locator and evidence, or request editor ruling when the disagreement is
material.
When a reviewer request itself conflicts with venue policy, ethics approval,
data rights, consent, budget authorization or editor instructions, do not
silently comply. Mark the action as `DECLINED` or `REQUEST_RULING`, bind the
policy/ethics evidence, and keep the reviewer wording intact.
### 5. Budget from the selected venue only
Run:
```bash
python scripts/rebuttal_budget.py \
review-delivery/response-draft.md \
--context review-rebuttal-context.json
```
An `AVAILABLE` current authoritative rule can yield PASS/FAIL. `UNKNOWN`,
`UNAVAILABLE`, `STALE`, or a page-only rule stays non-passing and explicit.
Never apply an ICLR/CVPR/other venue preset to JORS or vice versa.
For every reviewer request for new numbers/experiments, classify it before any
run as reanalysis/minimal/adapted/new-data plus feasibility and intended action:
```bash
python scripts/experiment_request_gate.py \
--input templates/experiment_request.example.json
```
The template is intentionally `UNKNOWN` and non-passing until current official
rules and a real user authorization replace its placeholders.
`RUN` requires a VERIFIED current venue rule with `source_type=OFFICIAL`, a real
source and ISO check date that allows new results, plus feasible scope, protocol,
budget and user authorization. Tier-D new data/human study/
large sweep needs separate authorization. This gate only permits a run;
`DONE` still requires run manifest + result artifact hash, and only then may
the response use completed tense.
### 6. Check commitment truth
Run:
```bash
python scripts/check_commitments.py \
--ledger review-delivery/commitment-ledger.json \
--issues review-delivery/issue-matrix.json \
--change-map review-delivery/evidence-change-map.json
```
Repair every critical finding. A valid locator proves only that a claimed
change is traceable, not that the scientific response is adequate; perform a
human re-review against the actual revised artifact.
### 7. Gate and pause
Run:
```bash
python scripts/reviewer_classify.py \
--issues review-delivery/issue-matrix.json \
--out reviewer-findings.json
python ../light-orchestrator/scripts/run_checkpoint.py \
--file .light/passport.yaml --stage 13 \
--findings reviewer-findings.json --ts <ISO-8601> --write
python ../light-orchestrator/scripts/reroute.py \
--findings reviewer-findings.json --stage 13 \
--passport .light/passport.yaml
```
If the gate fails, present each evidenced option:
- 13→3 for rejection-driving novelty;
- 13→5 for rejection-driving experiment/design;
- 13→8 for rejection-driving writing/presentation;
- rebut with evidence;
- downgrade the claim or record a limitation;
- request editor ruling.
Stop for the user's choice. Only then run:
```bash
python ../light-orchestrator/scripts/passport.py add-back-edge \
--to <3|5|8> --from 13 --root-cause "<user-approved reason>" \
--evidence-ptr <issue/evidence locator> --file .light/passport.yaml
```
## Resource ownership
| Resource | Responsibility |
|---|---|
| `review-rebuttal-resource-map.md` | execution order, source/access layers, cross-skill routing |
| `references/workflow_contract.md` | schemas, statuses, invariants and artifact semantics |
| `references.md` | live source policy, OpenReview/JORS caveats, verification guidance |
| `templates/*` | blank author inputs and human-readable response/re-review shapes |
| `scripts/review_workflow.py` | canonical validation and package emission |
| `scripts/review_response_contract.py` | source-span/reconstruction, atom coverage, response-action evidence, policy/ethics, reviewer-card and self-review gate |
| `scripts/fetch_openreview.py` | live API or fixed public snapshot capture; honest unavailable state and duplicate accounting |
| `scripts/reviewer_classify.py` | only evidenced rejection-driving stage-13 findings |
| `scripts/check_commitments.py` | coverage and PLANNED/DONE/provenance gate |
| `scripts/rebuttal_budget.py` | selected-context budget assessment; no venue presets |
| `scripts/experiment_request_gate.py` | venue-policy/feasibility/tier/authorization gate; never runs experiments |
## Self-check
- [ ] Selected venue/context, user-selection audit fields, source-evidence hash and actual PDF facts agree byte-for-byte.
- [ ] Reviewer/editor/meta-review source text is preserved and every atom points
to an exact source span with offset and hash.
- [ ] Every available review source has timezone-aware `captured_at` and
`raw_sha256`; the registry hash matches the exact `raw_text`.
- [ ] Addressable reviewer units reconstruct to the expected hash; no unit is
omitted or duplicated unless explicitly justified.
- [ ] Every issue has type, root cause, strategy, owner and truthful status.
- [ ] Every response action declares evidence kind; `DONE` rows have real
locators; completed scientific actions have run provenance path + SHA-256
match; proposed citations are citation-confirmed.
- [ ] Reviewer competence/conflict cards are recorded but never used to dismiss
comments without editor ruling.
- [ ] Domain, method, statistics, ethics and cold-reader self-review all pass or
have unresolved blockers surfaced before package-ready.
- [ ] Current venue response limits are sourced, or remain `UNKNOWN`.
- [ ] Commitment coverage passes and no planned action is written as done.
- [ ] Every experiment ask has tier/feasibility/action; RUN is venue-verified and user-authorized.
- [ ] Critical findings have explicit rejection-driving evidence.
- [ ] Reroute advice was shown to the user and no passport edge was added before
the user's choice.
## Honest capability boundary
Atomization, triage, point-by-point drafting, tone guidance, reviewer priority,
budgeting, change locators, promise tracking and venue adaptation are common in
peer skills; do not claim them as unique. Light's narrower machine contribution
is verified consumption of upstream venue/PDF/claim/evidence/citation
contracts, immutable source versus interpretation layers, strict
PLANNED/DONE/run-provenance checks, and evidence-gated stage-13 routing that
cannot execute without a user decision. Classification and response quality
still require expert judgment.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!