Plot structure
This skill should be used when the user asks to "create a plot arc", "story structure", "add a plot point", "story timeline", "track foreshadowing", "pacing", "act structure", "story arc", "plot outline", or wants to plan and manage the narrative structure of a story.
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/plot-structure, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit danjdewhurst/story-skills/skills/plot-structure#main ~/.claude/skills/plot-structureFor one project only, change the path to .claude/skills/plot-structure. This skill also uses story.md — copying SKILL.md alone won't be enough. See the folder on GitHub.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Source of Plot structure
Show the full text110 lines
| name | description |
|---|---|
| plot-structure | This skill should be used when the user asks to "create a plot arc", "story structure", "add a plot point", "story timeline", "track foreshadowing", "pacing", "act structure", "story arc", "plot outline", or wants to plan and manage the narrative structure of a story. |
Plot Structure
Overview
Plan and manage story arcs, plot points, foreshadowing, and narrative timeline. Each arc is a markdown file in plot/arcs/ with a chronological timeline maintained in plot/timeline.md. The plot index tracks all arcs, their status, and theme coverage.
Prerequisites
A story project must already exist (created via the story-init skill). Verify by checking for story.md in the project root.
Choosing a Story Structure
- Read
story.mdfor genre and themes - Consult
references/structure-models.mdfor available structures - Recommend a structure based on genre (default to three-act if unclear)
- Update
plot/_index.mdfrontmatterstructurefield - Populate the story structure section with the beat sheet
- When CLI access is available, run
story validate .
Creating an Arc
- Read
story.mdfor themes - Read
plot/_index.mdfor existing arcs - Read
characters/_index.mdto understand available characters - Ask for:
- Arc name
- Type (main, subplot, character, thematic)
- Which characters are involved
- Which themes it serves
- Which MICE threads the arc carries (optional
mice-threads:frontmatter, e.g.[event, character]; seereferences/mice-quotient.md)
- Build the arc through conversation: setup, escalations, climax, resolution
- Write the file using
references/arc-template.md(or scaffold it withstory add arc "{Name}" --type main --character {id} --theme {theme}, then fill in the sections) - Save to
plot/arcs/{arc-name-kebab}.md - Update
plot/_index.mdarcs table - Update theme tracking in
plot/_index.md - If characters are referenced, verify they exist in
characters/ - When CLI access is available, run
story reindex .,story links ., andstory validate .
Managing Plot Points
Plot points live within arc files in the "Plot Points" table. When adding a plot point:
- Read the relevant arc file
- Add the plot point to the table with chapter reference (if known)
- Add the event to
plot/timeline.mdin chronological order - If the plot point involves foreshadowing, add it to the arc's foreshadowing table
- If the plot point creates a reader promise or mystery, create or update a record in
continuity/promises/orcontinuity/questions/ - When CLI access is available, run
story reindex .,story links ., andstory validate .
Timeline Management
The timeline at plot/timeline.md is a chronological master list of all story events across all arcs.
When adding events:
- Insert in chronological order
- Keep entries concise (one line per event)
- Use the
| When | Event | Arc | Chapter |table with these cell formats:- When: story-relative time for story events (e.g.
Day 1, morning), or how long ago for backstory (e.g.12 years ago,~300 years ago) - Event: one concise line describing what happened
- Arc: the arc's display name as written in its file (e.g.
The Drowned Witness), or-when the event belongs to no arc - Chapter:
Ch {N}once the event is written (e.g.Ch 1), or-for backstory and unwritten events
- When: story-relative time for story events (e.g.
When reviewing the timeline:
- Run
story timeline .to see written scenes in story-time order from theirdate/timefields, with scenes told out of order marked, and compare it withplot/timeline.md - Check for chronological consistency
- Identify pacing issues (too many events clustered, long gaps)
- Flag arcs that haven't progressed
Foreshadowing Tracking
Each arc tracks its own foreshadowing in the "Foreshadowing" table:
- Planted: What hint or setup is placed
- Payoff: What the payoff will be
- Chapter Planted / Chapter Payoff: Where each occurs
- Status:
planned,planted, orpaid-off
During chapter writing, flag any planted items that haven't been paid off as reminders.
For durable cross-arc setup/payoff tracking, also maintain continuity/promises/{promise-kebab}.md with status, planted, payoff, arcs, and characters. For mystery or open-continuity tracking, maintain continuity/questions/{question-kebab}.md.
Scaffold chapters and scenes with story add chapter "{Title}" --number {N} --pov {id} --arc {arc-id} and story add scene "{Title}" --chapter chapter-{NN} --scene {M} --pov {id} --location {id}, then write the prose and outline content into the created files.
Cross-Referencing
- Arcs reference characters via frontmatter
charactersfield - Arcs reference themes via frontmatter
themesfield - Plot points reference chapters
- Timeline entries link arcs and chapters
- Theme tracking in
plot/_index.mdmaps themes to arcs and chapters - Promises and questions reference chapters, arcs, and characters where relevant
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.
Reference Files
references/arc-template.md- Template for arc files with frontmatter and sectionsreferences/question-template.md- Template for continuity questions and mysteriesreferences/promise-template.md- Template for setup/payoff trackingreferences/structure-models.md- Story structure models (three-act, hero's journey, save the cat, kishotenketsu, five-act, Fichtean curve, Harmon's story circle) with beat sheetsreferences/mice-quotient.md- MICE threading: milieu/inquiry/character/event threads, start/end rules, and the optionalmice-threads:arc frontmatterreferences/short-story-form.md- Short fiction form: one dominant change, single effect, narrow scopereferences/outlining-ladder.md- Premise → beat sheet → step outline → full outline, with exit criteria per rung (cross-links discovery-drafting)
| 1 | |
| 2 | name plot-structure |
| 3 | description This skill should be used when the user asks to "create a plot arc", "story structure", "add a plot point", "story timeline", "track foreshadowing", "pacing", "act structure", "story arc", "plot outline", or wants to plan and manage the narrative structure of a story. |
| 4 | |
| 5 | |
| 6 | # Plot Structure |
| 7 | |
| 8 | ## Overview |
| 9 | |
| 10 | Plan and manage story arcs, plot points, foreshadowing, and narrative timeline. Each arc is a markdown file in `plot/arcs/` with a chronological timeline maintained in `plot/timeline.md`. The plot index tracks all arcs, their status, and theme coverage. |
| 11 | |
| 12 | ## Prerequisites |
| 13 | |
| 14 | A story project must already exist (created via the story-init skill). Verify by checking for `story.md` in the project root. |
| 15 | |
| 16 | ## Choosing a Story Structure |
| 17 | |
| 18 | Read `story.md` for genre and themes |
| 19 | Consult `references/structure-models.md` for available structures |
| 20 | Recommend a structure based on genre (default to three-act if unclear) |
| 21 | Update `plot/_index.md` frontmatter `structure` field |
| 22 | Populate the story structure section with the beat sheet |
| 23 | When CLI access is available, run `story validate .` |
| 24 | |
| 25 | ## Creating an Arc |
| 26 | |
| 27 | Read `story.md` for themes |
| 28 | Read `plot/_index.md` for existing arcs |
| 29 | Read `characters/_index.md` to understand available characters |
| 30 | Ask for: |
| 31 | Arc name |
| 32 | Type (main, subplot, character, thematic) |
| 33 | Which characters are involved |
| 34 | Which themes it serves |
| 35 | Which MICE threads the arc carries (optional `mice-threads:` frontmatter, e.g. `[event, character]`; see `references/mice-quotient.md`) |
| 36 | Build the arc through conversation: setup, escalations, climax, resolution |
| 37 | Write the file using `references/arc-template.md` (or scaffold it with `story add arc "{Name}" --type main --character {id} --theme {theme}`, then fill in the sections) |
| 38 | Save to `plot/arcs/{arc-name-kebab}.md` |
| 39 | Update `plot/_index.md` arcs table |
| 40 | Update theme tracking in `plot/_index.md` |
| 41 | If characters are referenced, verify they exist in `characters/` |
| 42 | When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` |
| 43 | |
| 44 | ## Managing Plot Points |
| 45 | |
| 46 | Plot points live within arc files in the "Plot Points" table. When adding a plot point: |
| 47 | |
| 48 | Read the relevant arc file |
| 49 | Add the plot point to the table with chapter reference (if known) |
| 50 | Add the event to `plot/timeline.md` in chronological order |
| 51 | If the plot point involves foreshadowing, add it to the arc's foreshadowing table |
| 52 | If the plot point creates a reader promise or mystery, create or update a record in `continuity/promises/` or `continuity/questions/` |
| 53 | When CLI access is available, run `story reindex .`, `story links .`, and `story validate .` |
| 54 | |
| 55 | ## Timeline Management |
| 56 | |
| 57 | The timeline at `plot/timeline.md` is a chronological master list of all story events across all arcs. |
| 58 | |
| 59 | When adding events: |
| 60 | Insert in chronological order |
| 61 | Keep entries concise (one line per event) |
| 62 | Use the `| When | Event | Arc | Chapter |` table with these cell formats: |
| 63 | **When:** story-relative time for story events (e.g. `Day 1, morning`), or how long ago for backstory (e.g. `12 years ago`, `~300 years ago`) |
| 64 | **Event:** one concise line describing what happened |
| 65 | **Arc:** the arc's display name as written in its file (e.g. `The Drowned Witness`), or `-` when the event belongs to no arc |
| 66 | **Chapter:** `Ch {N}` once the event is written (e.g. `Ch 1`), or `-` for backstory and unwritten events |
| 67 | |
| 68 | When reviewing the timeline: |
| 69 | Run `story timeline .` to see written scenes in story-time order from their `date`/`time` fields, with scenes told out of order marked, and compare it with `plot/timeline.md` |
| 70 | Check for chronological consistency |
| 71 | Identify pacing issues (too many events clustered, long gaps) |
| 72 | Flag arcs that haven't progressed |
| 73 | |
| 74 | ## Foreshadowing Tracking |
| 75 | |
| 76 | Each arc tracks its own foreshadowing in the "Foreshadowing" table: |
| 77 | **Planted:** What hint or setup is placed |
| 78 | **Payoff:** What the payoff will be |
| 79 | **Chapter Planted / Chapter Payoff:** Where each occurs |
| 80 | **Status:** `planned`, `planted`, or `paid-off` |
| 81 | |
| 82 | During chapter writing, flag any `planted` items that haven't been paid off as reminders. |
| 83 | |
| 84 | For durable cross-arc setup/payoff tracking, also maintain `continuity/promises/{promise-kebab}.md` with `status`, `planted`, `payoff`, `arcs`, and `characters`. For mystery or open-continuity tracking, maintain `continuity/questions/{question-kebab}.md`. |
| 85 | |
| 86 | Scaffold chapters and scenes with `story add chapter "{Title}" --number {N} --pov {id} --arc {arc-id}` and `story add scene "{Title}" --chapter chapter-{NN} --scene {M} --pov {id} --location {id}`, then write the prose and outline content into the created files. |
| 87 | |
| 88 | ## Cross-Referencing |
| 89 | |
| 90 | Arcs reference characters via frontmatter `characters` field |
| 91 | Arcs reference themes via frontmatter `themes` field |
| 92 | Plot points reference chapters |
| 93 | Timeline entries link arcs and chapters |
| 94 | Theme tracking in `plot/_index.md` maps themes to arcs and chapters |
| 95 | Promises and questions reference chapters, arcs, and characters where relevant |
| 96 | |
| 97 | ## CLI Maintenance |
| 98 | |
| 99 | 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. |
| 100 | |
| 101 | ## Reference Files |
| 102 | |
| 103 | **`references/arc-template.md`** - Template for arc files with frontmatter and sections |
| 104 | **`references/question-template.md`** - Template for continuity questions and mysteries |
| 105 | **`references/promise-template.md`** - Template for setup/payoff tracking |
| 106 | **`references/structure-models.md`** - Story structure models (three-act, hero's journey, save the cat, kishotenketsu, five-act, Fichtean curve, Harmon's story circle) with beat sheets |
| 107 | **`references/mice-quotient.md`** - MICE threading: milieu/inquiry/character/event threads, start/end rules, and the optional `mice-threads:` arc frontmatter |
| 108 | **`references/short-story-form.md`** - Short fiction form: one dominant change, single effect, narrow scope |
| 109 | **`references/outlining-ladder.md`** - Premise → beat sheet → step outline → full outline, with exit criteria per rung (cross-links discovery-drafting) |
| 110 |
Discussion
Browse more free Claude skills or everything in Content creator.