skills/peer-review/SKILL.md
Support an accountable human reviewer with a rigorous, fair, actionable assessment. Treat every unpublished submission and review as confidential.
Before reading or analyzing unpublished content:
If authorization is unclear, do not inspect or quote the manuscript. Ask for confirmation or use only the bundled local CLIs, whose reports do not echo manuscript text.
Never:
.env files, API keys, or credentialsDelete local copies and derivatives when policy requires; otherwise retain only what the controlling policy authorizes. Record deletion or retention without copying confidential content into the record.
Read references/ethical_review_practice.md before handling confidential material.
Label generated text as a working draft. The accountable human must:
Automated coverage, consistency, or lint results are not peer review and do not establish manuscript merit.
Copy and complete assets/review_intake_template.json, then run:
python3 scripts/validate_review_intake.py completed-intake.json
Proceed only when status is READY_FOR_LOCAL_REVIEW.
The validator blocks:
It validates declarations, not their truth.
Record:
Do not infer absent content. Use “not reported” or “not available for review.”
Create a short neutral map:
Do not write an acceptance/rejection recommendation. Identify what evidence would be needed to evaluate each claim.
Copy assets/study_profile_template.json and run:
python3 scripts/select_reporting_guidelines.py local-profile.json
For checklist coverage:
python3 scripts/select_reporting_guidelines.py \
local-profile.json \
--coverage local-coverage.csv
Use the current base guideline, explanation/elaboration, applicable extensions, and target venue policy. See references/reporting_standards.md.
Critical distinction: reporting completeness is not design quality, risk of bias, validity, or merit. Never convert missing items into an automatic score or publication judgment.
Prioritize central, causal, mechanistic, safety, diagnostic, prediction, and generalization claims.
For each claim, record:
Run:
python3 scripts/validate_claim_evidence.py local-claim-matrix.csv
Start from assets/claim_evidence_matrix_template.csv. The report emits IDs and counts, not claim text.
Assess in this order:
Use references/common_issues.md and references/statistical_reproducibility.md.
For a structured local audit:
python3 scripts/audit_statistics_reproducibility.py \
local-statistics-reproducibility.json
Start from assets/statistical_reproducibility_template.json. Request specialist review when a central method exceeds competence; do not hide uncertainty behind a generic critique.
Check, as applicable:
Do not claim reproduction unless authorized inputs were actually run with documented commands, environment, and outputs.
Check applicable approvals, consent, welfare, privacy, community governance, funding, sponsor role, conflicts, authorship/contribution, registration, biosafety, and dual-use concerns.
Describe observable evidence and uncertainty. Do not accuse authors or investigate them. Route credible concerns through the confidential editor channel under venue policy.
For figures and tables, assess:
This skill has no image-generation or PDF-conversion workflow. Use only user-authorized local artifacts and tools.
For Pandoc-style citations such as [@ref-id]:
python3 scripts/audit_citations.py local-manuscript.md local-references.csv
Start from assets/citation_references_template.csv. This checks key consistency and identifier format only; it does not verify that a source exists or supports a claim.
Generate a private scaffold only after intake passes:
python3 scripts/generate_review_scaffold.py \
completed-intake.json \
-o private-review.md
Every major/minor comment should include:
Prioritize:
Requests for new work must be necessary to support a central claim and proportionate to scope. Offer narrowing, clarification, sensitivity analysis, correction, or limitation language when that is sufficient.
Comments to authors contain the scientific review, strengths, major/minor comments, and limitations.
Confidential comments to editor contain only policy-appropriate conflicts, competence limits, assistance disclosure, specialist requests, or substantiated integrity/process concerns that require a separate route.
Do not place ordinary criticism only in confidential notes. Do not reveal reviewer identity under an anonymized process.
python3 scripts/lint_review.py private-review.md
The linter checks channel separation, unresolved placeholders, a narrow abusive-language lexicon, role/decision phrases, and required actionability fields. It emits line numbers and rule IDs, not review text. Human tone and scientific review remain mandatory.
Before handoff:
scripts/validate_review_intake.py — scope, authorization, conflicts, policy, handlingscripts/select_reporting_guidelines.py — dated selector and non-scoring coverage auditscripts/validate_claim_evidence.py — claim/evidence alignment matrixscripts/audit_statistics_reproducibility.py — methods/statistics/reproducibility checklistscripts/audit_citations.py — local citation/reference consistencyscripts/generate_review_scaffold.py — separated private Markdown scaffoldscripts/lint_review.py — tone, channel, and actionability lintFull schemas and exit codes: references/tool_reference.md.
references/ethical_review_practice.md — COPE/ICMJE duties, confidentiality, AI, channelsreferences/reporting_standards.md — current major guidelines and verified domain standardsreferences/statistical_reproducibility.md — methods, statistics, and reproducibility reviewreferences/common_issues.md — contextual issue patterns and constructive responsesreferences/security_validation.md — baseline remediation and local scan resultsassets/source_ledger.csv — authoritative sources verified 2026-07-23assets/reporting_guidelines.json — local selector catalogassets/review_scaffold_template.md — private structured draftThe source ledger is dated. Recheck live primary sources and the target venue policy for a later review, without exposing confidential manuscript text in search queries.