Skip to content
cccskills
FreePublished on GitHub

research-review

Work the review of a research run with rs_review — read the manuscript and record the panel's concerns with the evidence that grounds each one, keep the author's reply and the re-review's finding in their separate columns, run the devil's advocate with the concession threshold the tool enforces, and write the panel report and traceability matrix a response-to-reviewers letter is built from. Use when a document is ready for review, when a concern has to be answered or re-reviewed, or when an attack or a concession is being recorded.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md7.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

A review is a ledger of concerns

rs_review records a review; it does not perform one. Reading the manuscript and deciding what is wrong with it is your work, in your own reading of the document (rs_read what=file gives you the prose; what=outline names the sections). What the tool gives you is that no concern can be lost, no concern can be closed by wishing, and the two questions a revision round turns on stay separate.

Record what you found, with where you found it

rs_review slug=sleep-memory-review action=panel
  items=[{ "role": "methodology", "concern": "the inclusion criteria are stated but
      no search date is given, so the review cannot be reproduced",
    "severity": "major", "criterion": "reproducibility",
    "evidence": "method", "suggestion": "state the search date and the databases with
      their dates of access" },
   { "role": "domain", "concern": "the synthesis treats slow-wave sleep as one
      mechanism across paediatric and adult samples",
    "severity": "major", "criterion": "evidence", "evidence": "c0148",
    "suggestion": "separate the two samples or say why they are pooled" }]
Recorded round 1 for sleep-memory-review: 2 concern(s)
  f0001  [major, methodology, reproducibility]
  f0002  [major, domain, evidence]

Next: answer each one with `rs_review action=answer id=… status=addressed reply="…"`,
then have a fresh reader check it with `rs_review action=rereview`.

Always give evidence — a section slug, or a claim id, so the two tools meet: the reviewer names c0148 and the author finds the sentence, its status and the source it rests on with rs_read what=claims. A concern with no location is one the author cannot find, and that is the commonest way a review wastes a revision round.

Roles: journal-fit, methodology, domain, devils-advocate, editor, author. Criteria: fit, method, evidence, novelty, clarity, ethics, reproducibility, significance. Severities: major, minor, note. Criterion is what groups the report, severity is what decides the round, and neither is worth arguing about — pick the honest one.

Reviewers read; they do not edit

A reviewer's output is findings, not a redraft. When you dispatch a reviewer subagent, tell it to use read-only tools, to read the manuscript as it stands, and to report concerns with their evidence — not to rewrite a sentence, not to edit a claim, not to run rs_write. Say this in the subagent's own prompt, because nothing here enforces it: the tool has no way to know whether the words it was handed came from a reader or from an editor, so this discipline is yours. A reviewer that silently repairs the document destroys the finding that would have justified the repair.

Two columns, and two different statements

action=answer records the author's reply: { id, status: addressed|rejected, reply }. reply is required — "addressed" with no sentence is not something a reviewer can check.

action=rereview records what a fresh reader found after the revision: { id, verified: true|false, reason, by }. It is a separate column because "I fixed it" and "it is fixed" are different statements, and a letter that merges them is how a revision passes review without the change existing.

rs_review slug=sleep-memory-review action=answer id=f0001 status=addressed
  reply="the search date, the four databases and the access dates are now in the
    first paragraph of Methods"
rs_review slug=sleep-memory-review action=rereview id=f0001
  verified=false by="a fresh reader subagent, given the revised method section only"
  reason="it names the databases and their access dates but still no search date"
Finding f0001 is now addressed (your words, not a verification)
- your answer: the search date, the four databases and the access dates are now in
  the first paragraph of Methods

A re-review decides whether it is actually settled:
`rs_review action=rereview id=f0001 verified=true|false reason="…"`. Until then the
matrix says `not re-reviewed`.

verified=false is a normal, useful answer: the revision did not do what the reply said it did. Record it, with a reason that says what did not settle, and tell the user in plain words what is still outstanding. A re-review of a concern that has no answer yet is refused: there is nothing to verify.

The devil's advocate, and the protocol the tool enforces

action=attack raises one. action=concede records a concession and requires the rebuttal's score — how directly and how evidential the reply was, not how firmly it was made:

  • 1 — it repeated itself.
  • 3 — it answered a different question.
  • 4 — it answered this attack with evidence.
  • 5 — that, plus a demonstration.

Below 4 the concession is refused, the advocate holds position and restates the attack; and two concessions in a row are refused outright, because a sequence of concessions that looks like a debate and is actually agreement with extra steps is the sycophancy pattern this protocol exists to slow. Treat a refusal as the protocol working, not as an error to route around: score honestly, record the score you actually mean, and if the reply really was answered, say what evidence answered it. action=attack is where a held position goes when it is worth keeping.

The sycophancy warning is a signal, not a statistic

action=read prints the advocate's attack count, concession count and rate, and when the rate is at or above half over enough exchanges the report says so in a sentence. That warning is the only place the pattern is visible — every individual concession looked reasonable. Raise it with the user when it appears, and re-read the attacks the advocate held: conceding is not the same as being answered.

Writing it up

action=read prints the traceability matrix: one row per concern, with the author's answer and the re-review's finding in separate columns and still open in the answer column where there is none. action=write puts reviews/panel-r<n>.md (the round's concerns, grouped and counted) and reviews/traceability.md on disk — that pair is what a response-to-reviewers letter is written from, and the matrix is pasted into it.

A response letter with an open concern in it concedes the point. Before writing one, check the open count action=read reports and either answer and re-review what is open, or say plainly in the letter what remains unresolved and why. Writing the letter early, while the matrix still says still open, is how a revision looks finished while the concern stands.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Author an editorial HTML+SVG diagram with the Diagram Design kit - choose the visual type, read its reference, start from an example, and satisfy the safety and accessibility contract that diagram_write({kind:"html"}) enforces.

The English summary is being prepared. Showing the original description.

vecnode/vn-code9Updated Oct 19, 2026

Drive ffmpeg through the media_run tool as an argv array - remux instead of re-encode, map streams explicitly, trim at keyframes, scale and crop, extract audio and frames, and build GIFs, contact sheets and concatenations. Covers the flags this pack injects, reading a failure from its exit code and last log lines, and the version-dependent spellings to hedge.

The English summary is being prepared. Showing the original description.

vecnode/vn-code9Updated Oct 19, 2026

Read a media file's real structure with ffprobe through media_run - the JSON invocation and how to read it, what every family of field means, how to count frames, sample without decoding everything, detect HDR and interlacing, and diagnose a missing duration, a stream with no frames or a container that lies. Covers when media_probe's own report is already enough.

The English summary is being prepared. Showing the original description.

vecnode/vn-code9Updated Oct 19, 2026

Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.

The English summary is being prepared. Showing the original description.

vecnode/vn-code9Updated Oct 19, 2026

Author Mermaid diagrams that parse the first time: choose the right diagram type for the question, write syntax the parser accepts, and keep the picture readable in a narrow panel. A bundled reference covers complex, large diagrams.

The English summary is being prepared. Showing the original description.

vecnode/vn-code9Updated Oct 19, 2026

Write openFrameworks prototypes into the lab — real C++ (ofApp.h, ofApp.cpp, main.cpp) that builds into an app with the projectGenerator and make. Use for native/desktop sketches, performance-sensitive work, OpenGL, audio input, sensors, anything that has to be an application rather than a page.

The English summary is being prepared. Showing the original description.

vecnode/vn-code9Updated Oct 19, 2026

See all skills by vecnode

Report a problem with this skill