plot-structure
npx machina-cli add skill danjdewhurst/story-skills/plot-structure --openclawPlot 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
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/
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
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:
plantedorpaid-off
During chapter writing, flag any planted items that haven't been paid off as reminders.
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
Reference Files
references/arc-template.md- Template for arc files with frontmatter and sectionsreferences/structure-models.md- Story structure models (three-act, hero's journey, save the cat, kishotenketsu, five-act) with beat sheets
Source
git clone https://github.com/danjdewhurst/story-skills/blob/main/skills/plot-structure/SKILL.mdView on GitHub Overview
Plot Structure helps you plan and manage story arcs, plot points, foreshadowing, and narrative timeline. Each arc is stored as a markdown file in plot/arcs/ with a central timeline at plot/timeline.md, while plot/_index.md tracks overall structure, arcs, status, and theme coverage.
How This Skill Works
Start by ensuring a story project exists (story.md). Choose a structure from references/structure-models.md and record it in plot/_index.md. Create arcs using references/arc-template.md and save them to plot/arcs/{arc-name-kebab}.md, then populate the arc’s Plot Points and update plot/timeline.md chronologically. Track foreshadowing in each arc's Foreshadowing table and keep cross-references to characters and themes consistent across arcs and the index.
When to Use It
- When starting a new story and planning its overall structure based on genre and themes.
- When adding a main arc, subplot, or character arc to the story.
- When placing or adjusting plot points and beat sheets within arcs.
- When building or updating the chronological timeline across all arcs.
- When tracking foreshadowing and pacing to ensure payoffs align with planted hints.
Quick Start
- Step 1: Ensure a story project exists (check for story.md in the project root).
- Step 2: Pick a structure from references/structure-models.md and set it in plot/_index.md.
- Step 3: Create the arc file with references/arc-template.md, save to plot/arcs/{arc-name-kebab}.md, then update the timeline and foreshadowing tables.
Best Practices
- Verify that a story project exists (story.md) before proceeding.
- Consult references/structure-models.md to select an appropriate structure for the genre.
- Use references/arc-template.md to create arcs for consistent frontmatter and sections.
- Keep plot/timeline.md concise and ensure events are in strict chronological order.
- Regularly cross-reference arcs, characters, and themes in plot/_index.md to maintain consistency.
Example Use Cases
- Arc: Protagonist's Awakening arc created with a three-act structure, linking to acts in timeline.md.
- Timeline example: Events across Arc A and Arc B with direct links to their respective arc files.
- Foreshadowing: Plant a hint in Act I that pays off in Act III, tracked in the arc's Foreshadowing table.
- Structure choice: Adopt a three-act structure for a mystery thriller and document in plot/_index.md.
- Arc update: Add a new subplot arc involving secondary characters and update theme coverage in the index.