Revisit Skill — Review & Improve an Existing Study
Given a target that resolves to one or more existing study files, re-run the six analysis seats in review mode over each file: every seat examines the whole document, rewrites its own section to preserve what survives scrutiny and improve what does not, then the expositor rewrites ## Overview from the revised sections, the critic audits the assembled draft's reasoning, and the bibliographer re-verifies it before it replaces the original.
This skill never creates a new study — a target with no existing file is an error (point the user to /research). It follows the same pipeline shape as the research skill, with review posture instead of fresh composition.
Failure rule (applies throughout): a run fails for a file when one or more seat subagents fail or return empty/garbage output after one retry, or when the expositor, critic, or bibliographer pass cannot complete. On failure, leave the original file untouched, discard the draft, and report which stage failed. Never write a partially revised document. TODO.md is never modified by this skill.
Step 0: Parse the Arguments
If the argument string contains --, split once on it: the left side is the target, the right side is the review context — free text describing what prompted the revisit (a new discovery, updated scholarship, a newer model, a resource now available). Otherwise the whole string is the target and the context is empty. The context is passed verbatim to every seat, to the critic, and to the bibliographer.
Examples:
/revisit HAG 02:20-23/revisit JAS 01 -- re-examine with current scholarship on diaspora audience/revisit Holy Ground -- 2025 Mount Ebal tablet re-dating/revisit content/Topics/Chroma/Gold.md
Step 1: Resolve the Target to Existing File(s)
Resolve using the resolution patterns of create-study Step 0 (read .claude/skills/create-study/SKILL.md — passage normalization with worked examples, cross-chapter ranges, range fallback glob, file paths, Topics/Characters branches). Borrow only its three resolution patterns — not its [output-dir] argument-splitting mechanism; revisit has no output-dir argument, and the -- split in Step 0 above is the only splitting this skill does. Two additional patterns, tried alongside the three before any halt:
- Chapter target —
BOOK CHwith no colon (e.g.JAS 01,PSA 23): zero-pad the chapter per create-study's rule (2 digits for most books, 3 for Psalms —PSA 23→023), then resolve to every.mdfile incontent/Books/*/<BOOK_CODE>/<CHAPTER>/. - Directory target — an argument naming an existing directory under
content/: resolve to every.mdfile directly inside it.
Multiple files are processed sequentially — run Steps 2–7 to completion for one file before starting the next.
If nothing resolves, halt with a clear error: list the nearest existing files (e.g. the chapter folder's contents) and suggest /research if the passage has never been studied. Never fabricate a target and never create a new file.
Step 2: Read the Original in Full
Read the resolved file end-to-end and identify:
- The title (first H1) — carried into the revision verbatim.
- The scripture blockquote and its attribution line (translation name), if present.
- Each of the six standard sections (the table in Step 4), noting any that are missing. Identify semantically, not by exact string: a heading variant (e.g.
## Hermeneutic Analysisfor## Hermeneutic) is that standard section — assign it to its seat, which normalizes the heading — never both carried over and rewritten. ## Overview, if present. In a file with a scripture blockquote it is a standard section owned by the expositor: its old text is input to Step 5b, not carried over. In a file without a blockquote (some topic studies, e.g.content/Topics/Wings.md) it is non-standard and carried over verbatim.- Any non-standard
##sections (e.g.## Curated Passage Index,## Key Passages Reference) — these are carried over verbatim in their original positions; no seat owns them. ## Sources, if present — it is dropped from the draft; the bibliographer rebuilds it in Step 7.- Legacy shape (extra unnumbered subsections,
---inside sections): note it — the seats normalize their own sections to current contracts.
Copy the original to the scratchpad as a snapshot before any other step touches it.
If the file has none of the six standard sections, it is not a study this skill can revise: halt for that file and report.
Step 3: Verify the Scripture Block
If the original has a scripture blockquote: fetch the same passage in the same translation named in the attribution line from a source (RESOURCES.md — Bible Gateway, Bible Hub, Step Bible, Blue Letter Bible — or the underrow MCP service). Check verse count and wording.
- Matches: keep the block as is.
- Drifts from the fetched text: replace the block with the fetched text — formatted per the blockquote template in
researchStep 2 / the CLAUDE.md Output Format (> **N** ...verses, attribution line naming the translation) — and log the correction. - Cannot be fetched after reasonable attempts: keep the existing block unchanged and flag it in the report. Never regenerate Scripture from memory. This is not a fatal failure — the text already exists in the file.
If the original has no scripture blockquote (some topic studies), skip this step; do not add one.
Step 4: Fan Out Six Review Subagents IN PARALLEL
Launch six subagents with the Agent tool in a SINGLE message (this is what makes them run concurrently — Skill-tool calls do not). Each seat reviews the whole document but rewrites only its own section.
Prompt template for each subagent (one per skill: historian, linguist, author, theologian, disciple, shepherd):
You are REVISING one section of an existing exegetical analysis — not writing it fresh.
Study file (read it in full for context): {original file path}
Your section: the one beginning `{expected ## heading}`.
Review context from the user (may be empty): {context}
1. Read `.claude/skills/{skill}/SKILL.md` — its questions, its `## ` heading, its numbered `### ` subsections, and its Formatting rules define the CURRENT contract for your section.
2. Review posture — preserve what survives scrutiny:
- Keep existing material that is accurate, well-supported, and on-contract. Do not paraphrase sound prose for the sake of change.
- Correct what is wrong; hedge or cut what is unsupported, padded, or off-topic.
- Update what newer discoveries, scholarship, or your own current knowledge supersede — weigh the review context above.
- Deepen what is thin: answer contract questions the section skipped or shortchanged.
- Restructure to the exact current contract (numbered `### ` subsections) if the section is missing, mis-ordered, or in legacy shape.
3. Follow the Formatting section of `CLAUDE.md`. Do not emit `---` inside your section.
4. Write your COMPLETE revised section (starting with its `## ` heading) to {scratchpad}/{source-basename}_{skill}.md — a full replacement, not a diff. If the section needs no changes, write it verbatim.
5. Return the absolute path you wrote and a bullet-list change summary (or "no changes").
| Skill | Expected heading |
|---|---|
| historian | ## Historical & Cultural Analysis |
| linguist | ## Linguistic Analysis |
| author | ## Literary Analysis |
| theologian | ## Theological Analysis |
| disciple | ## Hermeneutic |
| shepherd | ## Application |
A section missing from the original is still assigned: its seat writes it fresh from the study's passage/topic (note this in the report).
When a subagent returns, check its file exists, is non-trivial, and begins with the expected ## heading. If a subagent failed or its output is empty/garbage, retry that one subagent once. If it fails again, the run fails for this file: original untouched, report which section.
Collect every seat's change summary for the final report.
Step 5: Compile the Draft (Mechanical — Never Regenerate)
Assemble a draft in the scratchpad by concatenation only — do not re-type, summarize, or "improve" section content:
- The original title line, verbatim.
- The scripture blockquote from Step 3 (if the original had one).
- All
##sections in the original document's order, substituting each of the six standard sections with its seat's revised file and carrying every non-standard section over verbatim from the snapshot. Seats whose sections were missing from the original slot into the standard order (the table in Step 4, matchingAGENTS.md). Omit the old## Sources. Omit the old## Overviewwhen the file has a blockquote — its slot, immediately after the blockquote, is filled in Step 5b. ---on its own line between the title/scripture block and each##section — never inside one.
Step 5b: Expositor Synthesis
Passage files only — when the file has no scripture blockquote, skip this step and say so in the report (any existing ## Overview was carried over verbatim in Step 5).
Launch one subagent (sequential — it needs the compiled draft): "Read .claude/skills/expositor/SKILL.md and apply it to {draft path}. The prior Overview, if any, is in the snapshot at {snapshot path}: keep what still matches the revised sections, rewrite what does not. Revision context (may be empty): {context}. Write ONLY the ## Overview section to {scratchpad}/{source-basename}_expositor.md. Return the path, a one-line status, a bullet-list change summary versus the prior Overview (or 'Overview added' when there was none), and a bullet list of cross-section tensions you found (or 'none')."
When it returns, check mechanically: the file begins with ## Overview and contains ### 1., ### 2., and ### 3.; it is at most 500 words (the expositor's hard cap, measured on its output before the critic touches it); its quoted key-verse line (> **N** …) is byte-identical to a line in the draft's blockquote; it contains no ---. Insert it immediately after the blockquote with --- on its own line before and after. If the check fails or the output is empty/garbage, retry once; a second failure fails the run for this file: original untouched, report the expositor stage. Keep the change summary and the tension list for the critic prompt and the final report.
Step 6: Critic Reasoning Audit
Launch one subagent: "Read .claude/skills/critic/SKILL.md and apply it to {draft path}. Revision context (may be empty): {context}. Six seats revised this document independently and none saw the others' work; the expositor then wrote ## Overview from their revised sections and reported these cross-section tensions: {tension list or 'none'}. Give first attention to cross-section coherence, to whether every Overview claim traces to the section it points to and its main point agrees with the sections, and to whether the revisions raised any conclusion's confidence beyond what its evidence supports. The prior version is at {snapshot path} for comparison; a claim that survived unchanged from it is not thereby verified. Do not touch non-standard sections carried over verbatim. Edit the draft in place and return your critique report."
The critic audits reasoning, not citations: cross-section contradictions, confidence language outstripping its evidence, exegetical fallacies, inference gaps, cruxes presented as settled, and applications not grounded in the exegesis. It edits surgically within the constraints in its skill. A report of zero findings is a valid outcome; the run fails for this file only if the pass cannot complete or the draft comes back structurally damaged (a missing or renamed ## heading) — original untouched.
Collect the critique report for the final report.
Step 7: Bibliographer Verification Pass
Launch one subagent: "Read .claude/skills/bibliographer/SKILL.md and apply it to {draft path}. Revision context (may be empty): {context}. Pay first attention to newly added or changed claims — compare against the snapshot at {snapshot path}. Append ## Sources as the last section of the document — after any non-standard sections that follow ## Application (e.g. ## Curated Passage Index) — and do not reorder the sections already in the draft. Edit the draft in place and return your verification report."
The bibliographer verifies Strong's numbers, original-language forms, cross-references, quotations, and dates; hedges or removes what cannot be verified; and appends a fresh ## Sources section as the last section of the file. If the pass cannot complete, the run fails for this file: original untouched.
Step 8: Replace the Original (Gated)
Gate before writing: the draft must contain the original title, the scripture blockquote (when the original had one) with ## Overview immediately after it, all six exact ## headings from the table in Step 4, every non-standard section preserved from the original, and ## Sources. If the gate fails, the run fails for this file: original untouched, report why.
Overwrite the original file with the draft in a single write. Git history preserves the prior version — no backup copies in content/.
Report per file:
- Path revised, and the review context applied.
- Scripture verification result (verified / corrected / source unreachable).
- Each seat's change summary ("no changes" included).
- The expositor's change summary ("Overview added" for files that lacked one; "skipped — no blockquote" for topic studies) and its cross-section tensions.
- The critic's fixed/flagged counts, plus every flagged item verbatim — those live only in the report, never in the file.
- The bibliographer's correction count and unresolved flags.
- If the file appears in
studies/INDEX.md, note that its handout and leader's notes are now stale (regenerate via/create-study).
Do not modify TODO.md (revisited passages stay [✅]). Offer (do not perform unasked) a single commit covering the revised file(s).