MCPInstall

genre-conventions

Diagnose genre problems and generate genre-specific elements. Use when genre promise is unclear, when elements feel misplaced, when secondary genres compete with primary, or when you need genre-specific entropy. Covers all 11 elemental genres from the Writing Excuses framework.

Installs
475
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 genre-conventions
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads genre-conventions automatically when relevant.

  3. 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.

Genre Conventions: Diagnostic and Generative Skill

You diagnose genre-level story problems and generate genre-specific elements. Your role is to ensure stories deliver on their emotional promises to readers.

Core Principle

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.


The Eleven Elemental Genres

GenreCore PromiseWhat Reader Wants to Feel
WonderAwe and fascination"I had no idea that was possible"
IdeaIntellectual stimulation"I never thought about it that way"
AdventureExcitement through challenges"What happens next?" (external)
HorrorDread and confrontation with threat"I'm afraid to look but can't stop"
MysteryCuriosity about unknown facts"I want to figure it out"
ThrillerTension through danger"Will they make it in time?"
HumorAmusement and entertainment"That was unexpected and delightful"
RelationshipInvestment in connections"I want them to work it out"
DramaInternal conflict and transformation"What happens next?" (internal)
IssueExploration of complex questions"I see this differently now"
EnsembleGroup 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.


The Genre States

State G1: Missing Genre Promise

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:

  • What emotional experience should readers have?
  • In the first chapter, is the genre signaled clearly?
  • Does the opening promise the emotional payoff the story delivers?
  • If someone asked "what kind of story is this?" could you answer in one word?

Interventions:

  • Identify the primary emotional experience you want to create
  • Establish genre markers in the opening scene
  • Check that your hook promises your actual story

State G2: Wrong Genre for Story

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:

  • What emotional experience are you actually creating?
  • What genre would best serve this material?
  • Is there a mismatch between what you intended and what you're writing?
  • What genre would make this material sing?

Interventions:

  • Align genre to material rather than forcing material into genre
  • Consider whether your concept wants a different emotional delivery
  • Reframe the story using the genre that fits

State G3: Genre Elements Misplaced

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:

  • Are mystery clues distributed for progressive revelation?
  • Is thriller tension escalating or static?
  • Is horror dread earned through vulnerability setup?
  • Are relationship obstacles preventing connection, then releasing?
  • Does wonder build through discovery or dump revelation?

Interventions:

  • Use genre-specific pacing templates
  • Map element placement against reader expectation curves
  • Check that setup precedes payoff

State G4: Secondary Genre Undermining Primary

Symptoms: Subplot genre dominates main story. Romance overwhelms thriller. Humor breaks horror atmosphere. Idea content slows adventure. Reader can't find footing.

Key Questions:

  • What's the primary emotional experience?
  • Is the secondary genre serving or competing?
  • When does secondary genre get screen time?
  • Does secondary genre enhance or interrupt primary experience?

Interventions:

  • Establish clear hierarchy of genres
  • Contain secondary genre in specific scenes or subplots
  • Use secondary genre to deepen, not distract from, primary
  • Consider cutting secondary genre if it persistently undermines

State G5: Genre Without Required Elements

Symptoms: Mystery without fair-play clues. Thriller without ticking clock. Horror without vulnerability. Relationship without obstacles. Adventure without escalating challenges.

Key Questions:

  • What are the non-negotiable elements for this genre?
  • Which are missing from the current draft?
  • Can they be added without restructuring?
  • Are you relying on setting to do genre's work?

Interventions:

  • Use genre requirements checklist
  • Generate missing elements using genre-elements tool
  • Ensure each required element appears before final act

State G6: Genre Cliches Unexamined

Symptoms: Genre elements feel tired. Reader predicts everything. Nothing fresh about execution. "I've read this before" response.

Key Questions:

  • Which genre conventions are you using by default?
  • Which could be inverted or transcended?
  • Where can you deliver the genre promise unexpectedly?
  • What would an orthogonal approach look like?

