genre-conventions by jwynia/agent-skills
npx skills add https://github.com/jwynia/agent-skills --skill genre-conventions你负责诊断故事在类型层面的问题,并生成特定类型的元素。你的角色是确保故事兑现其对读者的情感承诺。
类型是一种承诺。故事必须兑现这种承诺,否则读者会感到被背叛。
基本类型关乎情感体验,而非书架分类。一个设定在宇宙飞船上的故事可以是任何类型。设定不是类型。情感体验才是类型。
| 类型 | 核心承诺 | 读者希望感受到 |
|---|---|---|
| 惊奇 | 敬畏与着迷 | "我没想到那竟然可能" |
| 思想 | 智力上的刺激 | "我从未那样想过" |
| 冒险 | 通过挑战带来的兴奋 | "接下来会发生什么?"(外部) |
| 恐怖 | 恐惧与对威胁的直面 | "我害怕看但又忍不住" |
| 悬疑 | 对未知事实的好奇 | "我想弄清楚" |
| 惊悚 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 通过危险产生的紧张感 |
| "他们能及时赶到吗?" |
| 幽默 | 娱乐与消遣 | "那真是出人意料又令人愉快" |
| 关系 | 对人际联系的投入 | "我希望他们能解决问题" |
| 戏剧 | 内心冲突与转变 | "接下来会发生什么?"(内部) |
| 议题 | 对复杂问题的探索 | "我现在对此有了不同的看法" |
| 群像 | 群体动态与协同努力 | "他们将如何团结起来?" |
注意: 科幻、奇幻、历史、当代是设定,而非类型。一个奇幻故事可以是悬疑、爱情或惊悚。设定是类型赖以生存的场所。
症状: 故事缺乏与读者的明确情感契约。不清楚提供何种体验。开头没有表明这是何种故事。读者不知道可以期待什么。
关键问题:
干预措施:
症状: 故事元素与试图营造的情感体验不匹配。惊悚的节奏配上关系内容。悬疑的结构配上冒险的回报。素材与所选类型相冲突。
关键问题:
干预措施:
症状: 元素正确但时机错误。悬疑线索一次性全部抛出。在风险确立之前就出现惊悚的紧张感。恐怖氛围在没有先建立脆弱性的情况下出现。浪漫障碍引入过晚。
关键问题:
干预措施:
症状: 次要情节类型主导了主要故事。浪漫元素压倒了惊悚。幽默破坏了恐怖氛围。思想内容拖慢了冒险节奏。读者找不到立足点。
关键问题:
干预措施:
症状: 悬疑没有公平的线索。惊悚没有倒计时。恐怖没有脆弱性。关系没有障碍。冒险没有逐步升级的挑战。
关键问题:
干预措施:
症状: 类型元素感觉陈旧。读者能预测一切。执行方式毫无新意。"我以前读过这个"的反应。
关键问题:
干预措施:
症状: 当被问及类型时回答"这是科幻"。有世界构建但没有情感核心。设定元素没有服务于类型需求。如果移除设定,故事就没有类型。
关键问题:
干预措施:
症状: 多个POV角色,但没有连贯的类型体验。不同POV之间存在基调上的突兀转换。读者不知道该感受什么。每条线索单独看都成立,但组合起来却不协调。
关键问题:
干预措施:
| 类型 | 设定需求 | 角色需求 | 情节需求 |
|---|---|---|---|
| 惊奇 | 宏大的规模,前所未有的现象 | 感受敬畏的能力,能认识到重要性 | 发现、启示、视角转变 |
| 思想 | 围绕概念构建的社会 | 有求知欲,观点多样 | 概念探索、假设检验 |
| 冒险 | 多样的环境,物理障碍 | 相关技能,经历超出经验的考验 | 逐步升级的挑战,地理位置的移动 |
| 恐怖 | 孤立、行动受限、常态的瓦解 | 与威胁相匹配的弱点,有可失去之物 | 逐步升级的威胁,安全性递减 |
| 悬疑 | 受控的环境,分层的信息 | 有技能的调查者、证人、嫌疑人 | 信息收集,逐步揭示 |
| 惊悚 | 时间敏感、高风险的环境 | 关键的责任,旗鼓相当的对手 | 截止日期压力,逐步升级的威胁 |
| 幽默 | 不寻常的规则,产生误解的可能性 | 盲点,对比鲜明的规范 | 沟通不畅,预期被颠覆 |
| 关系 | 被迫接近,共同的挑战 | 互补的特质,有意义的障碍 | 连接进展,关系考验 |
| 戏剧 | 挑战价值观的环境 | 面临考验的坚定价值观 | 艰难的选择,内心冲突 |
| 议题 | 体现该议题的社会 | 对核心议题的不同视角 | 直接体验不同的方面 |
| 群像 | 需要多样化技能的挑战 | 互补的能力,对比鲜明的观点 | 团队组建,合作挑战 |
当作者带着与类型相关的症状前来时:
询问:"你希望读者拥有什么样的情感体验?" 不是"这属于什么类别?"而是"读者应该感受到什么?"
开头是否标示了这种类型?第一个场景应至少包含一个清晰的预期体验标记。
使用需求表。每个必要元素都存在吗?放置正确吗?发展充分吗?
如果存在次要类型,它们是在服务还是在竞争?每种类型占故事的比例是多少?
在脑海中移除设定。还存在类型吗?设定应该增强而非取代情感体验。
根据识别出的状态,提供具体的干预措施。如果需要,生成元素。指出相关框架。
问题: 故事试图平均地成为悬疑、惊悚和爱情故事。读者不知道可以期待什么体验。没有清晰的情感主线。
解决方法: 建立明确的主要类型。次要类型服务于主要体验。必须有一种类型占主导地位。
问题: 用"这是科幻"来回答类型问题。故事有世界构建但没有情感核心。如果移除设定,故事就所剩无几。
解决方法: 识别设定之下的情感类型。"这是一个设定在科幻世界里的悬疑故事"有类型。"这是科幻"则没有。
问题: 以惊悚开头,却变成关系戏剧。期待紧张感的读者得到了情感戏。期待情感戏的读者得到了紧张感。两者都不满意。
解决方法: 尽早标示真实的类型。如果是混合类型,在开头展示两种元素。不要承诺你不会兑现的东西。
问题: 故事有线索(悬疑)、时间压力(惊悚)和恐惧(恐怖),但它们没有服务于统一的体验。元素存在但缺乏活力。
解决方法: 类型元素必须强化主要的情感体验。每个元素都应该增强体验,而不仅仅是存在。
问题: 每种类型预期都被颠覆。读者没有稳定的立足点。惊喜取代了满足感。
解决方法: 兑现核心承诺。颠覆执行方式,而非契约。读者应该通过意想不到的路径,以预期的方式感到满足。
每种类型的随机元素生成器。
# 从一种类型中随机获取元素
deno run --allow-read scripts/genre-elements.ts mystery
# 类型内的特定类别
deno run --allow-read scripts/genre-elements.ts thriller --category ticking_clocks
# 多个元素
deno run --allow-read scripts/genre-elements.ts horror --count 3
# 列出所有可用类型和类别
deno run --allow-read scripts/genre-elements.ts --list
# 从多种类型中组合
deno run --allow-read scripts/genre-elements.ts --combo mystery,thriller
用于文本样本的模式匹配诊断工具。
# 根据特定类型检查文本
deno run --allow-read scripts/genre-check.ts --genre mystery scene.txt
# 自动检测可能的类型
deno run --allow-read scripts/genre-check.ts --analyze "概要文本在此..."
# 内联文本检查
deno run --allow-read scripts/genre-check.ts --text "侦探在黎明时分到达..." --genre mystery
次要类型整合辅助工具。
# 两种类型的整合策略
deno run --allow-read scripts/genre-blend.ts mystery relationship
# 多个次要类型
deno run --allow-read scripts/genre-blend.ts thriller --secondary humor,wonder
# 分析文本的类型混合情况
deno run --allow-read scripts/genre-blend.ts --analyze "一位侦探在调查过程中坠入爱河..."
| story-sense 状态 | 可能导致类型状态 |
|---|---|
| 状态 0:无故事 | G1(需要建立类型承诺) |
| 状态 1:有概念无基础 | G2(素材与类型不匹配),G7(设定与类型混淆) |
| 状态 4.5:有情节无节奏 | G3(类型元素错位),G5(缺少必要元素) |
| 状态 5:有情节无目的 | G4(次要类型削弱主要类型),G2(类型不匹配) |
| 状态 7:准备评估 | G6(类型陈词滥调未经审视) |
作者: "读者们一直在问这是什么类型的书,我不知道如何回答。"
你的方法:
作者: "这是一部奇幻小说,设定在一个魔法正在消亡的世界。"
你的方法:
作者: "爱情次要情节不断占据我的惊悚故事。"
你的方法:
此技能将主要输出写入文件,以便工作在不同会话间持久保存。
在进行任何其他工作之前:
context/output-config.mdexplorations/genre/ 或该项目的一个合理位置context/output-config.md 中.genre-conventions-output.md 中对于此技能,持久化:
| 存入文件 | 保留在对话中 |
|---|---|
| 类型识别 | 澄清性问题 |
| 惯例需求 | 具体场景的讨论 |
| 承诺清单 | 作者的类型决策 |
| 层级建议 | 实时反馈 |
模式:{故事}-genre-{日期}.md 示例:novel-genre-2025-01-15.md
类型不是写作后贴上的标签。类型是开始时订立的契约。开头承诺一种情感体验。中间发展这种体验。结尾兑现承诺。每个元素都应服务于这份契约。
当出现类型问题时,它们常常掩盖了更深层的问题:目的不明确(story-sense)、角色弧薄弱(character-arc)、节奏问题(scene-sequencing)或执行方式陈旧(cliche-transcendence)。先诊断类型,然后追溯到根本原因。
每周安装次数
118
仓库
GitHub 星标
37
首次出现
2026年1月20日
安全审计
安装于
opencode106
gemini-cli104
codex104
cursor101
github-copilot98
amp88
You diagnose genre-level story problems and generate genre-specific elements. Your role is to ensure stories deliver on their emotional promises to readers.
Genre is a promise. The story must deliver on that promise or readers feel betrayed.
Elemental genres are about emotional experience, not bookshelf categories. A story set on a spaceship can be any genre. The setting is not the genre. The emotional experience is the genre.
| Genre | Core Promise | What Reader Wants to Feel |
|---|---|---|
| Wonder | Awe and fascination | "I had no idea that was possible" |
| Idea | Intellectual stimulation | "I never thought about it that way" |
| Adventure | Excitement through challenges | "What happens next?" (external) |
| Horror | Dread and confrontation with threat | "I'm afraid to look but can't stop" |
| Mystery | Curiosity about unknown facts | "I want to figure it out" |
| Thriller | Tension through danger | "Will they make it in time?" |
| Humor | Amusement and entertainment | "That was unexpected and delightful" |
| Relationship | Investment in connections | "I want them to work it out" |
| Drama | Internal conflict and transformation | "What happens next?" (internal) |
| Issue | Exploration of complex questions | "I see this differently now" |
| Ensemble | Group dynamics and combined effort | "How will they come together?" |
Note: Science fiction, fantasy, historical, contemporary are settings , not genres. A fantasy story can be mystery, romance, or thriller. The setting is where the genre lives.
Symptoms: Story lacks clear emotional contract with reader. Unclear what experience is being offered. Opening doesn't signal what kind of story this is. Readers don't know what to expect.
Key Questions:
Interventions:
Symptoms: Story elements don't match the emotional experience being attempted. Thriller pacing with relationship content. Mystery structure with adventure payoff. Material fights against chosen genre.
Key Questions:
Interventions:
Symptoms: Right elements but wrong timing. Mystery clues all dumped at once. Thriller tension before stakes established. Horror dread without vulnerability setup first. Romance obstacle introduced too late.
Key Questions:
Interventions:
Symptoms: Subplot genre dominates main story. Romance overwhelms thriller. Humor breaks horror atmosphere. Idea content slows adventure. Reader can't find footing.
Key Questions:
Interventions:
Symptoms: Mystery without fair-play clues. Thriller without ticking clock. Horror without vulnerability. Relationship without obstacles. Adventure without escalating challenges.
Key Questions:
Interventions:
Symptoms: Genre elements feel tired. Reader predicts everything. Nothing fresh about execution. "I've read this before" response.
Key Questions:
Interventions:
Symptoms: "It's sci-fi" when asked about genre. Worldbuilding without emotional core. Setting elements don't serve genre needs. Story would have no genre if setting were removed.
Key Questions:
Interventions:
Symptoms: Multiple POV characters with no coherent genre experience. Tonal whiplash between POVs. Reader doesn't know what to feel. Each thread works alone but they don't combine.
Key Questions:
Interventions:
| Genre | Setting Needs | Character Needs | Plot Needs |
|---|---|---|---|
| Wonder | Vast scales, unprecedented phenomena | Capacity for awe, can recognize significance | Discovery, revelation, perspective shift |
| Idea | Societies built around concepts | Intellectually curious, varied perspectives | Concept exploration, hypothesis testing |
| Adventure | Varied environments, physical obstacles | Relevant skills, tested beyond experience | Progressive challenges, geographic movement |
| Horror | Isolation, restricted movement, breakdown of normal | Vulnerabilities matching threats, something to lose | Escalating threat, diminishing safety |
| Mystery | Controlled environments, layered information | Investigators with skills, witnesses, suspects | Information gathering, progressive revelation |
When a writer comes with genre-related symptoms:
Ask: "What emotional experience do you want readers to have?" Not "what category is this?" but "what should readers feel?"
Does the opening signal this genre? First scene should contain at least one clear marker of the intended experience.
Use the requirements table. Is each required element present? Placed correctly? Sufficiently developed?
If there are secondary genres, are they serving or competing? What proportion of story goes to each?
Remove the setting mentally. Is there still a genre? The setting should enhance, not replace, the emotional experience.
Based on identified state, provide specific interventions. Generate elements if needed. Point to frameworks.
Problem: Story tries to be equally mystery, thriller, and romance. Reader doesn't know what experience to expect. No clear emotional throughline.
Fix: Establish clear primary genre. Secondary genres serve the primary experience. One genre must dominate.
Problem: "It's sci-fi" answers the genre question. Story has worldbuilding but no emotional core. If you removed the setting, there's no story left.
Fix: Identify the emotional genre beneath the setting. "It's a mystery set in a sci-fi world" has a genre. "It's sci-fi" does not.
Problem: Opens as thriller, becomes relationship drama. Reader expecting tension gets feelings. Reader expecting feelings gets tension. Neither is satisfied.
Fix: Signal true genre early. If hybrid, show both elements in opening. Don't promise what you won't deliver.
Problem: Story has clues (mystery), time pressure (thriller), and dread (horror), but they don't serve a unified experience. Elements are present but inert.
Fix: Genre elements must reinforce primary emotional experience. Each element should intensify, not just exist.
Problem: Every genre expectation is subverted. Reader has no stable ground. Surprise has replaced satisfaction.
Fix: Deliver on core promise. Subvert execution, not contract. Reader should feel satisfied in the expected way via unexpected path.
Random element generator for each genre.
# Random element from a genre
deno run --allow-read scripts/genre-elements.ts mystery
# Specific category within genre
deno run --allow-read scripts/genre-elements.ts thriller --category ticking_clocks
# Multiple elements
deno run --allow-read scripts/genre-elements.ts horror --count 3
# List all available genres and categories
deno run --allow-read scripts/genre-elements.ts --list
# Combo from multiple genres
deno run --allow-read scripts/genre-elements.ts --combo mystery,thriller
Pattern-matching diagnostic for text samples.
# Check text against specific genre
deno run --allow-read scripts/genre-check.ts --genre mystery scene.txt
# Auto-detect likely genre
deno run --allow-read scripts/genre-check.ts --analyze "Synopsis text here..."
# Inline text check
deno run --allow-read scripts/genre-check.ts --text "The detective arrived at dawn..." --genre mystery
Secondary genre integration helper.
# Integration strategies for two genres
deno run --allow-read scripts/genre-blend.ts mystery relationship
# Multiple secondary genres
deno run --allow-read scripts/genre-blend.ts thriller --secondary humor,wonder
# Analyze text for genre blend
deno run --allow-read scripts/genre-blend.ts --analyze "A detective who falls in love while investigating..."
| story-sense State | May Lead to Genre State |
|---|---|
| State 0: No Story | G1 (need to establish genre promise) |
| State 1: Concept Without Foundation | G2 (wrong genre for material), G7 (setting vs. genre confusion) |
| State 4.5: Plot Without Pacing | G3 (genre elements misplaced), G5 (missing required elements) |
| State 5: Plot Without Purpose | G4 (secondary genre undermining), G2 (genre mismatch) |
| State 7: Ready for Evaluation | G6 (genre cliches unexamined) |
Writer: "Readers keep asking what kind of book this is and I don't know how to answer."
Your approach:
Writer: "It's a fantasy novel set in a world where magic is dying."
Your approach:
Writer: "The romance subplot keeps taking over my thriller."
Your approach:
This skill writes primary output to files so work persists across sessions.
Before doing any other work:
context/output-config.md in the projectexplorations/genre/ or a sensible location for this projectcontext/output-config.md if context network exists.genre-conventions-output.md at project root otherwiseFor this skill, persist:
| Goes to File | Stays in Conversation |
|---|---|
| Genre identification | Clarifying questions |
| Convention requirements | Discussion of specific scenes |
| Promise inventory | Writer's genre decisions |
| Hierarchy recommendations | Real-time feedback |
Pattern: {story}-genre-{date}.md Example: novel-genre-2025-01-15.md
Genre is not a label applied after writing. Genre is a contract made at the start. The opening promises an emotional experience. The middle develops that experience. The ending delivers on the promise. Every element should serve the contract.
When genre problems appear, they often mask deeper issues: unclear purpose (story-sense), weak character arc (character-arc), pacing problems (scene-sequencing), or stale execution (cliche-transcendence). Diagnose genre first, then trace to root cause.
Weekly Installs
118
Repository
GitHub Stars
37
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
opencode106
gemini-cli104
codex104
cursor101
github-copilot98
amp88
冲刺回顾模板:敏捷团队回顾会议指南与模板(开始-停止-继续/愤怒-悲伤-高兴/4Ls)
10,400 周安装
Go 代码风格核心原则与最佳实践 | Google/Uber 权威指南
331 周安装
Cloudflare Vectorize 完整指南:全球分布式向量数据库,实现语义搜索与RAG应用
326 周安装
Cloudflare Agents SDK:构建AI驱动的自主智能体,支持可恢复流式传输与持久化状态
326 周安装
Snowflake平台技能:使用CLI、Cortex AI函数和Snowpark构建AI数据云应用
326 周安装
React + Cloudflare Workers 集成 Microsoft Entra ID 身份验证完整指南 | Azure Auth
327 周安装
Cloudflare Images 图像托管与转换 API 使用指南 | 支持 AI 人脸裁剪与内容凭证
328 周安装
| Thriller | Time-sensitive, high-stakes environments | Crucial responsibilities, matched antagonists | Deadline pressure, escalating threats |
| Humor | Unusual rules, potential for misunderstanding | Blind spots, contrasting norms | Miscommunication, subverted expectations |
| Relationship | Forced proximity, shared challenges | Complementary traits, meaningful obstacles | Connection progression, relationship tests |
| Drama | Environments that challenge values | Strong values facing tests | Difficult choices, internal conflict |
| Issue | Societies manifesting the issue | Diverse perspectives on central issue | Direct experience with different facets |
| Ensemble | Challenges requiring diverse skills | Complementary abilities, contrasting views | Team formation, cooperation challenges |