shared-dao — Claude Code skill: what it does, how to install
Keeps story terms consistent across lore files and drafts, organizing them inside kb/. It eliminates drifting names, ambiguous factions, and conflicting magic systems.
npx skills add haowjy/creative-writing-skills --skill shared-dao -a claude-codeWhat shared-dao does
The skill enforces a strict vocabulary workflow for creative writing. Every term gets a canonical name, a short definition with clear boundaries, known aliases, and a recorded source. Global story terms go into kb/vocab.md, specific topics land in kb/<domain>/vocab.md, and drafts keep provisional words under work/... until promoted.
Before minting a term, the agent checks AGENTS.md, existing lore, and chapter drafts. It spawns subagents when broad text searches risk crowding the main context window. If two concepts share a name, the agent forces a split. When different words describe the same object, it assigns aliases.
Because the discipline strictly expects a kb/ and work/ folder layout, using it in an unorganized repository requires adjusting file paths.
What it helps with
- record canonical lore terms and magic systems in kb/vocab.md
- resolve ambiguous names that refer to multiple concepts
- audit character and faction names for consistency across drafts
- promote approved working terms from work/... into project knowledge files
Example prompts for the agent
- Check chapter three draft against canonical terms in kb/vocab.md
- Help me define this new magic concept and place it in the right kb/ vocabulary file
- Resolve the naming conflict between these two factions and pick a canonical term
How to install shared-dao
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill shared-dao -a claude-code2Manually: put the files in place
~/.claude/skills/shared-dao/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/shared-dao/
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill shared-dao -a codex2Manually: put the files in place
.agents/skills/shared-dao/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill shared-dao -a cursor2Manually: put the files in place
.cursor/skills/shared-dao/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install haowjy/creative-writing-skills shared-dao2Manually: put the files in place
.github/skills/shared-dao/SKILL.md1Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill shared-dao -a gemini-cli2Platform CLI
gemini skills install https://github.com/haowjy/creative-writing-skills --path cw/skills/shared-daoManually: put the files in place
.devin/skills/shared-dao/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add haowjy/creative-writing-skills --skill shared-dao -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 shared-dao
How do I install shared-dao in Claude Code?
Run npx skills add haowjy/creative-writing-skills --skill shared-dao -a claude-code. The skill file will be placed in ~/.claude/skills/shared-dao/SKILL.md.
What does the shared-dao skill do?
It provides guidelines for managing story vocabulary, maps terms to kb/ directory files, and prevents naming drift across drafts.
Where does the skill organize story vocabulary?
Story-wide terms live in kb/vocab.md, domain-specific lists belong in kb/<domain>/vocab.md, and provisional terms stay in work/....
Source text
SKILL.md · Apache-2.0
--- name: shared-dao description: > Shared vocabulary for creative writing projects. Load when establishing canonical story terms, resolving ambiguous names, checking term consistency, or deciding where vocabulary belongs in kb/. --- # Shared Dao Shared vocabulary is the contract between the author's intent and agent action. Ambiguous, overloaded, drifting, or misleading terms corrupt drafts early: magic systems get renamed, factions blur together, genre terms mean different things in different prompts, and characters speak with vocabulary the author never intended. Treat vocabulary problems as story-structure problems. Resolve terminology while the meaning is still easy to sharpen. ## Core Discipline Scrutinize important terms aggressively. Reuse existing names when they already fit the concept. Converge on one name per concept and one concept per name as quickly as the evidence allows. Resolve terminology early: - rename when the clearer term is available - define when the concept is real but still blurry - flag when the author's judgment is required ## Where Vocab Lives Place terms at the lowest common scope where they are shared: - **Project vocab** (`kb/vocab.md`): terms used across the whole story - **Domain vocab** (`kb/<domain>/vocab.md`): terms specific to one domain, such as worldbuilding, characters, factions, or timeline eras - **Work notes** (`work/...`): provisional vocabulary during story-planning or drafting, promoted to `kb/` once settled Each entry includes: - **Canonical name**: the form agents should use - **Definition**: one to three sentences. Include boundaries that prevent likely confusion. - **Aliases**: names the author, characters, drafts, or older kb pages actually use - **Source**: where the usage was established or decided ## Discovery Before defining new terms, check what already exists: 1. Read relevant vocab files. 2. Search `AGENTS.md`, kb pages, outlines, drafts, and work notes. 3. Spawn focused subagents when the search is broad enough to crowd your context. 4. Check how the author uses the term in conversation and prose. Mint new terms when they mark a real new concept. Let new vocabulary reflect clear distinctions rather than uncertainty, local convenience, or unexamined drift. ## Disambiguation Ambiguity is the root failure mode. Resolve it before carrying the term forward: - **Same term, different meanings:** pick one meaning for the canonical definition, and give the other meaning its own name. - **Different terms, same meaning:** pick one as canonical, record the others as aliases. - **Unclear meaning:** ask the author: "When you say X, what specifically do you mean? Where are the edges of that meaning?" When terminology conflicts with existing kb or draft usage, resolve the drift when the evidence is clear. When author judgment is needed, flag the conflict explicitly in your report so competing names stay visible. ## Creative Writing Terms to Watch - Magic, technology, powers, abilities, rituals - Factions, institutions, places, cultures, eras - Titles, ranks, honorifics, forms of address - Relationship labels and social categories - Character-specific vocabulary, catchphrases, verbal tics - Genre terms the author uses with a project-specific meaning - Chapter, arc, POV, and timeline labels Shared vocabulary is the contract between author intent and agent action. Ambiguity you leave in vocab propagates into drafts, critique, continuity, and KB updates.
© haowjy · Apache-2.0 · haowjy/creative-writing-skills