Writing Review
!bun ${CLAUDE_SKILL_DIR}/../../scripts/load-constraints.ts writing-review
Run independent, evidence-grounded review against the authenticated PLAN's claims, counterarguments, source plan, section outputs, dependencies, and review surfaces. Findings live in TaskList; this phase does not create a competing planning or review ledger.
Iron Laws
- NO REVIEW WITHOUT READING THE DRAFT AND ITS PLAN-BOUND OUTLINE.
- NO PASS WITHOUT QUOTED EVIDENCE.
- NO SELF-REVIEW. Fresh reviewer agents must be distinct from drafting agents.
- NO CANONICAL FALLBACK. Missing
planPath, hash mismatch, malformed index, or retired-file input blocks review.
Inputs
- Authenticate the exact generated writing
plan_fileandplan_hashfrom the approved combinedreview.jsonreceipt; the compiler exposes them as indexplanFileandplanHash. - Compile the deterministic section index through a read-only agent and parse its stdout in memory; require index
planFile,planHash, andreviewStatusto equal receiptplan_file,plan_hash, andstatus. - Verify every Section Outputs row has its exact outline and draft path and exact
implementsfrontmatter, including[]for claimless sections. - Load the domain skill and
workflows:ai-anti-patterns. - Run mechanical writing constraints and the PLAN-based gate probe before semantic review.
Invocation
Workflow({
scriptPath: "${CLAUDE_SKILL_DIR}/../../workflows/writing-review.js",
args: {
projectDir: "<absolute project root>",
pluginRoot: "${CLAUDE_SKILL_DIR}/../../workflows",
planPath: "<index.planPath>",
planHash: "<index.planHash>",
sectionIndex: <parsed in-memory index>
}
})
Selective re-review may pass onlyChecks and priorReviews only for the same plan hash. A structural replacement invalidates all prior review carry-forward.
Required Review Layers
- Section structure: every paragraph and subsection executes the mapped claims and section role.
- Prose quality: domain register, topic-sentence argument, clarity, rhythm, and AI-pattern checks.
- Source fidelity: every citation resolves and supports the proposition attributed to it, using Source Plan context.
- Transitions: adjacent dependency boundaries connect.
- Whole document: claim coverage, counterarguments, scope, hook, conclusion, concept order, and repetition.
- Review Surfaces: explicitly inspect every surface listed in PLAN.
Every normalized finding includes severity, location or review area, diagnosis, planHash, stable retry identity, and affected section/claim IDs where applicable. Section findings also retain verbatim quotes and proposed fixes when supplied. Mechanical quote verification drops fabricated or misattributed evidence, marks the section unreliable, and emits its own critical TaskList-ready finding.
TaskList Contract
Create or update current-hash review items rather than writing a review Markdown file:
- one whole-document review item;
- section findings bound to section name and mapped
CLAIM-NNIDs; - transition findings bound to both adjacent sections;
- source findings bound to bibkey/authority and draft location;
- disposition (
open,fixed,accepted, orsuperseded) and retry linkage.
critical and major findings block. Minor polish is advisory. Unreliable reviewer output blocks a clean verdict.
Gate
Read result.overallPass, normalized findings, raw counts, unreliable sections, quoted evidence, and final artifact hashes. A clean substrate requires zero critical, zero major, no unreliable sections, unchanged plan/outline/draft bytes after asynchronous review, and completed Review Surfaces. Reconcile every finding into TaskList before routing to /writing-revise; a clean result proceeds to the returned human review surface. Neither path creates a mutable planning ledger.
Scan to join WeChat group