Plot structure
Agent Skills for end-to-end story writing in markdown, packaged as Codex and Claude Code plugins.
npx -y skills add danjdewhurst/story-skills --skill plot-structureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
4.5 KB, as published. Nobody here has run it
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
- Build the arc through conversation: setup, escalations, climax, resolution
- Write the file using
references/arc-template.md - 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 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
- Link to the relevant arc and chapter
- Keep entries concise (one line per event)
When reviewing the timeline:
- 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.
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 but the story-maintenance skill is present, use 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 and backlink 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) with beat sheets