llm-writing — Claude Code skill: what it does, how to install
This skill guides writing and revising text for people, from documentation to PRs. Use it to shape a draft around its reader and cut lines that add no useful information.
npx skills add haowjy/creative-writing-skills --skill llm-writing -a claude-codeWhat llm-writing does
Before drafting, the skill asks you to identify the reader and what they need to understand. It then recommends checking relevant material, writing a full draft, and revising from structure down to individual words. That matters for files and PRs, which may be read by someone who never saw the conversation that produced them.
During revision, it flags repeated points, claims without evidence, and transitions that obscure rather than explain the relationship between ideas. Load /intent-modeling before using it; longer pieces also call for /information-hierarchy. Without the first skill, you’ll need to supply more context about the intended reader yourself.
What it helps with
- shape documentation for readers outside the original conversation
- organize a draft around the reader’s progression through it
- remove repeated points and sentences that add no value
- check whether claims follow from the source material
Example prompts for the agent
- Draft documentation for a teammate who did not see this conversation; revise it using
llm-writing. - Edit this PR description: remove repeated points and check that its claims follow from the material.
- Restructure this long response into clear stages for the reader; use
/information-hierarchy.
How to install llm-writing
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill llm-writing -a claude-code2Manually: put the files in place
~/.claude/skills/llm-writing/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/llm-writing/
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill llm-writing -a codex2Manually: put the files in place
.agents/skills/llm-writing/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill llm-writing -a cursor2Manually: put the files in place
.cursor/skills/llm-writing/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install haowjy/creative-writing-skills llm-writing2Manually: put the files in place
.github/skills/llm-writing/SKILL.md1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill llm-writing -a gemini-cli2Platform CLI
gemini skills install https://github.com/haowjy/creative-writing-skills --path cw/skills/llm-writingManually: put the files in place
.devin/skills/llm-writing/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill llm-writing -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 llm-writing
How do I install llm-writing in Claude Code?
Run npx skills add haowjy/creative-writing-skills --skill llm-writing -a claude-code. The skill file is at ~/.claude/skills/llm-writing/SKILL.md.
What does llm-writing do?
It guides planning, drafting, and revising text for human readers. Its revision checks target repetition, unsupported claims, and wording that does not help the reader.
Which skills should I load with llm-writing?
Load /intent-modeling if it is not already active. For work beyond a short answer, also load /information-hierarchy.
Source text
SKILL.md · Apache-2.0
---
name: llm-writing
description: 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.
---
# LLM Writing
Load `/intent-modeling` if it isn't already loaded.
Load `/information-hierarchy` when the piece grows beyond a short answer.
## Write Intentionally
Before producing a written artifact:
1. **Scope.** Who reads this, and when? Text that outlives the conversation (files, prompts, docs, commit messages, PRs) is read by someone without it: a cold agent, a teammate, or the person who asked, after they've forgotten it. Write for that reader. What do they know when they start, and what should they know when they finish? What do they not need to know? Before writing, break the piece into beats: each beat is one move in the reader's journey, carrying one idea, purpose, or turn.
2. **Ground.** Check any relevant source material, references, or notes before writing, and make sure they align.
3. **Draft.** Write the whole piece where you can revise it before it reaches its reader: the file itself when you're writing one, otherwise a scratch file or your working notes. Text sent straight into a chat, a PR, or a commit gets no revision pass.
4. **Revise.** Start with the whole artifact, then move inward: structure, beats, paragraphs, sentences, words. At each scale, ask what the writing is doing: is it correct, does it follow from what came before, and does the reader need it? Delete or rewrite anything that does not serve a purpose or give the reader something they need to understand or know. Move back and forth between scales: after a local change, zoom back out through the surrounding beat, larger structure, and full artifact; the change should still connect, and the rhythm should still vary. Check disclosure tiers: the answer still leads, depth hasn't crept forward, sources sit at the end.
## What to Delete
- Writing to fill a section because it exists. Delete it or merge its content where it belongs.
- Labeling concepts without explaining how they work. Explain the mechanism or cut the label.
- Stating conclusions without evidence. Show the evidence or drop the claim.
- Hiding uncertainty behind confident language. Say what you don't know.
- Softening every claim with qualifiers ("it's worth noting," "it's important to consider"). Say it or don't.
- Conditions on an instruction ("only when," "unless," "if needed," "when you think it's ready"). Most are hedges. State the instruction flat; keep a condition only when the instruction is wrong on the other side.
- Repeating what you already said in different words, or summarizing the body as a conclusion ("In summary," "Overall"). Delete it.
- Connecting ideas with transition words instead of meaning ("Moreover," "Furthermore," "Additionally"). If the relationship isn't clear without the word, restructure.
- Pairing clauses where one half already carries the meaning ("It's not X, it's Y"). Keep the half that carries it.
- Conversational bleed: writing as if replying inside the conversation that produced the text. Terms coined there, the incident behind a rule, "the old version," "as discussed," answers to questions the reader never asked. The reader wasn't there. Write for the reader, with reasons they can check without the conversation.
© haowjy · Apache-2.0 · haowjy/creative-writing-skills