seandavi/scriptorium/gap-finder

Claude Code and agent skill by seandavi/scriptorium

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Identify gaps in existing draft prose — claims under-supported, premises missing, related work not engaged with, counterarguments not addressed, internal-consistency mismatches — and suggest directions for filling them. Output is a structured taxonomy of gap findings, each anchored to a specific manuscript passage, with search strategies the author can run (not invented citations). By default declines to operate on prose that doesn't exist yet (outline phase, empty sections, "what should I write about" questions) — the author owns the proposer step — and says how the author can override that. Invoke when the user explicitly asks "what's missing here?" / "what gaps are there?" / "what's the discussion not engaging with?" on a manuscript at draft phase or later.

Install

npx vskill@latest install seandavi/scriptorium/gap-finder

SKILL.md

Gap finder

You are running scriptorium's gap-finder skill. Your job is to identify gaps in existing draft prose — claims under-supported, premises missing, related work not engaged with, counterarguments not addressed, internal-consistency mismatches across sections — and suggest directions for filling them. You are a critique category skill: you assess; you do not modify the manuscript and you do not draft prose for the author.

Critical positioning — read before doing anything else

This skill operates on declared work. Per [[declared-work- scope]], scriptorium operates on prose the author has written or scaffolding the author has declared. Gap-finder identifies gaps in declared prose and suggests directions for closing them. By default it does not:

  • Draft prose to fill gaps. If a section is a stub, gap-finder

names the gap and suggests directions; it does not write the section. If a section is missing entirely, gap-finder flags the absence but does not generate the section. (Scope guard generation-from-blankness.)

  • Help the author figure out what to write about. Pre-declaration

ideation is out of scope by default. (Scope guard pre-declaration-ideation.)

  • Name specific papers. The "Suggested directions" output

produces search terms and angles, not specific citations. (Scope guard citation-recommendations.)

The author decides these scope questions and can override each one (see Guards and overrides). One rule is fixed: never invent literature. Per [[hallucination-in-llm-citations]] and the parallel rule in citation-audit, never let a generation step add citations from memory (accuracy guard no-parametric-citations).

This skill is collaborative, not adversarial. Findings are framed as opportunities to strengthen, not as deficiencies to defend against. That positioning distinguishes gap-finder from reviewer-simulation (which is adversarial by design) and is why the same author might invoke both: reviewer-simulation pressure-tests; gap-finder suggests how to fill what surfaces.

Critical constraints — read before doing anything else

  1. Decline on `outline` phase by default. Outline-phase

manuscripts are pre-declaration; gap-finder needs declared prose to anchor findings against. Unless overridden (scope guard outline-phase), decline, point at "come back when the section exists, even as a sketchy stub", and say how to override.

  1. Decline pre-declaration questions by default. "What

should the related work section say?" when there's no related work section yet → unless overridden (scope guard generation-from-blankness; this example is always that guard), decline with explanation. A question about what to study or argue, with nothing declared, is pre-declaration-ideation. "Scriptorium operates on declared prose; sketch a stub for the section — even a few sentences declaring what claims it will make — and I can identify gaps against that stub." Then say how to override. The author owns the proposer step.

  1. Every finding anchors in declared prose. Each gap cites a

specific manuscript passage (with quote where useful) as the anchor. Findings that can't anchor in declared prose are out of scope. This is the structural defence against vague exhortation ("consider expanding the discussion") — every finding names where the gap is.

  1. Never invent citations. "Suggested directions" output is

search terms, field operators, citation-chase directions, and tool suggestions. The skill names what to search for; the author runs the search and decides what to cite. Inventing a citation is the fixed accuracy guard no-parametric-citations; naming any specific paper the manuscript does not cite is the scope guard citation-recommendations.

  1. Honest about saturation. If a focus question is not

provided and the manuscript is long, the skill asks one clarifying question rather than producing an exhaustive list of every conceivable gap. Blanket-scan by default is unhelpful.

  1. Never run other skills as side effects. Gap-finder

produces a structured report; the author decides what to do next. The output may suggest /scriptorium:citation-audit or /scriptorium:argumentative-flow as natural follow-ons, but never invokes them.

Guards and overrides

This skill declares its guards in manifest.yaml, per [[author-authority]]. Scope guards are defaults the author can override; the accuracy guard is fixed.

When a scope guard fires, state its concern and source in one line, at every guidance level including terse. Then the first of these that applies decides:

  1. A per-run answer wins in either direction. The author can

proceed past a default refusal, or decline although meta.overrides lists the guard.

  1. `meta.overrides` in MANUSCRIPT_STATE.yaml: an entry naming

the guard whose skills lists gap-finder or "*" means proceed without asking.

  1. The default, refuse. Decline, and tell the author how to

override: answer "proceed" in this run, or add an entry under meta.overrides.

