screenwriting-lint

screenwriting-lint is a skill for Claude Code from e06084/claude-screenwriting. It costs 69 tokens per session (1,250 once invoked), scanned A, original, MIT.

A story-structure checker for an Obsidian wiki, using screenwriting frameworks such as Vogler, McKee, and Save the Cat. It examines plot beats, character arcs, and links between story elements.

In plain words
What is it for?
Use it to check a 15-beat structure, protagonist goals and needs, character arcs, plot turning points, and story-wiki connections.
Why use it?
It reveals missing or weak parts of a story and turns them into a prioritized repair list.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the claude-screenwriting plugin — 8 skills, 2 agents shipped together

Good fit Use it to check a 15-beat structure, protagonist goals and needs, character arcs, plot turning points, and story-wiki connections.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/e06084/claude-screenwriting/screenwriting-lint
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add e06084/claude-screenwriting --skill screenwriting-lint
Clone the repo
git clone --depth 1 https://github.com/e06084/claude-screenwriting

Made for: Claude Code.

Or install claude-screenwriting, the plugin that ships this one along with the rest of its 8 skills, 2 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for screenwriting-lint

README.md
[![agentmods](https://agentmods.dev/badge/skills/e06084/claude-screenwriting/screenwriting-lint/github.svg)](https://agentmods.dev/skills/e06084/claude-screenwriting/screenwriting-lint)
Your own site
<a href="https://agentmods.dev/skills/e06084/claude-screenwriting/screenwriting-lint"><img src="https://agentmods.dev/badge/skills/e06084/claude-screenwriting/screenwriting-lint/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for screenwriting-lint

Your own site · 80×15
<a href="https://agentmods.dev/skills/e06084/claude-screenwriting/screenwriting-lint"><img src="https://agentmods.dev/badge/skills/e06084/claude-screenwriting/screenwriting-lint.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 69 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,250 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00069 $0.01250
Opus 5 $0.00034 $0.00625
Sonnet 5 $0.00014 $0.00250
Haiku 4.5 $0.00007 $0.00125

Measured 10d ago against content hash afc83cb9f41c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

screenwriting-lint scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/screenwriting-lint/SKILL.md · 128 lines

How it starts

The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Screenwriting Lint

对故事 wiki 进行全面的结构健康度检查,基于 Vogler/McKee/Save the Cat 理论标准。

诊断维度

1. Beat 完整度(30 分)

检查项 分值 严重度
15 个 beat 文件全部存在 10 Error if missing
关键 beat 有实质内容(#4 Catalyst, #9 Midpoint, #11 All Is Lost, #13 Break into Three) 10 Error if empty
Opening Image (#1) 有内容 3 Warning
Final Image (#15) 有内容 3 Warning
Opening 与 Final 有可对比性 4 Warning

关键 beat 诊断标准:

  • Catalyst: 必须描述一个外力事件(非主角主动选择)
  • Midpoint: 必须有"赌注升级"或"规则改变"的表述
  • All Is Lost: 必须有"死亡气息"(字面或象征性的丧失)
  • Break into Three: 必须有 A+B 融合的顿悟

2. 角色弧一致性(30 分)

检查项 分值 严重度
主角(hero)存在 5 Error
主角有 Wants 5 Error
主角有 Needs 5 Error
Wants ≠ Needs(存在张力) 5 Warning
主角有 Shard of Glass 3 Warning
主角有 Contradiction(surface ≠ truth) 3 Warning
主角有 arc_type 设置 2 Info
Shadow/反派有独立动机 2 Warning

Wants/Needs 张力检测:

  • 如果 Wants 和 Needs 用词高度相似 → Warning "张力不足"
  • 如果 Wants 的实现路径必然满足 Needs → Warning "无内在冲突"

3. 结构健康度(25 分)

检查项 分值 严重度
Catalyst 是外力事件 6 Error
Midpoint 有转折/升赌注 6 Warning
All Is Lost 够低(有丧失感) 5 Warning
B Story 存在且与主题关联 4 Warning
Theme Stated (#2) 与 logline 主题呼应 4 Info

4. 连接完整性(15 分)

检查项 分值 严重度
无孤儿角色(每个角色至少被 1 个 beat 引用) 5 Warning
无断链(无指向不存在页面的 [[link]]) 5 Error
每个 beat/character 有 source backlink 5 Info

执行流程

  1. Glob 获取 wiki/ 下所有 .md 文件列表
  2. Read 关键文件:index.md, 所有 beats, 所有 characters, meta/logline.md
  3. 逐维度检查,记录发现
  4. 计算总评分
  5. 按严重度排序输出报告

输出格式

📊 故事健康度: {score}/100

分项评分:
├── Beat 完整度: {x}/30
├── 角色弧一致性: {x}/30
├── 结构健康度: {x}/25
└── 连接完整性: {x}/15

🔴 Error ({count}) — 必须修复
{逐条列出,含文件路径和具体问题}

🟡 Warning ({count}) — 建议修复
{逐条列出}

ℹ️ Info ({count}) — 可选优化
{逐条列出}

🟢 Good ({count}) — 做得好
{肯定已完成的部分}

💡 优先修复建议(Top 3):
1. {最高优先级 + 为什么 + 怎么修}
2. {次优先级}
3. {第三优先级}

特殊情况处理

Wiki 为空或极度不完整

Read the full file on GitHub · 128 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 128 lines · 69 tokens per session scan A afc83cb9f41c

Subscribe to this mod's changes

screenwriting-lint is a skill published in the GitHub repository e06084/claude-screenwriting (6 stars, last pushed 2mo ago), licensed MIT. It adds 69 tokens to every session and 1,250 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

novel-original-writing

A Chinese-language workflow for turning an original story idea directly into a filmable script, without adapting a novel or other existing source. It develops the idea through seven stages, from concept and world-building to characters, structure, performance, and aftermath.

juemin4-source/writing-pro-max · 122 tokens

novel-to-screen-adaptation

A process for turning a novel into a screenplay by breaking it down into its main idea, story engine, objects, scenes, episodes, and script in that order. It is an adaptation workflow, not a general script-writing tool.

juemin4-source/writing-pro-max · 133 tokens

video-prompt-adapter

A Chinese-language system for creating performance-focused prompts for video generation, combining acting direction, platform details, and production handoffs.

juemin4-source/writing-pro-max · 143 tokens

canvas

Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status, canvas lists, visual maps, zones, spatial layouts, adding vault notes or media to a .canvas file, and requests such as create canvas, add to canvas, or put this on the canvas.

AgriciDaniel/claude-obsidian · 72 tokens

plannotator-visual-explainer

Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to…

backnotprop/plannotator · 78 tokens

json-canvas

Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.

kepano/obsidian-skills · 54 tokens