Install
$ agentstack add skill-e06084-claude-screenwriting-screenwriting-ingest ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Screenwriting Ingest
将原始素材(大纲、笔记、剧本、反馈意见等)转化为结构化的故事 wiki 页面。按 3 阶段流水线提取,每阶段可确认后再继续。
3 阶段提取流水线
Stage 1: 提取 Meta 定位 (genre + logline + theme)
↓ 用户确认
Stage 2: 提取 Characters (角色卡 + 人物关系 canvas)
↓ 用户确认
Stage 3: 提取 Beats (15-beat + 故事线 canvas)
↓ 用户确认
写入 wiki
与 reimagine 的区别:ingest 是提取(从素材中识别已有信息),reimagine 是生成(创造性构想新内容)。因此 ingest 的每个元素都有 confidence 标注和 evidence 原文支撑。
Step 0: 读取与分析素材
- 读取指定素材文件全文
- 判断素材类型:
- 大纲型: 有完整或部分情节线(可提取 beats)
- 角色型: 侧重人物描写(可提取 characters)
- 反馈型: 他人意见或修改建议(提取 meta/建议)
- 混合型: 以上兼有
Stage 1: 提取 Meta 定位
输入: 原始素材 输出: genre + logline + theme + tone + comparable_works
提取规则
- genre: 判断故事属于 Save the Cat 10 大类型中的哪一个
- 必须从 10 种中选 1(屋里有怪物/金羊毛/如愿以偿/麻烦家伙/成长仪式/伙伴情/推理侦探/傻瓜成功/被制度化/超级英雄)
- 如果无法确定,标注 confidence: low 并给出最可能的选项
- logline: 从素材中提炼一句话故事(最多 50 字)
- 公式: 一个[主角特征] + [催化事件] + [目标] + [赌注]
- 如素材不完整无法提炼,标注 confidence: low
- theme: 选 1-3 个题材类型标签
- 从标准标签选: 剧情/喜剧/动作/爱情/惊悚/犯罪/悬疑/科幻/恐怖/冒险/奇幻 等
- 第一个为主标签
- tone: 基调描述
- comparable_works: 2-3 部对标作品名
展示与确认
Stage 1 — Meta 提取结果:
Genre: {STC 10选1} (confidence: high/medium/low)
Logline: {一句话故事}
Theme: {题材标签 1-3个}
基调: {tone}
对标: {作品名}
证据: "{原文片段}"
确认?(y/进入 Stage 2 | edit/修正某项 | r/重新提取)
Stage 2: 提取 Characters
输入: 原始素材 + Stage 1 的 genre 定位 输出: N 个角色卡 + 人物关系.canvas
提取规则
- 角色识别阈值: 至少有名字 + 一个行为/描述才创建角色条目;纯提及不算
- 原型判断: 基于角色在故事中的功能判断原型
- 提取优先级:
- 优先提取 Tab 2 核心: wants/needs/shardofglass/motivation
- 其次提取 Tab 1: 外在特征
- 最后提取 Tab 3: 性格/关系
- 类型约束校验: 对照
references/genre-constraints.md,检查提取到的角色是否满足 genre 的角色要求 - Null 优于猜测: 无法从素材判断的字段设为 null
展示与确认
Stage 2 — 角色提取结果 ({N}人):
- {name} ({archetype}, confidence: high) — {一句话}
- ...
类型约束: {满足/缺少 X 角色类型}
确认?(y/进入 Stage 3 | add/补充角色 | del/删除 | edit/修正 | r/重新提取)
用户可在此阶段补充素材中未明确但逻辑上需要的角色。
Stage 3: 提取 Beats
输入: 原始素材 + Stage 1 meta + Stage 2 角色表 输出: 15 beats + 故事线.canvas
提取规则
- 识别故事事件并尝试映射到 15-beat 位置
- 不确定位置的事件标记为
beat_number: null - 提取: 事件内容、情绪、涉及角色、冲突、价值转变
- 类型引擎校验: 对照 genre 的 beat 约束检查
- 素材不完整时,缺失的 beat 标注
status: empty
展示与确认
Stage 3 — Beat 提取结果:
| # | Beat | 状态 | 内容概要 |
|---|------|------|---------|
| 1 | 开场画面 | ✅ | ... |
| 2 | 主题陈述 | ⚠️ low | ... |
| ... |
| 8 | 游戏时间 | ⬜ | (素材未覆盖) |
完成度: {X}/15
类型承诺: {Beat 8 是否兑现 genre 承诺}
确认写入?(y/写入 wiki | edit/修正 | r/重新提取)
写入 Wiki
用户确认后,按以下规则写入:
文件生成
| 内容 | 路径 | 模板 | |------|------|------| | Beat 卡片 | wiki/beats/beat-{XX}-{名称}.md | _templates/beat-card.md | | 角色卡 | wiki/characters/{名称}.md | _templates/character-card.md | | Logline | wiki/meta/logline.md | _templates/logline.md | | Genre | wiki/meta/genre.md | _templates/genre.md | | Theme | wiki/meta/theme.md | _templates/theme.md | | 素材摘要 | wiki/sources/source-{文件名}.md | — | | 故事线 | wiki/故事线.canvas | _templates/storyline-canvas.md | | 人物关系 | wiki/人物关系.canvas | _templates/character-canvas.md |
Canvas 生成
wiki/故事线.canvas— Beat 时间线,按三幕分行排列wiki/人物关系.canvas— 角色关系网络,Hero 居中
更新索引
- 更新
wiki/index.md中的 beats 表格和角色列表 - 在
wiki/log.md追加操作记录
合并策略
当已有内容存在时:
| 情况 | 策略 | |------|------| | Beat 位置已有内容 | 展示旧+新,用户选择覆盖/合并/跳过 | | 角色名已存在 | 自动合并新字段到已有卡片(不覆盖已填字段) | | Logline/Theme 已存在 | 展示两个版本,用户选择 | | Source 已 ingest 过 | 提示"已导入过该素材" |
质量标准
- 每个提取元素必须有
evidence(原文支撑片段) - 不确定的内容标记
confidence: low或status: uncertain - 素材中未提及的字段留空(null),不用通用模板话术填充
- genre 必须从 Save the Cat 10 种中选 1,不能自创
- logline 必须是一句话(最多 50 字)
- theme 是题材标签(1-3 个),不是一句话陈述
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: e06084
- Source: e06084/claude-screenwriting
- License: MIT
- Homepage: https://aistory.base44.app/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.