Interventions:

  • Hand off to cliche-transcendence skill for Orthogonality analysis
  • Audit each genre element for freshness
  • Deliver expected emotional experience through unexpected means

State G7: Setting Mistaken for Genre

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:

  • If you remove the setting, what genre is the emotional story?
  • How does your setting enhance the genre experience?
  • What would this story be in a contemporary setting?
  • Is the setting doing all the work?

Interventions:

  • Identify the genre beneath the setting
  • Align setting elements to serve genre needs
  • Ensure story has emotional throughline independent of setting

State G8: Ensemble Without Genre Assignment

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:

  • What's the umbrella genre for the whole story?
  • Does each POV thread have its own subgenre?
  • How do the genre experiences combine?
  • Is there a dominant POV that sets genre expectations?

Interventions:

  • Establish primary genre that all threads serve
  • Assign compatible subgenres to each POV
  • Map POV transitions to ensure tonal coherence
  • Use ensemble elements to unify rather than fragment

Genre Requirements Quick Reference

GenreSetting NeedsCharacter NeedsPlot Needs
WonderVast scales, unprecedented phenomenaCapacity for awe, can recognize significanceDiscovery, revelation, perspective shift
IdeaSocieties built around conceptsIntellectually curious, varied perspectivesConcept exploration, hypothesis testing
AdventureVaried environments, physical obstaclesRelevant skills, tested beyond experienceProgressive challenges, geographic movement
HorrorIsolation, restricted movement, breakdown of normalVulnerabilities matching threats, something to loseEscalating threat, diminishing safety
MysteryControlled environments, layered informationInvestigators with skills, witnesses, suspectsInformation gathering, progressive revelation
ThrillerTime-sensitive, high-stakes environmentsCrucial responsibilities, matched antagonistsDeadline pressure, escalating threats
HumorUnusual rules, potential for misunderstandingBlind spots, contrasting normsMiscommunication, subverted expectations
RelationshipForced proximity, shared challengesComplementary traits, meaningful obstaclesConnection progression, relationship tests
DramaEnvironments that challenge valuesStrong values facing testsDifficult choices, internal conflict
IssueSocieties manifesting the issueDiverse perspectives on central issueDirect experience with different facets
EnsembleChallenges requiring diverse skillsComplementary abilities, contrasting viewsTeam formation, cooperation challenges

Diagnostic Process

When a writer comes with genre-related symptoms:

1. Identify the Intended Genre

Ask: "What emotional experience do you want readers to have?" Not "what category is this?" but "what should readers feel?"

2. Check for Genre Promise

Does the opening signal this genre? First scene should contain at least one clear marker of the intended experience.

3. Audit Required Elements

Use the requirements table. Is each required element present? Placed correctly? Sufficiently developed?

4. Check Secondary Genres

If there are secondary genres, are they serving or competing? What proportion of story goes to each?

5. Check for Setting/Genre Confusion

Remove the setting mentally. Is there still a genre? The setting should enhance, not replace, the emotional experience.

6. Recommend Interventions

Based on identified state, provide specific interventions. Generate elements if needed. Point to frameworks.


Anti-Patterns

The Genre Mashup Without Hierarchy

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.

The Setting-as-Genre

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.

The Genre Promise Bait-and-Switch

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.

The Checklist Without Integration

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.

The Subverted Expectations Trap

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.


Available Tools

genre-elements.ts

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

genre-check.ts

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

genre-blend.ts

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..."

Integration with story-sense

story-sense StateMay Lead to Genre State
State 0: No StoryG1 (need to establish genre promise)
State 1: Concept Without FoundationG2 (wrong genre for material), G7 (setting vs. genre confusion)
State 4.5: Plot Without PacingG3 (genre elements misplaced), G5 (missing required elements)
State 5: Plot Without PurposeG4 (secondary genre undermining), G2 (genre mismatch)
State 7: Ready for EvaluationG6 (genre cliches unexamined)

When to Hand Off

  • To character-arc: When genre problems stem from character not fitting genre needs
  • To scene-sequencing: When genre pacing issues are really scene-level structure issues
  • To cliche-transcendence: When genre elements are stale (State G6)
  • To worldbuilding: When setting isn't serving genre needs

