
story-sense
Diagnose what any story needs regardless of its current state. This skill should be used when a writer is stuck, evaluating story problems, when narrative feels broken, or when someone asks 'what's wrong with my story?'. Keywords: story, diagnosis, stuck, narrative, plot, character, worldbuilding, revision.
- Installs
- 647
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/jwynia/agent-skills --skill story-sense- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads story-sense automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Story Sense: Diagnostic Skill
Identify what state a story is in and what it needs to move forward. This is not a linear process but a diagnostic model: Assess → Diagnose → Intervene → Reassess.
When to Use This Skill
Use this skill when:
- Writer is stuck and doesn't know why
- Story feels broken but root cause unclear
- Need to evaluate story problems systematically
- Someone asks "what's wrong with my story?"
Do NOT use this skill when:
- Writer wants you to write the story (use story-collaborator)
- Writer wants coaching questions only (use story-coach)
- Publishing/marketing questions (use book-marketing)
Core Principle
Story Sense is the ability to know what any story needs, regardless of its current state or intended medium.
There's no such thing as "stuck." There's only:
- Not yet having diagnosed the problem
- Not yet applying the right intervention
The Story States
State 0: No Story (Blank Page)
Symptoms: Nothing exists yet Interventions: story-idea-generator, elemental genres
State 1: Concept Without Foundation
Symptoms: Have idea but world/characters/plot feel thin Interventions: cliche-transcendence, systemic-worldbuilding, key-moments
State 2: World Without Life
Symptoms: Setting exists but feels like backdrop Interventions: worldbuilding skill suite (belief-systems, economic-systems, governance-systems)
State 3: Flat Non-Humans
Symptoms: Aliens/fantasy species feel like humans in costume Interventions: conlang, species development frameworks
State 4: Characters Without Dimension
Symptoms: Characters serve plot rather than driving it Interventions: character-arc, underdog-unit, positional-revelation
State 4.5: Plot Without Pacing
Symptoms: Scenes work individually but don't accumulate Interventions: scene-sequencing
State 5: Plot Without Purpose
Symptoms: Events happen but don't accumulate meaning Interventions: moral-parallax, key-moments
State 5.5: Dialogue Feels Flat
Symptoms: Characters sound alike, conversations lifeless Interventions: dialogue
State 5.75: Ending Doesn't Land
Symptoms: Story builds well but resolution disappoints Interventions: endings
State 5.85: Draft Not Progressing
Symptoms: Planning done but draft isn't happening Interventions: drafting
State 5.9: Prose Feels Flat
Symptoms: Story works but sentences are functional not memorable Interventions: prose-style
State 6: Draft Complete, Needs Revision
Symptoms: Draft exists but revision feels overwhelming Interventions: revision
State 7: Ready for Evaluation
Symptoms: Story exists but quality uncertain Interventions: sensitivity-check, story-analysis
Decision Tree
Is there anything on the page?
├── NO → story-idea-generator
└── YES → What's the problem?
├── Feels generic → cliche-transcendence
├── World feels thin → worldbuilding
├── Non-humans feel fake → conlang
├── Characters flat → character-arc
├── Pacing off → scene-sequencing
├── Dialogue wooden → dialogue
├── Ending weak → endings
├── Meaning unclear → moral-parallax
├── Draft not progressing → drafting
├── Prose flat → prose-style
└── Draft needs revision → revision
Diagnostic Process
- Listen for symptoms - What are they describing as the problem?
- Ask clarifying questions - Get specific about where they're stuck
- Identify the state - Match symptoms to state list
- Name the diagnosis - Explain what you're seeing
- Recommend intervention - Point to specific skill
- Offer next steps - What should they try first?
Available Scripts
entropy.ts
Injects creative randomness from curated lists.
deno run --allow-read scripts/entropy.ts lies
deno run --allow-read scripts/entropy.ts disasters --count 3
deno run --allow-read scripts/entropy.ts --combo
Lists: lies, ghosts, disasters, dilemmas, professions, locations, collisions, openings
functions.ts
Generates characters from abstract story functions.
deno run --allow-read scripts/functions.ts
deno run --allow-read scripts/functions.ts --setting scifi
deno run --allow-read scripts/functions.ts healer --setting fantasy
Functions: healer, enforcer, keeper_of_secrets, maker, trader, guide, entertainer, death_worker, transgressor
Anti-Patterns
Prescribing Instead of Diagnosing
Fix: Always ask clarifying questions before diagnosing.
Framework Overload
Fix: Recommend one intervention. Expand after reassessment.
Ignoring Writer's Energy
Fix: Balance diagnostic accuracy with what energizes the writer.
Treating Structure as Story
Fix: Keep asking "Does this feel right?" alongside structural diagnosis.
Related Skills
Routes to all fiction skills based on diagnosed state.
FAQ
What does the story-sense skill do?
Diagnose what any story needs regardless of its current state. This skill should be used when a writer is stuck, evaluating story problems, when narrative feels broken, or when someone asks 'what's wrong with my story?'. Keywords: story, diagnosis, stuck, narrative, plot, character, worldbuilding, revision.
How do I install story-sense?
Run npx skills add https://github.com/jwynia/agent-skills --skill story-sense in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/story-sense/ (personal) or .claude/skills/story-sense/ (project).
Which AI agents can use story-sense?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is story-sense safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains story-sense?
It is published by jwynia in jwynia/agent-skills. It has 647 recorded installs.
More from jwynia/agent-skills
presentation-design
jwynia/agent-skills
Design and evaluate presentations that communicate effectively. Use when designing a presentation, creating slides, getting presentation feedback, structuring a talk, or reviewing slides. Keywords: presentation, slides, talk, PowerPoint, Keynote, reveal.js.
frontend-design
jwynia/agent-skills
Create distinctive, production-grade frontend interfaces with high design quality. Provides analysis tools for auditing existing designs and generation tools for creating color palettes, typography systems, design tokens, and component templates. Supports React, Vue, Svelte, and vanilla HTML/CSS. Use when building web components, pages, or applications. Keywords: design, UI, frontend, CSS, components, palette, typography, tokens, accessibility.
requirements-analysis
jwynia/agent-skills
Diagnose requirements problems and guide discovery of real needs and constraints
godot-best-practices
jwynia/agent-skills
Guide AI agents through Godot 4.x GDScript coding best practices including scene organization, signals, resources, state machines, and performance optimization. This skill should be used when generating GDScript code, creating Godot scenes, designing game architecture, implementing state machines, object pooling, save/load systems, or when the user asks about Godot patterns, node structure, or GDScript standards. Keywords: godot, gdscript, game development, signals, resources, scenes, nodes, state machine, object pooling, save system, autoload, export, type hints.
web-search-tavily
jwynia/agent-skills
Search the web using Tavily API for high-quality, AI-optimized results with advanced filtering options. Use when you need structured search results, domain filtering, relevance scores, or AI-generated answer summaries. Requires TAVILYAPIKEY. Keywords: tavily, advanced search, filtered search, domain filtering, relevance scoring.
godot-asset-generator
jwynia/agent-skills
Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot. Covers the full art pipeline from concept art and style guides to final sprites, sprite sheets, and import configuration. This skill should be used when creating game art, generating sprites, making tilesets, creating UI elements, or preparing assets for Godot import. Keywords: game assets, AI art, DALL-E, Replicate, fal.ai, sprite sheet, tileset, Godot, pixel art, character sprite, game art, texture, animation frames.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available