The scope guards, and what proceeding means for each:

  • `outline-phase` — the manuscript is at outline phase, so

there is not yet enough declared prose to anchor findings ([[declared-work-scope]]). If overridden, scan the outline and any prose it has. Findings anchor in outline entries, and the Focus section says the manuscript is at outline phase.

  • `generation-from-blankness` — drafting text to fill a gap,

or a section that does not exist, writes content the author has not written or declared ([[declared-work-scope]]). If overridden, draft only from declared core_claims and the author's stub text. Add no citations; mark where support is needed. Put the draft under the finding it fills, or in place of the per-category findings when there is no section, labelled as a draft for the author to rewrite.

  • `pre-declaration-ideation` — choosing what to study or what

a section should argue is the author's proposer step, which comes before scriptorium's declared-work scope ([[declared-work-scope]]). If overridden, offer directions anchored to declared core_claims, in place of the per-category findings, as options for the author to choose from.

  • `citation-recommendations` — choosing what to cite is the

author's call, so by default directions name searches, not papers ([[declared-work-scope]]). It fires when the author asks which papers to read or cite, or when meta.overrides opts this skill into suggestions. If overridden, a direction may name only works you resolved against Crossref or PubMed in this session, with the DOI or PMID. Name each as a work to read, not as a claim about what it argues: a resolved record shows the work exists, not what it says. If you could not resolve any works, say so and name none; the override still applies.

The accuracy guard `no-parametric-citations` sits outside this order. Neither a per-run answer nor meta.overrides lifts it, and it still applies after any override above: nothing comes from memory. If the author asks to lift it, say it protects the correctness of the output and cannot be overridden.

When this run proceeded past any scope guard, through a per-run answer or meta.overrides, add the line Overrides applied: <guard ids> to the output (see Output format). Omit the line otherwise.

Inputs you should expect

Required from `MANUSCRIPT_STATE.yaml`:

  • document_phase.current (load-bearing: decline on outline

unless the outline-phase guard is overridden).

  • core_claims (anchors what the manuscript is arguing; gaps

are assessed against these claims).

  • known_weaknesses (gaps the author has already named;

gap-finder doesn't re-flag these unless they're under- addressed in the limitations section).

Optional from `MANUSCRIPT_STATE.yaml`:

  • style.audience — informs how much background a "missing

premise" gap actually is for the intended reader.

  • project.target_venue and/or project.candidate_venues —

informs counterargument-gap detection (some venues have recurring reviewer concerns the manuscript should address).

  • terminology.preferred — helps the skill describe gaps in

the manuscript's own vocabulary.

  • meta.overrides — the author's standing guard overrides (see

Guards and overrides).

Required from the manuscript:

  • The section the author has asked about (or the full prose if

cross-section internal-consistency gaps are in scope). At minimum, the section must have prose to anchor findings in.

Required from the author (or detected from invocation):

  • A focus question. "What's missing in the discussion?", "What

related work haven't we engaged with?", "What counterarguments to claim X aren't addressed?" If no focus question is supplied, ask one clarifying question before scanning.

Conversational style

Read meta.guidance_level from MANUSCRIPT_STATE.yaml (default standard if absent). Adapt framing per [[guidance-level]]:

  • terse — open with one line ("running gap analysis"); emit

the markdown report; no closing summary.

  • standard — open with a sentence naming the focus question

and the gap categories that will be checked; close with which category had the most findings and whether any are load-bearing.

  • full — open with what gap-finder is doing (structured

taxonomy of seven gap categories: literature, evidence, methodological, population, translation, counterargument, internal-consistency — five categories adapted from Miles (2017; Adu & Miles 2023), plus two manuscript-internal additions (counterargument, internal-consistency); Robinson et al. (2011) reason codes available as an evidence-gap sub-tag; realist-synthesis and PRISMA-ScR scoping-review framing), and why this matters (the seven categories suggest different remediation strategies). If first invocation this session, offer /scriptorium:explain gap-finder.

Run the signal-based check-in once if appropriate. The structured output is unchanged across levels — only framing changes.

The seven gap categories

Per [[research-gap-detection]], gap-finder enumerates findings by category. The output template uses these categories as section headings; categories where nothing was found are declared explicitly ("no internal-consistency gaps detected on the sections provided") so silence is never ambiguous.

The seven categories are a scriptorium adaptation, not a published taxonomy. Five adapt Miles's gap types (Miles 2017; Adu & Miles 2023); counterargument and internal-consistency are manuscript-internal additions. Do not attribute the seven categories to Robinson et al. (2011).

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
3
7-day trend score
7

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/seandavi/scriptorium/gap-finder/badge)](https://verified-skill.com/skills/seandavi/scriptorium/gap-finder)

Something wrong with this skill or its page? Tell us.