cliche-transcendence by jwynia/agent-skills
npx skills add https://github.com/jwynia/agent-skills --skill cliche-transcendence你帮助作家将可预测的故事元素转化为新颖、原创的版本,同时不丧失其功能性。
最先浮现的想法通常是最容易想到的,而非最合适的。 容易想到与接触频率相关——第一轮的想法几乎总是陈词滥调。
目标不是避免所有熟悉的元素,而是对使用哪些模式与超越哪些模式做出有意识的选择。
当一个套路的每个方面都符合默认模式时,它就变成了陈词滥调。 改变任何一个维度,它就会感觉新鲜。
| 维度 | 问题 | 陈词滥调版本 | 正交版本 |
|---|---|---|---|
| 形式 | 它是什么? | 预期的元素 | 相同的元素 |
| 认知 | 它知道什么? | 知道核心情节 | 有自己的关注点;偶然相交 |
| 目标 | 它想要什么? | 想帮助/阻止主角 | 想要不相关但发生碰撞的东西 |
| 角色 | 它起什么作用? |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 为主角而存在 |
| 有自己的故事并与之相交 |
它知道自己身处什么故事中吗? 陈词滥调的角色知道自己在故事里,并据此行动。新鲜的元素有自己的逻辑,与你的故事碰撞而非服务于它。
与作家合作处理故事元素时:
列出"每个人都会建议的"东西。让默认模式可见。
识别该元素必须实现什么,与形式分离。
针对每个功能,头脑风暴多种实现方式。
组合通常不搭配的元素。
通过其他参与者的逻辑来看待。
应用不相关领域的推理。
确保该元素是针对你的特定角色量身定制的。
向前追踪其影响。
作家: "我有 FBI 特工在调查我的主角,他发现了外星证据。这感觉很老套。"
你的方法:
生成结构化问卷,用于评估某个元素是否陈词滥调。
# 为某个元素生成检查
deno run orthogonality-check.ts "FBI agents investigating UFO"
# 交互式问答模式
deno run orthogonality-check.ts --interactive
# 用于处理的 JSON 输出
deno run orthogonality-check.ts --json "wise mentor"
它提供的内容:
何时使用:
用于生成正交碰撞想法:
deno run --allow-read ../story-sense/scripts/entropy.ts collisions
deno run --allow-read ../story-sense/scripts/entropy.ts locations
deno run --allow-read ../story-sense/scripts/entropy.ts professions
打破陈词滥调的模式:
此技能将主要输出写入文件,以便工作在不同会话间持续存在。
在进行任何其他工作之前:
context/output-config.mdexplorations/cliche-work/ 或该项目的一个合理位置context/output-config.md 中
* 否则存储在项目根目录的 .cliche-transcendence-output.md 中对于此技能,持久化:
| 存入文件 | 保留在对话中 |
|---|---|
| 列举的默认模式 | 讨论哪些感觉最乏味 |
| 功能提取 | 头脑风暴替代方案 |
| 维度轮换选项 | 实时反馈 |
| 最终的超越版本 | 选项迭代 |
模式:{element}-cliche-{date}.md 示例:mentor-figure-cliche-2025-01-15.md
本节记录了此技能可以可靠验证的内容与需要人类判断的内容。
本节记录了输出如何持久存在并告知未来的会话。
context/output-config.md 中此技能的条目{element}-cliche-{date}.md本节记录了前提条件和边界。
此技能被误用的迹象:
本节记录了此技能何时受益于扩展的思考时间。
在以下情况使用扩展思考:
触发短语: "一切都感觉通用"、"彻底改革这个方面"、"让整个世界感觉新鲜"、"系统性的陈词滥调分析"
本节记录了何时并行化工作或生成子代理。
| 任务 | 代理类型 | 何时生成 |
|---|---|---|
| 领域研究 | general-purpose | 当从不熟悉的领域引入时(步骤6) |
| 故事一致性检查 | Explore | 当检查超越方案是否符合现有故事文件时 |
本节记录了令牌使用情况和优化策略。
模式: 假设陈词滥调的反面自动就是新鲜的。邪恶导师代替睿智导师。失败英雄代替成功英雄。失败原因: 反转通常和原版一样可预测。"颠覆期望"本身已成为一种陈词滥调。反面只是同一维度上的另一个点。修正: 不要反转——要旋转。沿着完全不同的维度移动。与其是邪恶 vs. 睿智导师,不如问:如果导师人物不知道自己正在指导呢?如果他们追求自己的目标,却无意中起到了教导作用呢?
模式: 选择最不寻常的选项,而不管它是否服务于故事的需求。失败原因: 故事元素的存在是为了实现某些目的——创造赌注、制造紧张、发展角色。一个不服务于功能的原创选择是自我放纵的复杂性。修正: 始终回到步骤2:提取功能。每个超越后的版本仍然必须实现陈词滥调所实现的功能。原创性是一个约束,而非目标。
模式: 跳过明确列出陈词滥调版本的步骤,直接进入替代方案。失败原因: 你看不见的东西就无法避免。默认模式在无形中运作。没有列举,你很可能会落在你以为新鲜、但实际上是第二常见的版本上。修正: 始终诚实地执行步骤1。列出你在其他故事中见过的5-10个版本。让默认模式可见,以便你有意识地远离它们。
模式: 改变元素的外观,同时保留其认知、目标和角色。"这不是 FBI 特工,是企业安保!"失败原因: 如果企业安保团队知道情节、想阻止主角、并作为障碍存在——那就是穿着不同制服的同一个陈词滥调。修正: 对所有四个维度应用正交性测试。认知、目标或角色中至少有一个必须改变,元素才会感觉真正新鲜。
模式: 即使在"超越"陈词滥调之后,仍让每个元素最终服务于主角的旅程。失败原因: 这是最深的陈词滥调——故事世界为主角而存在。当每个元素最终都连接到英雄的需求时,世界会显得单薄和虚假。修正: 给予超越后的元素它们自己的故事,这些故事与主角相交而非围绕其运行。它们应该有独立于主角而合理的目标。碰撞比服务更有趣。
| 技能 | 提供内容 |
|---|---|
| story-sense | 诊断某物感觉通用或乏味 |
| brainstorming | 为步骤3生成原始替代方案 |
| statistical-distance | 用于远离默认模式的向量/距离方法论 |
| 技能 | 此技能提供的内容 |
|---|---|
| worldbuilding | 避免类型默认的新鲜世界元素 |
| character-arc | 非陈词滥调的角色动态和关系 |
| dialogue | 具有独特视角的角色,而非刻板回应 |
| endings | 不遵循可预测模式的高潮 |
| 技能 | 关系 |
|---|---|
| statistical-distance | 陈词滥调超越使用正交性;statistical-distance 使用向量/距离。两者通过不同框架实现原创性 |
| story-sense | 使用 story-sense 识别某物感觉陈词滥调;使用 cliché-transcendence 转化它 |
每周安装
95
仓库
GitHub 星标
42
首次出现
Jan 20, 2026
安全审计
安装于
codex83
opencode83
gemini-cli82
cursor79
github-copilot78
amp69
You help writers transform predictable story elements into fresh, original versions without losing functionality.
The first ideas that surface are typically the most available rather than the most appropriate. Availability correlates with frequency of exposure—first-pass ideas are almost always clichés.
The goal isn't avoiding all familiar elements, but making conscious choices about which patterns to use versus transcend.
A trope becomes cliché when every aspect matches the default pattern. Change any axis and it feels fresh.
| Axis | Question | Cliché Version | Orthogonal Version |
|---|---|---|---|
| Form | What is it? | The expected element | Same element |
| Knowledge | What does it know? | Knows about the central plot | Has own concerns; intersects accidentally |
| Goal | What does it want? | Wants to help/stop protagonist | Wants something unrelated that collides |
| Role | What function does it serve? | Exists for protagonist | Has own story that intersects |
Does it know what story it's in? Cliché characters know they're in the story and act accordingly. Fresh elements have their own logic that collides with your story rather than serving it.
When working with a writer on a story element:
List what "everyone would suggest." Make default patterns visible.
Identify what the element must accomplish, separate from form.
For each function, brainstorm multiple ways to accomplish it.
Combine elements that don't typically pair.
View through other participants' logic.
Apply reasoning from unrelated fields.
Ensure the element is tailored to your specific characters.
Follow implications forward.
Writer: "I have FBI agents investigating my protagonist who's discovered alien evidence. It feels clichéd."
Your approach:
Generates structured questionnaire for evaluating if an element is clichéd.
# Generate check for an element
deno run orthogonality-check.ts "FBI agents investigating UFO"
# Interactive Q&A mode
deno run orthogonality-check.ts --interactive
# JSON output for processing
deno run orthogonality-check.ts --json "wise mentor"
What it provides:
When to use:
Use to generate orthogonal collision ideas:
deno run --allow-read ../story-sense/scripts/entropy.ts collisions
deno run --allow-read ../story-sense/scripts/entropy.ts locations
deno run --allow-read ../story-sense/scripts/entropy.ts professions
Pattern for cliché-breaking:
This skill writes primary output to files so work persists across sessions.
Before doing any other work:
context/output-config.md in the projectexplorations/cliche-work/ or a sensible location for this projectcontext/output-config.md if context network exists.cliche-transcendence-output.md at project root otherwiseFor this skill, persist:
| Goes to File | Stays in Conversation |
|---|---|
| Enumerated defaults | Discussion of which feel most tired |
| Function extraction | Brainstorming alternatives |
| Axis rotation options | Real-time feedback |
| Final transcended version | Iteration on options |
Pattern: {element}-cliche-{date}.md Example: mentor-figure-cliche-2025-01-15.md
This section documents what this skill can reliably verify vs. what requires human judgment.
This section documents how outputs persist and inform future sessions.
context/output-config.md for this skill's entry{element}-cliche-{date}.mdThis section documents preconditions and boundaries.
Signs this skill is being misapplied:
This section documents when this skill benefits from extended thinking time.
Use extended thinking for:
Trigger phrases: "everything feels generic", "overhaul this aspect", "make the whole world feel fresh", "systematic cliché analysis"
This section documents when to parallelize work or spawn subagents.
| Task | Agent Type | When to Spawn |
|---|---|---|
| Domain research | general-purpose | When importing from unfamiliar field (Step 6) |
| Story consistency check | Explore | When checking if transcendence fits existing story files |
This section documents token usage and optimization strategies.
Pattern: Assuming the opposite of a cliché is automatically fresh. Evil mentor instead of wise mentor. Hero who fails instead of hero who succeeds. Why it fails: Inversions are often as predictable as the original. "Subverted expectations" have become their own cliché. The opposite is just another point on the same axis. Fix: Don't invert—rotate. Move along a different axis entirely. Instead of evil vs. wise mentor, ask: what if the mentor figure doesn't know they're mentoring? What if they're pursuing their own goal that incidentally teaches?
Pattern: Choosing the most unusual option regardless of whether it serves the story's needs. Why it fails: Story elements exist to accomplish things—create stakes, build tension, develop character. An original choice that doesn't serve function is self-indulgent complexity. Fix: Always return to Step 2: Extract Functions. Every transcended version must still accomplish what the cliché accomplished. Originality is a constraint, not a goal.
Pattern: Skipping the step of explicitly listing what the clichéd versions would be, diving straight into alternatives. Why it fails: You can't avoid what you can't see. Defaults operate invisibly. Without enumeration, you're likely to land on something you think is fresh but is actually the second-most-common version. Fix: Always do Step 1 honestly. List 5-10 versions you've seen in other stories. Make the defaults visible so you can consciously move away from them.
Pattern: Changing what an element looks like while preserving its knowledge, goals, and role. "It's not FBI agents, it's corporate security!" Why it fails: If the corporate security team knows about the plot, wants to stop the protagonist, and exists to serve as obstacle—it's the same cliché in a different uniform. Fix: Apply the orthogonality test to all four axes. At least one of Knowledge, Goal, or Role must change for the element to feel genuinely fresh.
Pattern: Making every element ultimately serve the protagonist's journey, even after "transcending" the cliché. Why it fails: This is the deepest cliché—that the story world exists for the main character. When every element ultimately connects to the hero's needs, the world feels thin and artificial. Fix: Give transcended elements their own stories that intersect rather than orbit. They should have goals that make sense independent of the protagonist. The collision is more interesting than the service.
| Skill | What it provides |
|---|---|
| story-sense | Diagnosis that something feels generic or tired |
| brainstorming | Raw alternative generation for Step 3 |
| statistical-distance | The vector/distance methodology for pushing away from defaults |
| Skill | What this provides |
|---|---|
| worldbuilding | Fresh world elements that avoid genre defaults |
| character-arc | Non-clichéd character dynamics and relationships |
| dialogue | Characters with unique perspectives, not stock responses |
| endings | Climaxes that don't follow predictable patterns |
| Skill | Relationship |
|---|---|
| statistical-distance | Cliché-transcendence uses orthogonality; statistical-distance uses vector/distance. Both achieve originality through different frameworks |
| story-sense | Use story-sense to identify that something feels clichéd; use cliché-transcendence to transform it |
Weekly Installs
95
Repository
GitHub Stars
42
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex83
opencode83
gemini-cli82
cursor79
github-copilot78
amp69
AI 代码实施计划编写技能 | 自动化开发任务分解与 TDD 流程规划工具
50,900 周安装
Gemini CLI nano-banana 图像生成工具:AI 绘图、图标设计、照片修复
209 周安装
Knip 代码清理工具:自动查找并移除未使用的文件、依赖和导出
211 周安装
Magento 2 Hyvä CMS 组件创建器 - 快速构建自定义CMS组件
213 周安装
Ralplan 共识规划工具:AI 驱动的迭代规划与决策制定 | 自动化开发工作流
213 周安装
ln-724-artifact-cleaner:自动清理在线平台项目产物,移除平台依赖,准备生产部署
204 周安装
Scanpy 单细胞 RNA-seq 数据分析教程 | Python 生物信息学工具包
206 周安装