Theme, controlling idea, premise, moral argument
Theme craft

This skill should be used when the user asks to "theme", "controlling idea", "premise", "moral argument", "character arc", "flat arc", "negative arc", "the lie", "antagonist design", "motif", "symbolism", "theme audit", or wants to…
--- name: theme-craft description: This skill should be used when the user asks to "theme", "controlling idea", "premise", "moral argument", "character arc", "flat arc", "negative arc", "the lie", "antagonist design", "motif", "symbolism", "theme audit", or wants to plan, track, or revise the thematic layer of a story. --- # Theme Craft ## Overview Plan and audit theme as a working mechanism, not decoration. Covers the controlling idea (value + cause, in McKee's sense), the lie/truth machinery and the three canonical arc types, antagonist design as the embodied counter-argument, motif tracking, and a revision-time theme audit. Use at story start (working premise), during character design (lie/truth/arc-type), and after a complete draft (theme audit). ## Prerequisites
Overview
Plan and audit theme as a working mechanism, not decoration. Covers the controlling idea (value + cause, in McKee's sense), the lie/truth machinery and the three canonical arc types, antagonist design as the embodied counter-argument, motif tracking, and a revision-time theme audit. Use at story start (working premise), during character design (lie/truth/arc-type), and after a complete draft (theme audit).
Manual install (npx, ZIP)
npx skills add danjdewhurst/story-skills --skill theme-craft -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/danjdewhurst/story-skills/tar.gz/28817a272657 \
| tar -xz -C ~/.claude/skills --strip-components=2 story-skills-28817a272657/skills/theme-craftNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/fa7bef2eb3cbed5fbc8a/theme-craft.zip" -OutFile "$env:TEMP\theme-craft.zip"; Expand-Archive "$env:TEMP\theme-craft.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md5.6 KBreferences/5 files · 16.2 KB
Read the files here
danjdewhurst/
- antagonist-design.md3.1 KB
- controlling-idea.md3.3 KB
- lie-truth.md3.8 KB
- motif-symbolism.md2.7 KB
- theme-audit.md3.4 KB
Shared references2SKILL.md reads these from elsewhere in the repo. Not in the ZIP.
Get them on GitHub ↗Show the full text113 lines
Theme Craft
Overview
Plan and audit theme as a working mechanism, not decoration. Covers the controlling idea (value + cause, in McKee's sense), the lie/truth machinery and the three canonical arc types, antagonist design as the embodied counter-argument, motif tracking, and a revision-time theme audit. Use at story start (working premise), during character design (lie/truth/arc-type), and after a complete draft (theme audit).
Prerequisites
A story project must already exist (created via the story-init skill). Character files (character-management) and a plot structure (plot-structure) should exist or be in progress.
Workflow
Draft the working premise. Read
story.mdfor genre and themes. Consultreferences/controlling-idea.mdand write a one-sentence premise (value + cause) and counter-premise. Store them instory.mdfrontmatter:premise: "{Value} triumphs because {cause}." counter-premise: "{Opposing value} triumphs because {opposing cause}."If the user prefers discovering theme in the draft, record
premise: tbd-discoveryand skip to step 3.Build the lie/truth machinery. For the protagonist and antagonist (and any significant supporting character whose arc touches the theme), consult
references/lie-truth.mdand add to their character files:arc-typeis one ofchange-positive,change-negative, orflat. Do not put that list in an inline comment. The frontmatter parser keeps the comment as part of the value.arc-type: change-positive lie: "{The false belief}" truth: "{The belief that resolves it}" ghost-wound: "{The specific backstory event that planted the lie}"Check the character's turning points against the arc-type guidance: flat arcs need escalating tests of steadfastness, not growth beats; negative arcs need the truth visibly refused.
Design the antagonist as the counter-argument. Consult
references/antagonist-design.md: give the antagonist an edge, a defensible belief in the counter-premise, a want/wound/plan, and scenes they win. When the opposition is institutional, personify it.Plant motifs. Consult
references/motif-symbolism.md; choose two or three concrete motifs, plant them literally, and track plantings, variations, and ending resonance in the motif ledger.Use the premise while drafting. When a scene decision is unclear, ask which choice engages the value continuum and costs the protagonist something. Feed the lie into scene sequels (see the
scene-craftskill): the sequel is where the lie gets examined.Run the theme audit in revision. After a complete draft, consult
references/theme-audit.md: trace the value through the draft, check the ending against the opening's value-question, verify theme is dramatized through consequence not commentary, and confirm motifs are paid off. Record findings incontinuity/theme-audit.mdwith atheme-holds/theme-brokenverdict. Hand structural findings to therevision-continuityskill as a developmental revision plan.
Conventions
premise:/counter-premise:live instory.mdfrontmatter and are the single source of truth for the story's theme;plot/_index.mdtheme tracking maps themes to arcs and chapters as before.- Character
arc-typevalues are kebab-case from the fixed set (change-positive,change-negative,flat);lie,truth, andghost-woundare one-line strings. - Motif ids are kebab-case and tracked in the motif ledger with
planned/planted/paid-offstatus. - Theme is dramatized through choices and consequences. Never add a character speech, narration summary, or mentor lecture explaining the theme to satisfy an audit finding — rework the choices instead.
CLI Maintenance
Use the Story CLI when it is available. If story is not installed, use bun run story -- from the Story Skills repository checkout or the bundled fallback node ../story-maintenance/scripts/story.js with the same arguments, resolving the path relative to this skill folder. If no CLI is available, perform the registry, backlink, and word-count checks manually.
After adding or changing premise fields, character arc fields, or the theme audit:
story reindex .
story links .
story validate .
The motif ledger (continuity/motifs.md or the motif table in an arc file)
and continuity/theme-audit.md are prose revision notes: the CLI does not
scan, validate, link-check, or reindex them. Audit motif payoff and the
theme verdict manually per references/theme-audit.md.
Reference Files
references/controlling-idea.md- The controlling idea as value + cause (McKee), counter-premise, working-premise workflowreferences/lie-truth.md- Lie, truth, ghost wound, and the three arc types (change-positive, change-negative, flat)references/antagonist-design.md- Worthy opponent, antagonist as counter-argument, plan-the-antagonist-as-protagonist, personified institutionsreferences/motif-symbolism.md- Plant-and-vary, object-symbol resonance with the ending, motif ledgerreferences/theme-audit.md- Revision audit: ending vs. opening value-question, consequence vs. commentary, motif payoff
| 1 | |
| 2 | name theme-craft |
| 3 | description This skill should be used when the user asks to "theme", "controlling idea", "premise", "moral argument", "character arc", "flat arc", "negative arc", "the lie", "antagonist design", "motif", "symbolism", "theme audit", or wants to plan, track, or revise the thematic layer of a story. |
| 4 | |
| 5 | |
| 6 | # Theme Craft |
| 7 | |
| 8 | ## Overview |
| 9 | |
| 10 | Plan and audit theme as a working mechanism, not decoration. Covers the |
| 11 | controlling idea (value + cause, in McKee's sense), the lie/truth machinery |
| 12 | and the three canonical arc types, antagonist design as the embodied |
| 13 | counter-argument, motif tracking, and a revision-time theme audit. Use at |
| 14 | story start (working premise), during character design (lie/truth/arc-type), |
| 15 | and after a complete draft (theme audit). |
| 16 | |
| 17 | ## Prerequisites |
| 18 | |
| 19 | A story project must already exist (created via the story-init skill). |
| 20 | Character files (character-management) and a plot structure |
| 21 | (plot-structure) should exist or be in progress. |
| 22 | |
| 23 | ## Workflow |
| 24 | |
| 25 | **Draft the working premise.** Read `story.md` for genre and themes. |
| 26 | Consult `references/controlling-idea.md` and write a one-sentence |
| 27 | premise (value + cause) and counter-premise. Store them in `story.md` |
| 28 | frontmatter: |
| 29 | |
| 30 | |
| 31 | premise: "{Value} triumphs because {cause}." |
| 32 | counter-premise: "{Opposing value} triumphs because {opposing cause}." |
| 33 | |
| 34 | |
| 35 | If the user prefers discovering theme in the draft, record |
| 36 | `premise: tbd-discovery` and skip to step 3. |
| 37 | **Build the lie/truth machinery.** For the protagonist and antagonist |
| 38 | (and any significant supporting character whose arc touches the theme), |
| 39 | consult `references/lie-truth.md` and add to their character files: |
| 40 | |
| 41 | `arc-type` is one of `change-positive`, `change-negative`, or `flat`. |
| 42 | Do not put that list in an inline comment. The frontmatter parser keeps |
| 43 | the comment as part of the value. |
| 44 | |
| 45 | |
| 46 | arc-type: change-positive |
| 47 | lie: "{The false belief}" |
| 48 | truth: "{The belief that resolves it}" |
| 49 | ghost-wound: "{The specific backstory event that planted the lie}" |
| 50 | |
| 51 | |
| 52 | Check the character's turning points against the arc-type guidance: |
| 53 | flat arcs need escalating tests of steadfastness, not growth beats; |
| 54 | negative arcs need the truth visibly refused. |
| 55 | **Design the antagonist as the counter-argument.** Consult |
| 56 | `references/antagonist-design.md`: give the antagonist an edge, a |
| 57 | defensible belief in the counter-premise, a want/wound/plan, and |
| 58 | scenes they win. When the opposition is institutional, personify it. |
| 59 | **Plant motifs.** Consult `references/motif-symbolism.md`; choose two or |
| 60 | three concrete motifs, plant them literally, and track plantings, |
| 61 | variations, and ending resonance in the motif ledger. |
| 62 | **Use the premise while drafting.** When a scene decision is unclear, ask |
| 63 | which choice engages the value continuum and costs the protagonist |
| 64 | something. Feed the lie into scene sequels (see the `scene-craft` |
| 65 | skill): the sequel is where the lie gets examined. |
| 66 | **Run the theme audit in revision.** After a complete draft, consult |
| 67 | `references/theme-audit.md`: trace the value through the draft, check |
| 68 | the ending against the opening's value-question, verify theme is |
| 69 | dramatized through consequence not commentary, and confirm motifs are |
| 70 | paid off. Record findings in `continuity/theme-audit.md` with a |
| 71 | `theme-holds` / `theme-broken` verdict. Hand structural findings to the |
| 72 | `revision-continuity` skill as a developmental revision plan. |
| 73 | |
| 74 | ## Conventions |
| 75 | |
| 76 | `premise:` / `counter-premise:` live in `story.md` frontmatter and are the |
| 77 | single source of truth for the story's theme; `plot/_index.md` theme |
| 78 | tracking maps themes to arcs and chapters as before. |
| 79 | Character `arc-type` values are kebab-case from the fixed set |
| 80 | (`change-positive`, `change-negative`, `flat`); `lie`, `truth`, and |
| 81 | `ghost-wound` are one-line strings. |
| 82 | Motif ids are kebab-case and tracked in the motif ledger with |
| 83 | `planned` / `planted` / `paid-off` status. |
| 84 | Theme is dramatized through choices and consequences. Never add a |
| 85 | character speech, narration summary, or mentor lecture *explaining* the |
| 86 | theme to satisfy an audit finding — rework the choices instead. |
| 87 | |
| 88 | ## CLI Maintenance |
| 89 | |
| 90 | Use the Story CLI when it is available. If `story` is not installed, use `bun run story --` from the Story Skills repository checkout or the bundled fallback `node ../story-maintenance/scripts/story.js` with the same arguments, resolving the path relative to this skill folder. If no CLI is available, perform the registry, backlink, and word-count checks manually. |
| 91 | |
| 92 | After adding or changing premise fields, character arc fields, or the theme |
| 93 | audit: |
| 94 | |
| 95 | |
| 96 | story reindex . |
| 97 | story links . |
| 98 | story validate . |
| 99 | |
| 100 | |
| 101 | The motif ledger (`continuity/motifs.md` or the motif table in an arc file) |
| 102 | and `continuity/theme-audit.md` are prose revision notes: the CLI does not |
| 103 | scan, validate, link-check, or reindex them. Audit motif payoff and the |
| 104 | theme verdict manually per `references/theme-audit.md`. |
| 105 | |
| 106 | ## Reference Files |
| 107 | |
| 108 | **`references/controlling-idea.md`** - The controlling idea as value + cause (McKee), counter-premise, working-premise workflow |
| 109 | **`references/lie-truth.md`** - Lie, truth, ghost wound, and the three arc types (change-positive, change-negative, flat) |
| 110 | **`references/antagonist-design.md`** - Worthy opponent, antagonist as counter-argument, plan-the-antagonist-as-protagonist, personified institutions |
| 111 | **`references/motif-symbolism.md`** - Plant-and-vary, object-symbol resonance with the ending, motif ledger |
| 112 | **`references/theme-audit.md`** - Revision audit: ending vs. opening value-question, consequence vs. commentary, motif payoff |
| 113 |
Details
- Updated
- Sep 22, 2026
- License
- MIT
- Stars on the repo
- ★ 241
- Checked
- Source
- danjdewhurst/story-skills ↗
- Creator
- danjdewhurst · 13 listings
Similar skills
See all →
SkillReverse engineer native, managed, Electron/JavaScriptREA
SkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designs
SkillRequires technical rigor and verificationCode Review Reception
SkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugs
SkillImplement the result of /to-spec and /to-tickets in codeImplement spec
SkillWriting a PR bodyMore from danjdewhurst
SkillWrite a chapter, next chapter, chapter outlineChapter writing
SkillCreate a character, update a character, add a characterCharacter management
SkillPantsing, discovery write, write without an outlineDiscovery drafting
SkillProcess beta reader feedback, alpha reader feedbackFeedback triage
SkillMystery, fair play, clue, red herring, romance beats, HEAGenre craft
SkillCreate a plot arc, story structure, add a plot pointPlot structure