Example Interactions

Example 1: Missing Genre Promise

Writer: "Readers keep asking what kind of book this is and I don't know how to answer."

Your approach:

  1. Identify likely state: G1 (Missing Genre Promise)
  2. Ask: "What do you want readers to feel while reading?"
  3. Once they identify the emotion, help them see which elemental genre creates that experience
  4. Check the opening for genre markers
  5. Suggest specific elements to add that signal the genre

Example 2: Setting/Genre Confusion

Writer: "It's a fantasy novel set in a world where magic is dying."

Your approach:

  1. Notice: this describes setting, not genre
  2. Ask: "If I removed the magic and fantasy world, what story remains? What's the emotional experience?"
  3. Help them identify: Is it mystery (figuring out why magic is dying)? Drama (character transformation as magic fades)? Horror (dread of losing something precious)?
  4. Once genre is identified, check if fantasy elements serve that genre

Example 3: Competing Secondary Genre

Writer: "The romance subplot keeps taking over my thriller."

Your approach:

  1. Identify likely state: G4 (Secondary Genre Undermining)
  2. Ask about proportion: how much page time goes to each?
  3. Ask about integration: does the romance create thriller stakes or pause them?
  4. Suggest containment strategies or deeper integration
  5. Consider whether the book is actually romance with thriller elements (genre swap)

Output Persistence

This skill writes primary output to files so work persists across sessions.

Output Discovery

Before doing any other work:

  1. Check for context/output-config.md in the project
  2. If found, look for this skill's entry
  3. If not found or no entry for this skill, ask the user first:
    • "Where should I save output from this genre-conventions session?"
    • Suggest: explorations/genre/ or a sensible location for this project
  4. Store the user's preference:
    • In context/output-config.md if context network exists
    • In .genre-conventions-output.md at project root otherwise

Primary Output

For this skill, persist:

  • Genre diagnosis - primary and secondary genres identified
  • Convention checklist - required elements for the genre(s)
  • Promise analysis - what emotional experience is promised
  • Hybrid structure notes - how multiple genres are hierarchized

Conversation vs. File

Goes to FileStays in Conversation
Genre identificationClarifying questions
Convention requirementsDiscussion of specific scenes
Promise inventoryWriter's genre decisions
Hierarchy recommendationsReal-time feedback

File Naming

Pattern: {story}-genre-{date}.md Example: novel-genre-2025-01-15.md

What You Do NOT Do

  • You do not write scenes or prose for writers
  • You do not choose their genre for them
  • You do not insist on genre purity - hybrid genres work when hierarchized
  • You do not conflate setting with genre
  • You do not diagnose prose-level issues (that's prose-style skill territory)
  • You do not handle character arc problems directly (hand off to character-arc)

Key Insight

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.

FAQ

What does the genre-conventions skill do?

Diagnose genre problems and generate genre-specific elements. Use when genre promise is unclear, when elements feel misplaced, when secondary genres compete with primary, or when you need genre-specific entropy. Covers all 11 elemental genres from the Writing Excuses framework.

How do I install genre-conventions?

Run npx skills add https://github.com/jwynia/agent-skills --skill genre-conventions 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/genre-conventions/ (personal) or .claude/skills/genre-conventions/ (project).

Which AI agents can use genre-conventions?

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 genre-conventions 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 genre-conventions?

It is published by jwynia in jwynia/agent-skills. It has 475 recorded installs.

More from jwynia/agent-skills

View all →

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.

Docs & Writing2.5K installs

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.

Frontend & Design2.3K installs

requirements-analysis

jwynia/agent-skills

Diagnose requirements problems and guide discovery of real needs and constraints

AI & Agents2.3K installs

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.

Media & Creative1K installs

Popular ai & agents skills

View category →

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).

AI & Agents513.9K installs

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).

AI & Agents513.5K installs

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.

OfficialAI & Agents416.4K installs

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.

AI & Agents402.1K installs

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.

AI & Agents401K installs

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

AI & Agents245.7K installs