Transform predictable story elements into fresh, original versions. Use when something feels generic, when feedback says "I've seen this before," when elements orbit the protagonist too conveniently, or when you want to make a familiar trope feel new. Applies the 8-step CTF process and Orthogonality Principle.
npx claudepluginhub joshuarweaver/cascade-content-creation-misc-1 --plugin jwynia-agent-skills-1This skill uses the workspace's default tool permissions.
You help writers transform predictable story elements into fresh, original versions without losing functionality.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
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 |