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 pajama-studio/thriller --skill thriller-writinggit clone --depth 1 https://github.com/pajama-studio/thrillerWrote 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/pajama-studio/thriller/thriller-writing)<a href="https://agentmods.dev/skills/pajama-studio/thriller/thriller-writing"><img src="https://agentmods.dev/badge/skills/pajama-studio/thriller/thriller-writing/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/pajama-studio/thriller/thriller-writing"><img src="https://agentmods.dev/badge/skills/pajama-studio/thriller/thriller-writing.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.00089 | $0.09502 |
| Opus 5 | $0.00044 | $0.04751 |
| Sonnet 5 | $0.00018 | $0.01900 |
| Haiku 4.5 | $0.00009 | $0.00950 |
Grade A, and why
thriller-writing 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 11d 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 — 735 lines — stays where its author put it; the contents beside it link to each section on GitHub.
悬疑小说剧本创作系统 — Thriller Screenplay Craft
基于专业编剧方法论的 AI 悬疑/推理小说剧本创作技能包 融合 Robert McKee《故事》、Syd Field《电影剧本写作基础》、Blake Snyder《救猫咪》、Raymond Chandler 推理写作法则、Alfred Hitchcock 悬念理论
系统定位
本技能专注于悬疑/推理/惊悚类型的小说与剧本创作,提供从构思到成稿的全流程系统化指导。覆盖:
- 本格推理(公平解谜型)
- 社会派推理(动机驱动型)
- 心理悬疑(不可靠叙事型)
- 惊悚悬疑(高压紧迫型)
- 密室推理(封闭空间型)
- 叙述性诡计(元叙事型)
- 犯罪悬疑(警探/侦探程序型)
- 倒叙推理(已知犯人型/Howcatchem)
- 日常推理(Cozy Mystery/轻推理型)
尤其适合封闭圈层 / 高关系密度 / 连续剧式钩子的悬疑项目,例如夜场、家族企业、学校、医院、警局、剧团、小镇社区等系统。此时案件不是唯一引擎,人物之间的资源交换、依附链、控制欲和秘密债务同样是情节骨架。
命令体系
/start — 项目初始化
触发条件:新项目启动时 必须收集的参数:
| 参数 | 说明 | 选项示例 |
|---|---|---|
| 类型 | 悬疑子类型 | 本格推理 / 社会派 / 心理悬疑 / 惊悚 / 密室 / 叙述诡计 / 犯罪程序 / 倒叙推理 / 日常推理 |
| 篇幅 | 目标字数/集数 | 短篇(3万字) / 中篇(10万字) / 长篇(25万字+) / 剧集(集数) |
| 叙事视角 | 视角选择 | 第一人称 / 第三人称有限 / 多视角交替 / 全知(慎用) |
| 核心诡计类型 | 谜团的本质 | 密室 / 不在场证明 / 身份替换 / 叙述陷阱 / 动机反转 / 连环杀人逻辑 |
| 风格调性 | 整体氛围 | 冷硬写实 / 哥特暗黑 / 日系清冷 / 社会批判 / 黑色幽默 / 日常温馨 / 文学沉郁 |
| 主题前提 | 一句话主题 | 例:"失控的正义比犯罪更危险" / "真相有时比谎言更残忍" |
| 目标读者 | 受众画像 | 硬核推理迷 / 大众悬疑读者 / 影视改编向 / 网文读者 |
| 社会场域 | 冲突发生的封闭/半封闭系统 | 夜总会 / 家族企业 / 学校 / 医院 / 剧团 / 社区 / 警局 |
| 关系引擎 | 人物互动的主驱动力 | 群像博弈 / 双主角镜像 / 单主角受困 / 猫鼠对抗 / 多方互相拿捏 |
输出:生成 .thriller-state.json 项目状态文件
输出:生成 .thriller-state.json 项目状态文件
执行逻辑:
- 收集以上参数
- 根据子类型加载对应参考资料:
references/mystery-structure.md;若项目依赖群像关系或剧集钩子,同时补充references/series-design.md与references/ensemble-dynamics.md - 短篇模式(≤5万字):
/start与/theme合并执行,在初始化时同步完成主题设计 - 输出项目概要卡片 + 关系引擎假设(谁维持秩序、谁想夺权、谁最怕真相暴露)
- 生成状态文件,记录
socialArena、relationshipEngine、hookMode等核心约束,标记当前阶段为"已初始化"(短篇模式直接标记"主题完成")
/theme — 主题前提与立意
触发条件:/start 完成后(短篇模式下已在 /start 中完成,可跳过)
加载参考:references/mystery-structure.md
"没有前提的悬疑只是谜题游戏;有前提的悬疑才是文学。" — 改编自 Lajos Egri《戏剧写作的艺术》
输出结构(生成 theme.md):
一、主题前提(一句话)
- 格式:"{某种人性/社会现象} 导致 {某种结果}"
- 例:"对控制的执念最终摧毁了控制者自己"
- 例:"真相的代价有时高于谎言的代价"
- 例:"制度性的冷漠比个体的恶意更加致命"
二、主题在故事中的体现
- 犯罪如何体现主题?(犯罪的本质是主题的极端表达)
- 侦探的弧光如何回应主题?(破案过程即主题的论证过程)
- 揭示如何升华主题?(真相揭示的那一刻,主题获得最终论证)
三、主题的三维验证(Egri 方法)
- 生理维度:主题如何在角色的物理世界中体现?
- 社会维度:主题如何反映社会结构/权力关系?
- 心理维度:主题如何触及角色的内在冲突?
四、主题与子类型的适配
- 本格推理:主题通过诡计机制隐喻表达
- 社会派:主题即犯罪的社会根因
- 心理悬疑:主题通过角色的心理困境表达
- 惊悚:主题通过极端处境下的选择表达
What ships with it
28 files 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.
- QUICKREF.md 3.4 KB
- references/anti-patterns.md 3.5 KB
- references/character-archetype.md 9.6 KB
- references/clue-design.md 11 KB
- references/dialogue-interrogation.md 8.6 KB
- references/ensemble-dynamics.md 7.3 KB
- references/gathering-premise.md 8.6 KB
- references/hierarchical-generation.md 3.4 KB
- references/impossible-crime.md 4.4 KB
- references/knowledge-state.md 7.1 KB
- references/mystery-structure.md 11 KB
- references/narrative-voice.md 4.3 KB
- references/pacing-tension.md 7.4 KB
- references/prose-craft.md 5.0 KB
- references/red-herring.md 7.5 KB
- references/scoring-rubrics.md 3.1 KB
- references/series-design.md 2.9 KB
- references/setting-atmosphere.md 8.6 KB
- references/subtype-beatsheets.md 4.5 KB
- references/suspense-technique.md 12 KB
- references/twist-design.md 8.5 KB
- references/unreliable-narrator.md 10 KB
- templates/project-init-honkaku.md 917 B
- templates/project-init-inverted.md 922 B
- templates/project-init-locked-room.md 846 B
- templates/project-init-psychological.md 1.4 KB
- templates/project-init-social.md 1.2 KB
- templates/project-init-thriller.md 801 B
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.
- 11d ago First seen · 735 lines · 89 tokens per session scan A e023ac927128
thriller-writing is a skill published in the GitHub repository pajama-studio/thriller (26 stars, last pushed 5mo ago), licensed MIT. It adds 89 tokens to every session and 9,502 once invoked, about $0.0004 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-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…