writing-principles — Claude Code skill: fiction writing principles
A skill that names what fiction readers want and how LLM training damages it. Useful when drafting, critiquing, or when a passage reads flat.
npx skills add haowjy/creative-writing-skills --skill writing-principles -a claude-codeWhat writing-principles does
The skill lays out five reader reward channels: transportation into the story world, sentence-level aesthetic pleasure, social simulation of characters as minds, flow, and curiosity with prediction. Each one gets a note on what protects it and how the model's usual habits — explaining, resolving, clarifying — break it.
Two diagnostic sections carry the argument: Trust the Reader and Economy. The first says readers reconstruct emotion from behavior and infer motive from action; the second asks whether an element does more than one job. A separate note covers punctuation: readers increasingly read em dashes as a sign of AI prose, so sentence breaks, commas, colons or dialogue beats are the default advice.
The skill loads on top of /llm-writing and does not stand alone — the file says so up front. Deeper write-ups sit in resources/failure-modes.md and resources/citations.md. For the how-to-write side, look at /creative-writing-craft and /creative-writing-modes; this one is the layer that tells you which channel broke.
What it helps with
- diagnose why a finished scene reads flat
- find which reader reward channel a passage dropped
- strip the model's habit of explaining everything
- check prose punctuation for AI residue
- separate what a character knows from what the author knows
Example prompts for the agent
- load writing-principles and tell me why this scene loses tension
- run this chapter through the reward channels and name the broken one
- check the dialogue for lines that explain what the reader already got
How to install writing-principles
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill writing-principles -a claude-code2Manually: put the files in place
~/.claude/skills/writing-principles/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/writing-principles/
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill writing-principles -a codex2Manually: put the files in place
.agents/skills/writing-principles/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill writing-principles -a cursor2Manually: put the files in place
.cursor/skills/writing-principles/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install haowjy/creative-writing-skills writing-principles2Manually: put the files in place
.github/skills/writing-principles/SKILL.md1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill writing-principles -a gemini-cli2Platform CLI
gemini skills install https://github.com/haowjy/creative-writing-skills --path skills/writing-principlesManually: put the files in place
.devin/skills/writing-principles/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill writing-principles -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about writing-principles
How do I install writing-principles in Claude?
Run npx skills add haowjy/creative-writing-skills --skill writing-principles -a claude-code. The skill file lands at ~/.claude/skills/writing-principles/SKILL.md.
What does writing-principles do?
It names what fiction readers want from a text and the specific ways LLM training works against that. You load it as a diagnostic layer while drafting or critiquing.
What does the skill need to work?
/llm-writing has to be loaded first — writing-principles adds the fiction-specific layer on top of it. Per-pattern breakdowns live in resources/failure-modes.md.
Source text
SKILL.md · Apache-2.0
--- name: writing-principles type: principle description: > 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. --- # Writing Principles Load `/llm-writing` if it isn't already loaded. This skill adds the fiction-specific layer. ## Trust the Reader The reader is an active collaborator. They reconstruct emotions from behavior, infer motives from action, hold tension across scenes, fill gaps the text leaves open, and make assumptions about what's coming next. That work is where the reward lives: reconstruction, inference, anticipation. Your training pulls in the opposite direction. The helpfulness instinct wants to explain, resolve, clarify, and complete. In fiction, every one of those impulses can damage the reading experience by doing work the reader wanted to do themselves. The specific failure modes below are all forms of this: not trusting the reader to interpret an emotion, hold an ambiguity, follow subtext, or tolerate unresolved tension. Trust doesn't mean obscurity. Readers also need coherent narrative, stable geography, and enough access to model characters. The discipline is knowing when to leave space and when to orient. ## Economy Every element does more than one thing. A line of dialogue advances plot AND reveals character. A sensory detail grounds the scene AND shows who the POV character is. A transition compresses time AND carries an emotional beat. Single-purpose prose makes fiction go flat: description that only describes, dialogue that only informs, interiority that only labels. Economy isn't minimalism. Dense, lyrical prose can be economical when every phrase carries weight. Sparse prose can be wasteful when it takes ten short sentences to do what one image could do. The measure is whether removing the element would cost the reader something. The LLM pull is toward completeness: covering every beat, naming every emotion, resolving every ambiguity. Economy is the counter-discipline: what can you leave out and still have the scene work? What's the reader already doing for you? ## Reader Reward Channels Readers enjoy fiction through overlapping reward channels. Good prose protects the relevant channels at once; damaging one damages the reading experience. - **Transportation**: entering the story world. Protected by coherent narrative progression, consistent POV, concrete sensory grounding. Consistent POV means writing from inside the character's knowledge state: what have they experienced, what do they actually know right now, what would they notice and miss? The full story is in your context window; the character only has what they've lived through. Separate those. - **Aesthetic**: sentence-level pleasure. Protected by variety in rhythm, word choice, sentence shape, and punctuation. Style is a reward channel, not decoration. - **Social simulation**: modeling characters as minds. Protected by access through behavior and interiority, distinct voices, emotion the reader interprets rather than being told. - **Flow**: challenge-skill fit and smooth processing. Protected by pacing that matches the scene's work and sentences that support comprehension without making the reading trivial. - **Curiosity / prediction reward**: wanting to know what happens, what a clue means, what a character will choose, or whether an expectation will be confirmed. Protected by information gaps, uncertainty, setup/payoff, suspense, and withheld implications that the reader can actively model. The channels compose: optimizing one at the expense of others fails. Over-explaining breaks social simulation. Under-explaining breaks transportation. Generic style breaks aesthetic pleasure. Impenetrable style breaks flow. ## Punctuation Tells Readers increasingly associate em dashes with AI-generated prose. Default to punctuation that leaves less visible AI residue: sentence breaks, commas, colons, semicolons, parentheses, or dialogue beats. Rewrite the sentence around the actual relationship between clauses instead of substituting a hyphen. Use dashes only when a project style file or author instruction makes them part of the voice. When a line needs interruption, prefer the project's documented interruption pattern and keep it consistent. ## Applying the Principles This skill is the diagnostic layer: it names what readers want and how training damages it. When a passage feels off and you can't name why, check the reward channels — which one broke? — then see `resources/failure-modes.md` for common patterns and fix heuristics. The craft skills carry the execution. `/creative-writing-craft` has the how-to-write guidance: prose immersion (`resources/prose-writing.md`), scene mechanics (`resources/scene-construction.md`), and style analysis (`resources/style-analysis.md`). `/creative-writing-modes` has the production modes for putting prose on the page. ## Resources - [`resources/failure-modes.md`](resources/failure-modes.md): per-pattern deep dives with examples and fix heuristics. - [`resources/citations.md`](resources/citations.md): research backing for the reader-reward model and documented failure modes.
© haowjy · Apache-2.0 · haowjy/creative-writing-skills