Reusable production-prep engine for feature screenplays: read-only audit agents (continuity, motif, slugline, cast-cue, fact-drift, fidelity, structure, dialogue, rights, pitch) plus reconcile / casting-doc / cast-report / paged-HTML scripts. Project-parameterized — every screenplay supplies a PROJECT_PROFILE.md the agents and scripts read.
Read-only. Lints the project's character cues and names for consistency — dialogue-cue spelling/casing, dialogue-extension grammar (V.O./O.S./CONT'D), first-appearance CAPS introductions, and alias/name drift (read the intentional alias systems from PROJECT_PROFILE §5) — and reconciles every speaking cue against the cast registry (PROJECT_PROFILE §0 `cast_registry`). Flags cue variants, unintroduced characters, stray name spellings, and cues with no casting row. Use after a dialogue or character pass, before re-deriving the casting docs, or whenever a name may have drifted.
Read-only pre-flight check before a commit. Verifies the exported PDF is in sync with the .highland bundle (the thing the pre-commit hook blocks on), .script-state is current, the working tree is sane, and recommends the fact/fidelity audits. Returns a clear GO / NO-GO with the exact blocking reason. Use before committing a script change or a doc batch.
Read-only. Reads the project's screenplay and tracks story continuity across all scenes — time/chronology logic, character knowledge ("who knows what, when"), prop/object setups and payoffs, character physical state, geography, and name/age consistency. Reports continuity errors and unfired setups with scene-number citations. Use after a script revision or a table read, or when reworking a sequence.
Read-only. When an assumption changes (page count, shoot days, a casting/schedule decision), recomputes every downstream number — runtime, shoot-day totals, budget stacks — and shows the arithmetic. Proposes corrections with the math visible; never silently rewrites. Use after a script revision or a production decision that ripples into the numbers.
Read-only. Audits the project's screenplay dialogue for distinct character voice, flagging interchangeable lines (could be swapped between characters unnoticed), on-the-nose exposition, and voice drift for each principal. Reports examples with scene numbers. Use after a dialogue pass or table read, or when a character's voice feels flat.
Run the read-only screenplay audit suite against the current project. Reads PROJECT_PROFILE.md §0 for the per-screenplay parameters, then dispatches the relevant auditor agents (continuity, motif, slugline, cast-cue, fact-drift, fidelity, structure, dialogue) and summarizes findings by severity. Use after a script revision, before circulating a draft, or to spot-check the derived production-doc corpus.
Build a polished, send-ready cast report (landscape PDF + full-width DOCX) from a cast CSV — e.g. a scene-scoped cast list headed to a casting service. Wraps scripts/make_cast_report.py: 10pt, bold headers, each role's row kept whole across pages, descriptions backfilled from casting_editorial.json. Use when the writer needs a formatted casting submission/handout, not the raw CSV.
Re-convert a Final Draft .fdx to the project's Fountain text_mirror after the writer edits the .fdx. Wraps scripts/fdx_to_fountain.py — reads source.fdx + source.text_mirror from PROJECT_PROFILE §0, regenerates the .fountain the engine reads, and reports the delta. Use after every .fdx edit on a Final Draft project (the FD analogue of :reconcile's text-mirror refresh).
Refresh the project's HANDOFF.md against actual repo state using the verify-then-update discipline — read the real git log, derived-doc state, and open worklist items FIRST, then update the one named handoff document to match, showing the assembled result before it's saved. Use at the end of a working session or before handing the project to another tool/person.
Generate the paged, Squarespace-ready HTML reader from the screenplay's text mirror via script_to_html_paged.py (Highland-calibrated pagination, renders [[ notes ]] as styled note boxes). Use to refresh the embeddable web reader after a script change.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A reusable Claude Code plugin that packages a screenplay production-prep engine — read-only audit agents plus the reconcile / casting-doc / paged-HTML scripts — so it works turnkey across every screenplay you own. Each screenplay supplies a PROJECT_PROFILE.md the agents and scripts read; nothing here is tied to one script.
.highland/PDF, CANONICAL_FACTS.md, the derived scene CSV, the production docs, and — the keystone — Claude Docs/PROJECT_PROFILE.md, the per-script parameter file every agent and script reads.templates/PROJECT_PROFILE.template.md and filling the «per-project» fields.| Path | What |
|---|---|
agents/ | 15 read-only auditors (continuity, motif, slugline, cast-cue, fact-drift, fidelity, structure, dialogue-voice, rights, pitch, proofreader, revision-impact, derived-number, commit-gate, verify-then-update). Invocable as screenplay-prep:<name>. |
scripts/ | reconcile.py (PDF↔derived-doc reconcile, auto-holds §0 reconcile_anchors), generate_casting_docs.py + extract_characters.py (casting/table-read docs), script_to_html_paged.py (Fountain→paged HTML), clone_script_to_md.sh (text-mirror/fountain refresh). Call via ${CLAUDE_PLUGIN_ROOT}/scripts/…. |
skills/ | Six slash commands: /screenplay-prep:new <Title> (onboard a project — stamp the profile template), :init (install the git hook), :reconcile (reconcile-baseline after an edit), :audit [scope] (run the auditor suite, consolidated by severity), :html (regenerate the paged web reader), :handoff (refresh HANDOFF via verify-then-update). |
bin/pre-commit | the .highland↔PDF lock-step git hook. Not a plugin hook (those fire on tool events; the .highland is edited outside Claude Code in Highland). Install per-project: git config core.hooksPath pointed at a dir containing it, or copy it into .githooks/. |
templates/ | PROJECT_PROFILE.template.md — the onboarding keystone. |
This repo is also its own marketplace (brock-screenplays, declared in .claude-plugin/marketplace.json):
claude plugin marketplace add "/path/to/screenplay-prep" # local path, GitHub repo, or git URL
claude plugin install screenplay-prep@brock-screenplays
claude plugin list # verify: enabled, v0.4.0
Or from inside a session: /plugin marketplace add <path> then /plugin install screenplay-prep@brock-screenplays. Choose scope at install (--scope user for every project, --scope project to commit per-repo). Inventory: 8 skills + 15 agents, ~2.1k always-on tokens.
claude --plugin-dir "/path/to/screenplay-prep"
# then, inside a screenplay project that has Claude Docs/PROJECT_PROFILE.md:
# /screenplay-prep:audit
# /screenplay-prep:audit all
15 read-only audit agents + 8 skills (new / init / reconcile / audit / html / handoff / fdx-sync / cast-report) + the engine scripts, behind a private marketplace (brock-screenplays). Every agent and script is project-parameterized — it reads the per-screenplay parameters from PROJECT_PROFILE §0 and degrades gracefully where a project hasn't set something up (an absent capability scopes a run, it doesn't fail it). Proven across two real screenplays (a mature, numbered, locked draft and an early, unnumbered one). Verified: headless --plugin-dir load (15 agents + skills register under screenplay-prep:) and the full marketplace add → install → list cycle. Ingests Highland, Final Draft (.fdx → Fountain, incl. dual dialogue / inline emphasis / opt-in notes), or any Fountain-exporting tool — no companion app required.
npx claudepluginhub stevebrock91387/screenplay-prep --plugin screenplay-prepComplete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Comprehensive startup business analysis with market sizing (TAM/SAM/SOM), financial modeling, team planning, and strategic research
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Comprehensive .NET development skills for modern C#, ASP.NET, MAUI, Blazor, Aspire, EF Core, Native AOT, testing, security, performance optimization, CI/CD, and cloud-native applications