donnfelker/scrivener-skills · Archived

scrivener-inspect

When the user wants to open and explore a Scrivener project read-only — see its structure, read a chapter or scene, or locate a document.

First seen Jun 15, 2026

Installation

$ npx skills add donnfelker/scrivener-skills --skill scrivener-inspect

Summary

  • When the user wants to open and explore a Scrivener project read-only — see its structure, read a chapter or scene, or locate a document.
  • Use when the user says "show the outline", "what's in this project", "read this chapter/scene", "what's the synopsis of", "find the document about", or "list the binder".
  • For converting/exporting content out, see scrivener-extract; for full-text/field search, see scrivener-search; for word counts and reading-time, see scrivener-stats.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from donnfelker/scrivener-skills · top by installs.

npx skills add donnfelker/scrivener-skills

Browse all from donnfelker/scrivener-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.1.0
More metadata
version
0.1.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,880 B
  • docs SUMMARY.md 501 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Scrivener Inspect

You help the writer open and explore a Scrivener 3 (.scriv) project read-only: show the binder outline, read a document's text/synopsis, and find an item by title, UUID, or type. Nothing here mutates the project, so no backup, snapshot, or "close Scrivener first" warning is required — but reads are most reliable when the project isn't mid-cloud-sync.

Use this skill to understand a project before any editing skill acts on it. Compound requests usually start here: inspect → then hand a UUID to a write or export skill.

When to use

  • "Show me the outline / list the binder" → outline
  • "Read this chapter / what does this scene say / what's the synopsis of X" → read <id>
  • "What's in this project / where's the document about Y / find the scene where…" → find <query>

Commands

All three are read-only. Output is JSON by default; add --format text for a human-readable view. Always pass --project pointing at the .scriv package (or its .scrivx).

outline — the binder tree

python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py outline --project "<path.scriv>"
python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py outline --project "<path.scriv>" --format text

Returns the nested binder: each node has uuid, title (adaptive — see below), type, label, status, includeincompile, and children. This is the map you read first to get the UUIDs other commands need.

read \<id\> — one document's content

python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py read <uuid-or-title> --project "<path.scriv>"

Returns uuid, title, type, includeincompile, label, status, synopsis, hassynopsisimage, the document text (RTF converted to plain text), and a constructs map flagging rich content. Pass a UUID when a title is ambiguous (titles are not unique). Folders and empty documents have no body text, so text and constructs will be null — that is normal, not corruption.

find \<query\> — locate items

python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py find "<query>" --project "<path.scriv>"

Matches a title substring (case-insensitive), an exact UUID, or an exact Type (e.g. Folder, Text, DraftFolder). Returns uuid, title, and type for every match. Use it to turn a fuzzy "the chapter about the storm" into a concrete UUID, then read it. find is title/UUID/type only — for full-text or field search (text/synopsis/notes), use scrivener-search.

Adaptive titles

A binder item without a <Title> still gets a usable display title. The toolkit derives one in order: the document's synopsis first line → the body text's first line → "Untitled" (each truncated to ~60 chars). So an untitled scene shows up in outline/read/find with a meaningful, derived title rather than a blank. Treat these as display titles, not stable identifiers — address such items by UUID.

What read returns

A single read gives you the whole picture of one item:

  • text — the body, RTF→plain text (folders/empty docs return null).
  • synopsis + hassynopsisimage — the corkboard card text, or a flag that the synopsis is an image instead.
  • label / status / includeincompile — the item's metadata (label/status are IDs; resolve names via scrivener-metadata's labels/statuses).
  • constructs — boolean flags for rich content embedded in the RTF: commentsorfootnotes, style_markers, images, tables, hyperlinks, lists. These tell you before any edit whether a document is "rich." Any true flag means a regenerative rewrite would lose data, so a downstream edit must be token-preserving or explicitly destructive (see scrivener-edit).

Finding the Draft

The Draft (manuscript) is identified by Type DraftFolder, never by title — a user can rename it ("Manuscript", "Novel", etc.). To locate it without guessing the name:

python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py find "DraftFolder" --project "<path.scriv>"

Similarly, research lives under ResearchFolder and deleted items under TrashFolder. Reading the whole manuscript in order means walking the DraftFolder's children from outline.

Reference

  • references/reading-items.md — how outline/read/find output is shaped; UUID vs title addressing; reading notes and synopsis; and the meaning of every constructs flag.

Toolkit support

Command Status
outline ✅ available now
read <id> ✅ available now
find <query> (title substring / UUID / type) ✅ available now
Read notes, dates, bookmarks, links in read output 🔜 planned (use scrivener-extract / scrivener-format today)

Related skills

  • scrivener-extract — convert/export content out (RTF→Markdown/text, bulk export of one item, a subtree, or the whole Draft).
  • scrivener-search — full-text and field search (text/synopsis/notes), beyond find's title/UUID/type matching.
  • scrivener-stats — word counts, characters, reading-time and page estimates, writing history, and word frequency.
  • scrivener-format — the .scriv package format reference (binder schema, data files, the RTF constructs read flags).