npx skills add https://github.com/jwynia/agent-skills --skill endings你负责诊断小说中的结局层面问题。你的角色是找出解决方案失败的原因,并引导作者创作出既感觉必然又令人惊喜的结局。
最好的结局让人感觉既必然("当然必须这样结束")又惊喜("我没想到会是这样")。
这种看似矛盾的情况可以通过在故事中埋下伏笔、让结局从角色和主题中自然浮现、颠覆表面期望同时满足深层期望来解决。
一个仅仅必然的结局会显得可预测。一个仅仅惊喜的结局会显得随意。两者结合才能创造满足感。
张力达到最高点,戏剧性问题得到解答的时刻。
高潮必须:
高潮后的减压阶段。事件平息,后果显现,角色处理。
下降情节应该:
最终状态——事物最终停留的地方。
结局应该:
症状: 解决方案并非源于之前的内容。结局感觉随机或脱节。"这是从哪里来的?"的反应。没有埋下伏笔。
关键问题:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
诊断清单:
干预措施:
症状: 读者很早就预见到结局。完全没有惊喜。过于刻板地遵循类型惯例。表面期望被完全满足。
关键问题:
诊断清单:
干预措施:
症状: 机械降神。外部力量解决了主角的问题。解决方案不需要主角的成长。巧合或运气拯救了局面。
关键问题:
诊断清单:
干预措施:
症状: 结局提出的问题比回答的还多。在解决阶段引入新的谜团。范围在应该收窄时反而扩大。读者感到困惑而非满足。
关键问题:
诊断清单:
干预措施:
症状: 角色总结主题。冗长的尾声解释每个人的命运。所有线索都系得太整齐。没有留给读者感受或解读的空间。
关键问题:
诊断清单:
干预措施:
症状: 高潮有效但后续失败。结局感觉仓促(太快)或没完没了(太慢)。情感冲击因时机而丧失。读者在最后几页感到不耐烦或困惑。
关键问题:
节奏指标:
| 问题 | 症状 | 修复 |
|---|---|---|
| 仓促 | 高潮 → 立即结束 | 添加下降情节;让影响显现 |
| 冗长 | 张力释放后还有多页 | 删减至必要内容;以共鸣结束 |
| 反高潮 | 解决方案小于铺垫 | 确保高潮与已建立的赌注相匹配 |
干预措施:
| 类型 | 定义 | 最适合 | 风险 |
|---|---|---|---|
| 封闭式 | 所有主要问题得到解答 | 独立小说、类型小说 | 过度解释、过于整齐 |
| 开放式 | 一些问题未解答 | 文学小说、系列作品 | 令人沮丧、感觉未完成 |
| 模糊式 | 解释故意不明确 | 不可靠叙述者、哲学故事 | 如果随意则令人不满 |
| 反转式 | 最终揭示重新定义上下文 | 悬疑、感知故事 | 如果未应得则显得廉价 |
| 循环式 | 回到起点,但有变化 | 强调角色弧线、主题 | 如果生硬则显得做作 |
结局必须完成角色的转变:
| 弧线类型 | 结局要求 | 测试 |
|---|---|---|
| 积极 | 角色通过行动证明新真理 | 主角是否通过行为证明改变? |
| 消极 | 角色的堕落完成,后果显现 | 悲剧是否感觉源于角色的选择而必然? |
| 扁平 | 角色的真理得到证实,世界改变 | 坚持对结果重要吗? |
关键测试: 结局时的主角是否通过行动(而非陈述)证明他们已经改变?
并非每个线索都需要同等的收尾:
| 次要情节类型 | 需要的解决 |
|---|---|
| 与主情节相连 | 必须解决,与高潮相连 |
| 角色发展 | 应该解决或展示新状态 |
| 主题镜像 | 如果主题清晰,可以保持开放 |
| 世界质感 | 可以继续未解决 |
原则: 次要情节占用的空间越多,它需要的解决就越多。
模式: 外部力量解决了主角无法解决的问题。问题: 解决方案未应得;角色的旅程不重要。修复: 解决方案必须源于已确立的故事元素和主角的选择。
模式: 结局主要为了设置下一部作品。问题: 这个故事没有自己完整的弧线。修复: 每个故事都应得到满足感。下一部的钩子可以与解决共存。
模式: 冗长地解释每个人后来的情况。问题: 破坏节奏;剥夺读者的想象参与。修复: 以引起共鸣的时刻结束,而非传记。相信读者。
模式: 角色明确阐述故事的意义。问题: 说教;把读者当作无法解读的人。修复: 通过行动和画面展示主题,而非陈述。
模式: 一切顺利,所有线索都系结,没有代价或模糊性。问题: 感觉人工化;消除了旅程的分量。修复: 胜利应该付出代价。一些线索可以保持开放。
模式: 黑暗结局与故事的情感旅程相矛盾。问题: 感觉像为了震惊而震惊,而非应得的悲剧。修复: 结局必须源于故事逻辑,而非作者的惊喜。
| 类型 | 典型期望 | 颠覆机会 |
|---|---|---|
| 爱情 | 情侣在一起(HEA/HFN) | 他们如何到达;牺牲了什么 |
| 悬疑 | 揭示罪犯 | 揭示的含义;侦探的改变 |
| 惊悚 | 威胁被消除 | 胜利的代价;失去了什么 |
| 文学 | 主题解决 | 模糊性;开放性问题 |
| 恐怖 | 怪物被击败或获胜 | 惨胜;腐败持续 |
| 奇幻 | 任务完成 | 改变后的英雄回到改变后的世界 |
原则: 在宏观层面满足类型期望;在微观层面制造惊喜。
留给读者的东西影响不成比例地大。
强有力的最终画面:
薄弱的最终画面:
系列中的单本:
系列终章:
托尔金的术语,指突然、意想不到的向好转折——灾难似乎不可避免,然后救赎到来。
要求:
当作者提出结局问题时:
主角是否在高潮时通过行动展示了转变?
使用设置-回报工具验证:
根据识别的状态,提供具体的修复方法。
分析结局结构和类型。
deno run --allow-read scripts/ending-check.ts final-chapter.txt
deno run --allow-read scripts/ending-check.ts --text "The resolution..."
检查:
追踪故事中的设置和回报。
deno run --allow-read scripts/setup-payoff.ts --setup "The rusty key" --file story.txt
deno run --allow-read scripts/setup-payoff.ts --analyze story.txt
报告:
| story-sense 状态 | 映射到结局状态 |
|---|---|
| 状态 5.75:结局未落地 | E1-E6(诊断具体哪个) |
作者: "测试读者说我的结局来得莫名其妙。"
你的方法:
作者: "援军及时赶到,但感觉很廉价。"
你的方法:
作者: "我不知道高潮后如何结束。我一直在添加场景。"
你的方法:
此技能将主要输出写入文件,以便工作在不同会话间持续。
在进行任何其他工作之前:
context/output-config.mdexplorations/endings/ 或此项目的合理位置context/output-config.md 中.endings-output.md 中对于此技能,持久化:
| 写入文件 | 保留在对话中 |
|---|---|
| 结局状态诊断 | 澄清性问题 |
| 承诺清单 | 选项讨论 |
| 解决要求 | 作者的结局选择 |
| 反向追溯分析 | 实时反馈 |
模式:{story}-ending-{date}.md 示例:novel-ending-2025-01-15.md
你的角色是诊断性的:识别问题,解释为什么是问题,并指导修复。作者负责写作。
结局是兑现的承诺。每个故事都通过类型、角色设置、主题方向,隐含地承诺它将提供什么样的结局。一个好的结局以一种意想不到的方式兑现这些承诺。
最常见的结局失败是随意结局:解决方案并非源于已构建的内容。修复方法总是一样的:反向追溯。这个故事实际上指向什么结局?然后要么写那个结局,要么修改故事以指向你想要的结局。
结局不能孤立地修复。它是之前一切内容的顶点。
每周安装
93
仓库
GitHub 星标
40
首次出现
2026年1月20日
安全审计
安装于
opencode80
gemini-cli78
codex78
cursor75
github-copilot73
claude-code65
You diagnose ending-level problems in fiction. Your role is to identify why resolutions fail and guide writers toward endings that feel both inevitable AND surprising.
The best endings feel both inevitable ("of course it had to end this way") AND surprising ("I didn't see that coming").
This seeming contradiction is resolved by planting seeds throughout the story, having the ending emerge from character and theme, and subverting surface expectations while fulfilling deeper ones.
An ending that's only inevitable feels predictable. An ending that's only surprising feels arbitrary. Both together create satisfaction.
The point of highest tension where the dramatic question is answered.
Climax must:
The decompression after climax. Events settle, consequences manifest, characters process.
Falling action should:
The final state—where things end up.
Resolution should:
Symptoms: Resolution doesn't follow from what preceded it. Ending feels random or disconnected. "Where did that come from?" reaction. Seeds weren't planted.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Reader sees ending coming from far away. No surprise at all. Genre conventions followed too literally. Surface expectations met exactly.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Deus ex machina. External force solves protagonist's problem. Resolution doesn't require protagonist's growth. Coincidence or luck saves the day.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Ending raises more questions than it answers. New mysteries introduced at resolution. Scope widens when it should narrow. Reader left confused rather than satisfied.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Characters summarize theme. Lengthy epilogue explains everyone's fate. All threads tied too neatly. Nothing left for reader to feel or interpret.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Climax works but aftermath fails. Ending feels rushed (too fast) or endless (too slow). Emotional impact lost through timing. Reader impatience or confusion in final pages.
Key Questions:
Pacing Indicators:
| Problem | Symptom | Fix |
|---|---|---|
| Rushed | Climax → immediate end | Add falling action; let implications register |
| Endless | Pages after tension released | Cut to essential; end on resonance |
| Anticlimactic | Resolution smaller than buildup | Ensure climax matches stakes established |
Interventions:
| Type | Definition | Best For | Risks |
|---|---|---|---|
| Closed | All major questions answered | Standalone novels, genre fiction | Over-explanation, too neat |
| Open | Some questions left unanswered | Literary fiction, series | Frustrating, feels unfinished |
| Ambiguous | Deliberately unclear interpretation | Unreliable narrators, philosophy | Unsatisfying if arbitrary |
| Twist | Final revelation recontextualizes | Mystery, perception stories | Cheap if unearned |
| Circular | Returns to beginning, with change | Character arc emphasis, theme | Contrived if forced |
The ending must complete the character's transformation:
| Arc Type | Ending Requirement | Test |
|---|---|---|
| Positive | Character demonstrates new truth through action | Does protagonist prove change through behavior? |
| Negative | Character's fall completes, consequences manifest | Does tragedy feel inevitable from character's choices? |
| Flat | Character's truth vindicated, world changed | Did steadfastness matter to the outcome? |
Key Test: Does the protagonist at the end prove—through action, not statement—that they've changed?
Not every thread needs equal closure:
| Subplot Type | Resolution Needed |
|---|---|
| Main plot-connected | Must resolve, connected to climax |
| Character-developing | Should resolve or show new state |
| Thematic mirror | Can be left open if theme clear |
| World-texture | Can continue unresolved |
Principle: The more space a subplot received, the more resolution it needs.
Pattern: External force solves the problem protagonist couldn't. Problem: Resolution not earned; character's journey didn't matter. Fix: Resolution must emerge from established story elements and protagonist's choices.
Pattern: Ending exists primarily to set up next installment. Problem: This story doesn't get its own complete arc. Fix: Each story deserves satisfaction. Hook for next can exist alongside resolution.
Pattern: Lengthy explanation of what happened to everyone afterward. Problem: Kills pacing; removes reader's imaginative participation. Fix: End on resonant moment, not biography. Trust readers.
Pattern: Character articulates exactly what the story meant. Problem: Preachiness; treating reader as unable to interpret. Fix: Demonstrate theme through action and image, not statement.
Pattern: Everything works out, all threads tied, no cost or ambiguity. Problem: Feels artificial; removes the weight of the journey. Fix: Victory should cost something. Some threads can remain open.
Pattern: Dark ending that contradicts the story's emotional journey. Problem: Feels like shock value, not earned tragedy. Fix: Ending must emerge from story logic, not authorial surprise.
| Genre | Typical Expectation | Subversion Opportunity |
|---|---|---|
| Romance | Couple together (HEA/HFN) | How they get there; what's sacrificed |
| Mystery | Culprit revealed | Implications of revelation; detective changed |
| Thriller | Threat neutralized | Cost of victory; what's lost |
| Literary | Thematic resolution | Ambiguity; open questions |
| Horror | Monster defeated or prevails | Pyrrhic victory; corruption persists |
| Fantasy | Quest complete | Changed hero returns to changed world |
Principle: Meet genre expectations at macro level; surprise at micro level.
What the reader is left with matters disproportionately.
Strong final images:
Weak final images:
Book-in-Series:
Series Finale:
Tolkien's term for the sudden, unexpected turn to good—disaster seems certain, then salvation arrives.
Requirements:
When a writer presents ending problems:
Does the protagonist demonstrate transformation through action at the climax?
Use setup-payoff tool to verify:
Based on identified state, provide specific fixes.
Analyzes ending structure and type.
deno run --allow-read scripts/ending-check.ts final-chapter.txt
deno run --allow-read scripts/ending-check.ts --text "The resolution..."
Checks:
Tracks setups and payoffs across a story.
deno run --allow-read scripts/setup-payoff.ts --setup "The rusty key" --file story.txt
deno run --allow-read scripts/setup-payoff.ts --analyze story.txt
Reports:
| story-sense State | Maps to Endings State |
|---|---|
| State 5.75: Ending Doesn't Land | E1-E6 (diagnose which specifically) |
Writer: "Beta readers say my ending came out of nowhere."
Your approach:
Writer: "The cavalry arrives just in time but it feels cheap."
Your approach:
Writer: "I can't figure out how to end after the climax. I keep adding scenes."
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/endings/ or a sensible location for this projectcontext/output-config.md if context network exists.endings-output.md at project root otherwiseFor this skill, persist:
| Goes to File | Stays in Conversation |
|---|---|
| Ending state diagnosis | Clarifying questions |
| Promise inventory | Discussion of options |
| Resolution requirements | Writer's ending choices |
| Backwards-trace analysis | Real-time feedback |
Pattern: {story}-ending-{date}.md Example: novel-ending-2025-01-15.md
Your role is diagnostic: identify the problem, explain why it's a problem, and guide toward the fix. The writer does the writing.
Endings are promises kept. Every story makes implicit promises about what kind of ending it will deliver—through genre, through character setup, through thematic direction. A good ending keeps those promises in an unexpected way.
The most common ending failure is the arbitrary ending: resolution that doesn't emerge from what was built. The fix is always the same: trace backward. What ending does this story actually point toward? Then either write that ending, or revise the story to point toward the ending you want.
An ending can't be fixed in isolation. It's the culmination of everything that came before.
Weekly Installs
93
Repository
GitHub Stars
40
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode80
gemini-cli78
codex78
cursor75
github-copilot73
claude-code65
冲刺回顾模板:敏捷团队回顾会议指南与模板(开始-停止-继续/愤怒-悲伤-高兴/4Ls)
10,400 周安装