# Revisit

> Revisit Skill — Review & Improve an Existing Study

- Skill: `theonize/revisit` (Agent Skill)
- Install (CLI): `npx skillmds@latest add theonize/revisit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/theonize/revisit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: theonize (https://skillmd.com/u/theonize)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/theonize/revisit

---


# 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:

1. **Chapter target** — `BOOK CH` with 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** `.md` file in `content/Books/*/<BOOK_CODE>/<CHAPTER>/`.
2. **Directory target** — an argument naming an existing directory under `content/`: resolve to every `.md` file 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 Analysis` for `## 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 `research` Step 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:

1. The original title line, verbatim.
2. The scripture blockquote from Step 3 (if the original had one).
3. 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, matching `AGENTS.md`). Omit the old `## Sources`. Omit the old `## Overview` when the file has a blockquote — its slot, immediately after the blockquote, is filled in Step 5b.
4. `---` 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).

