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.
npx skills add e06084/claude-screenwriting --skill screenwriting-charactergit clone --depth 1 https://github.com/e06084/claude-screenwritingWrote 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.
[](https://agentmods.dev/skills/e06084/claude-screenwriting/screenwriting-character)<a href="https://agentmods.dev/skills/e06084/claude-screenwriting/screenwriting-character"><img src="https://agentmods.dev/badge/skills/e06084/claude-screenwriting/screenwriting-character/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.
<a href="https://agentmods.dev/skills/e06084/claude-screenwriting/screenwriting-character"><img src="https://agentmods.dev/badge/skills/e06084/claude-screenwriting/screenwriting-character.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00104 | $0.01299 |
| Opus 5 | $0.00052 | $0.00649 |
| Sonnet 5 | $0.00021 | $0.00260 |
| Haiku 4.5 | $0.00010 | $0.00130 |
Grade A, and why
screenwriting-character 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 9d 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.
How it starts
The opening of the file, as written. The whole thing — 141 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/screenwriting-character — 角色卡管理
用法
/screenwriting-character — 列出所有角色
/screenwriting-character 小明 — 查看/编辑角色「小明」
/screenwriting-character new — 引导式创建新角色
/screenwriting-character del 小明 — 删除角色(带级联)
/screenwriting-character 小明 --deep — 深度理论诊断
角色卡三层结构
Tab 1: 人物塑像(外在可见)
性别、年龄、外表标签、行为标签、社会身份
Tab 2: 人物真相(内在驱动)
Wants、Needs、Shard of Glass、矛盾(surface/truth)、压力选择、弧光
Tab 3: 人物维度(结构指标)
大五人格、核心美德、六大缺陷、小传、关系网络
8 原型
Hero / Mentor / Ally / Shadow / Shapeshifter / Guardian / Herald / Trickster
类型约束
创建/编辑角色时,读取 wiki/meta/genre.md 获取当前 genre,对照 references/genre-constraints.md 检查:
- 当前角色网络是否满足 genre 的"必须"角色要求
- 新增/删除操作后是否仍满足
CRUD 操作与级联更新
新增角色 (new)
流程:
1. 确定角色名 + 原型 + 功能定位
2. 引导填写三层结构(至少完成 Tab 2 核心字段)
3. 写入 wiki/characters/{name}.md
4. 级联更新:
a. 更新 wiki/人物关系.canvas — 添加节点 + 与现有角色的关系边
b. 扫描 wiki/beats/ — 识别该角色应参与的 beats
c. 更新相关 beats 的 characters_involved + content
d. 更新 wiki/故事线.canvas(如角色出现影响 beat 可视化)
5. 校验类型约束
删除角色 (del)
流程:
1. 读取该角色卡,分析其在故事中的功能
2. 扫描 wiki/beats/ 找出所有涉及该角色的 beats
3. 生成级联影响报告:
⚠️ 删除角色「小明」将影响:
- 人物关系 canvas: 移除节点 + 3 条关系边
- 涉及 beats: Beat 4, 7, 9, 11, 14 (5个)
- 功能转移建议: 小明的 mentor 功能可转移给「老王」
4. 用户确认后执行:
a. 删除 wiki/characters/{name}.md
b. 更新 wiki/人物关系.canvas — 移除节点和相关边
c. 重写受影响的 beats(功能转移或情节调整)
d. 更新 wiki/故事线.canvas
5. 校验: 类型约束是否仍满足?主角弧光是否受影响?
修改角色 (edit)
流程:
1. 读取角色卡当前内容
2. 用户指定修改项(如 "wants 改为..." / "原型改为 shadow")
3. 更新角色卡对应字段
4. 分析影响面:
- 修改原型 → 关系 canvas 需更新(位置/边类型)
- 修改 wants/needs → arc 相关 beats 需调整
- 修改 contradiction → 与该角色有矛盾关系的 beats 需调整
- 修改 relationships → 关系 canvas 边需更新
5. 生成级联影响报告 + diff 预览
6. 用户确认后执行级联更新
级联更新的展示模式(提案式)
所有级联更新采用提案式——先展示 diff,用户确认后执行:
📋 级联更新提案:
1. wiki/人物关系.canvas:
+ 新增节点: 老李 (trickster)
+ 新增边: 老李 --嘲讽--> 主角
2. wiki/beats/beat-08-游戏时间.md:
- characters_involved: [主角, 反派]
+ characters_involved: [主角, 反派, 老李]
- content: "主角独自面对..."
+ content: "主角在老李的干扰下..."
3. wiki/故事线.canvas:
(无变化)
执行?(y/全部执行 | p/逐项确认 | n/取消)
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 9d ago First seen · 141 lines · 104 tokens per session scan A 2dfec9cac9f7
screenwriting-character is a skill published in the GitHub repository e06084/claude-screenwriting (6 stars, last pushed 2mo ago), licensed MIT. It adds 104 tokens to every session and 1,299 once invoked, about $0.0005 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.
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.
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.
video-prompt-adapter
A Chinese-language system for creating performance-focused prompts for video generation, combining acting direction, platform details, and production handoffs.
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.
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…
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.