
story-decisions
Story decision capture and mining — recording what was decided, what was rejected, and why, inline with the artifacts they relate to. Use whenever story direction is being chosen, brainstorm options are being narrowed, character or world choices are being made, or past decisions need to be recovered from session history.
- Installs
- 44
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/haowjy/creative-writing-skills --skill story-decisions- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads story-decisions automatically when relevant.
- 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.
Story Decisions
Story decisions evaporate faster than code decisions. The reasoning behind a character's age, a meeting scene's tone, a timeline ordering, a rejected plot thread — it lives in brainstorm sessions that get compacted, in conversations that end, in the author's head between writing sessions. A month later, the question resurfaces: "why did we make the character 8 instead of 10?" and the reasoning is gone. Worse, a writer agent drafts a scene that contradicts a decision nobody recorded.
Record decisions while the reasoning is fresh — in the moment the choice is made, not retroactively. A decision captured from memory after a long brainstorm flattens the nuance: alternatives blur together, constraints lose specificity, reasoning becomes post-hoc justification.
What to Record
Every decision entry answers three questions: what was decided, why it was chosen, and what else was considered.
- The choice itself. State it concretely — name the characters, scenes, mechanics, or world elements affected. "We decided on a lighter tone" is vague. "The Route 1 meeting uses comedic misunderstanding, not a shared-threat scenario" is a decision.
- The reasoning. What constraints, goals, or creative instincts drove the choice? Was it narrative pacing? Character voice? Thematic consistency? Reasoning without specifics is opinion — "felt right" doesn't help the writer who needs to execute the decision six sessions later.
- Alternatives rejected. Name them and say why they were rejected. "We considered a combat-first meeting but rejected it because the character doesn't have battle experience yet and it would require explaining their competence" is the most valuable sentence in any story decision record — it prevents the next brainstormer from re-proposing the rejected approach.
- Constraints discovered. Often the decision itself is less interesting than the constraint that forced it. "The timeline doesn't allow more than two days on Route 1" explains more than "we compressed the Route 1 arc."
- What changed. If this decision revises a prior one, reference what it replaces and why circumstances shifted. Story direction evolves — that's fine, but the evolution should be traceable.
Where Decisions Live — Inline, Not Separate
Decisions are written inline with the artifacts they relate to in the kb (meridian context kb). Not in a separate decisions file. Not in a master log.
A character age decision lives in the relevant character file, annotated where the age is stated. A timeline ordering decision lives in the timeline, annotated at the event sequence. A world mechanics decision lives in the relevant world entry, annotated at the relevant system description.
This keeps decisions co-located with the facts they govern. When the writer loads a character file, they see not just the current state but why it's that way. When the continuity-checker flags a timeline issue, the reasoning for the ordering is right there.
Annotation Format
Character is 8 years old at story start.
<!-- decision: Age set to 8. Considered 6 (too young for agency in early arcs)
and 10 (too old for the vulnerability dynamic with the mentor). 8 balances
competence with dependence. Session: p142, 2025-03-15 -->
Use HTML comments for decision annotations — they're invisible in rendered markdown but preserved in source. Include a session reference so the full discussion can be recovered via meridian session if needed.
When to Record — and When to Skip
Record a decision when someone could reasonably make a different choice and the reasoning isn't obvious from the story itself. The test: would a writer agent need this context to draft a scene correctly?
Especially important when:
- Narrowing brainstorm options (the rejected alternatives are as valuable as the chosen one)
- Establishing character traits that constrain future scenes
- Ordering timeline events where the sequence affects plot logic
- Choosing tone or approach for a pivotal scene
- Overriding a critic's finding (record why the orchestrator disagreed)
- Revising a prior decision (what changed and why)
Skip decisions that follow directly from established canon or project conventions. If the story has already established that a character can't battle yet, a scene brief that avoids combat isn't a decision worth recording — it's a constraint.
Proactive Capture vs Retroactive Mining
Proactive — Record as You Go
The story-orchestrator and knowledge-orchestrator record decisions in real time as brainstorming narrows options and direction crystallizes. This is the high-quality path — decisions captured in the moment retain their full context.
After a brainstorm session where options were explored and the author chose a direction: immediately dispatch the session-miner to extract decisions and write them inline to the kb. Don't wait — the session context is richest right after the conversation.
Retroactive — Mine Past Sessions
When decisions weren't captured in the moment (they often aren't), the session-miner can extract them from past session transcripts using meridian session. This recovers what would otherwise be lost, but the quality is lower — compacted sessions may have lost nuance, and the miner is reconstructing reasoning rather than recording it.
Use retroactive mining when:
- A writer or critic encounters a fact with no recorded reasoning
- Starting work on a new arc and needing to gather all prior decisions that constrain it
- Onboarding to a project with existing history but no decision annotations
The session-miner reads transcripts and writes decision annotations inline to the relevant kb entries, tagged with the source session for traceability.
FAQ
What does the story-decisions skill do?
Story decision capture and mining — recording what was decided, what was rejected, and why, inline with the artifacts they relate to. Use whenever story direction is being chosen, brainstorm options are being narrowed, character or world choices are being made, or past decisions need to be recovered from session history.
How do I install story-decisions?
Run npx skills add https://github.com/haowjy/creative-writing-skills --skill story-decisions 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/story-decisions/ (personal) or .claude/skills/story-decisions/ (project).
Which AI agents can use story-decisions?
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 story-decisions 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 story-decisions?
It is published by haowjy in haowjy/creative-writing-skills. It has 44 recorded installs.
More from haowjy/creative-writing-skills
writing-principles
haowjy/creative-writing-skills
What fiction readers want (reader reward channels) and the specific ways LLM training damages them. Load when drafting prose, critiquing, or diagnosing why a passage feels flat.
creative-writing-craft
haowjy/creative-writing-skills
Craft references for writing fiction well: prose, scenes, style, voice, and genre/page-level technique. Load when a writer, critic, or muse needs how-to-write guidance rather than a production mode.
llm-writing
haowjy/creative-writing-skills
Load before writing or revising human-facing text. Choose words deliberately, ground the piece in the reader's context, and remove default LLM phrasing before the final draft.
writing-staffing
haowjy/creative-writing-skills
Dispatch reference for composing writing teams. Teaches which extra skills to attach, which files to pass, which resources to reference, and when to fan out versus run parallel lanes. Load when staffing a workflow.
story-review
haowjy/creative-writing-skills
Review work after prose exists: editorial review, craft critique, continuity/voice review, copyediting, proofreading, and synthesis of reader-sim signal. Load when diagnosing a draft rather than rewriting it.
story-planning
haowjy/creative-writing-skills
Planning work before prose: creative direction, story-planning, outlining, and story architecture. Load when deciding what should happen or how a story should be structured.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.