init
This commit is contained in:
commit
971e49db5c
246 changed files with 93082 additions and 0 deletions
116
.claude/skills/cleanup-note/SKILL.md
Normal file
116
.claude/skills/cleanup-note/SKILL.md
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
---
|
||||
name: cleanup-note
|
||||
description: Take a raw, voice-dictated or rough Markdown note and promote it into a canonical Baltun'ia vault note — identify what entity it is, correct spelling/proper-noun typos against established vault names, reshape it into the matching framework template's headings, wikilink every known entity, file it into the correct folder, and add the reciprocal link from its parent. Use when the DM says "clean up this note", "process this dictation", "sort out this file", or passes a rough note as an argument to be normalized.
|
||||
---
|
||||
|
||||
# Clean Up & Promote a Raw Note
|
||||
|
||||
This is the **intake / cleanup phase** for rough notes (usually voice-dictated,
|
||||
so expect run-on prose, homophone errors, and mangled proper nouns). The goal is
|
||||
to turn one messy file into a canonical note that is indistinguishable from one
|
||||
the DM wrote by hand — correctly typed, spelled, structured, linked, and filed.
|
||||
|
||||
First read `.claude/skills/_shared/vault-conventions.md`.
|
||||
|
||||
The note to clean up is passed as an **argument** (a file path). If none was
|
||||
given, ask which file. Never guess.
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Read the raw note.** Read the target file in full. Also note its current
|
||||
location — a dictated note is often dumped loose at the vault root or in an
|
||||
inbox folder, not where it belongs.
|
||||
|
||||
2. **Identify what it is.** Decide the entity type from its content, not its
|
||||
filename. Match to one of the vault's note kinds and load the matching
|
||||
template so you reshape to the right shape:
|
||||
- **NPC** → `z_templates/Framework Templates/NPC Framework Template.md`
|
||||
- **POI** (a visitable site inside a city) → `POI Framework Template.md`
|
||||
- **Region / City** (location) → `Location Framework Template.md`
|
||||
- **Faction** → `Faction Framework Template.md`
|
||||
- **Session recap** → this isn't a cleanup job; hand off to `/session-recap`.
|
||||
- **In-world document** (speech, letter, proposition) → goes in the relevant
|
||||
city's `Documents/` folder; keep it as the in-world artifact, no template.
|
||||
- **History / lore, Species, Deity, Creature, Economy, Language** → file per
|
||||
the vault map; match a nearby sibling note's structure rather than a
|
||||
framework template.
|
||||
If it's genuinely ambiguous (e.g. a person who might be a live NPC or a
|
||||
historical Key Figure), state your read and ask the DM to confirm the type
|
||||
before restructuring.
|
||||
|
||||
3. **Ground it in the vault.** Before fixing or linking anything, gather what's
|
||||
already established. Search the vault for every proper noun in the note
|
||||
(names, places, factions, deities). Read the likely parent note (the POI,
|
||||
city, region, or faction this belongs under) and the `Campaign Premise` /
|
||||
`Campaign Flow` if it touches the main plot. This grounding drives the next
|
||||
three steps.
|
||||
|
||||
4. **Fix spelling & proper-noun typos.** Voice dictation mangles names. For each
|
||||
proper noun, find the closest canonical spelling that already exists in the
|
||||
vault and correct to it (e.g. dictated "Voxu" / "Vox you" → `Voxiu`, "belters"
|
||||
→ `Belters`). Fix ordinary spelling/grammar too, but **preserve the DM's
|
||||
voice and any deliberate in-world coinage.** A name with *no* near-match in
|
||||
the vault is probably a genuinely new entity — keep it as dictated and treat
|
||||
it as a new note/stub, don't "correct" it into an unrelated existing name.
|
||||
Keep a list of every correction to show the DM.
|
||||
|
||||
5. **Reshape into structural sections (no frontmatter).** Pour the content into
|
||||
the matching template's `###`/`##` headings. Follow the vault's structural
|
||||
conventions exactly:
|
||||
- **No YAML frontmatter, ever.** "Metadata" in this vault means heading-based
|
||||
sections plus inline tags like a race note `*(Human, elderly)*` — not
|
||||
properties. Add these, not frontmatter.
|
||||
- **Rename or drop sections to fit** — never leave empty boilerplate. If the
|
||||
dictation only covers a few fields, keep those sections and omit the rest;
|
||||
leave a `[[red link]]`-free gap the DM can fill, and list the gaps for them.
|
||||
- Match the local house style (Notable-NPC bold-name + `→` hook lines,
|
||||
American spelling, in-world present tense for descriptions).
|
||||
- **Do not invent hard canon.** If the note implies but doesn't state a
|
||||
motivation, secret, death, or loyalty, leave it out and flag it — those are
|
||||
the DM's calls (collaborative style). Structure what's there; don't pad.
|
||||
|
||||
6. **Wikilink every known entity.** Wikilink the first mention of any species,
|
||||
region, city, faction, deity, POI, or NPC that has (or should have) a note.
|
||||
Use `[[Note Name|display text]]` when the filename differs from the prose. An
|
||||
entity with no note yet still gets a `[[red link]]` — that's intentional;
|
||||
collect these as stubs to flag.
|
||||
|
||||
7. **Determine destination & filename.** Compute where the promoted note belongs
|
||||
per the containment rules and naming conventions:
|
||||
- NPC → `.../<POI>/<Full Name> - <POI>.md` (or `- <City>`; historical →
|
||||
`Key Figures/<Name>.md`)
|
||||
- POI → `.../<City>/<POI>/<POI>.md`
|
||||
- City → `.../<Region>/<City>/<City>.md`; Region → `.../<Region>/<Region>.md`
|
||||
- Faction → `World Almanac/Factions/<Faction>/<Faction> Overview.md`
|
||||
- Document → `.../<City>/Documents/<Title>.md`
|
||||
If the parent folder doesn't exist yet, that's a signal the parent note is
|
||||
also missing — flag it.
|
||||
|
||||
8. **Show the DM before applying.** Present, and wait for approval:
|
||||
- the **identified type** and the **destination path + filename**;
|
||||
- the **typo/spelling corrections** (dictated → canonical) as a list;
|
||||
- the **cleaned note** in full (or a diff against the original);
|
||||
- **links added** and **red-link stubs** worth creating later;
|
||||
- the **reciprocal backlink** you'll add to the parent (see below);
|
||||
- any **flagged gaps / uninvented canon** the DM should decide on.
|
||||
|
||||
9. **Apply on approval.** Then:
|
||||
- Write the cleaned note to its correct path/filename.
|
||||
- If the original file was a loose dump elsewhere, offer to delete it (don't
|
||||
leave a stale duplicate) — confirm first, and never delete a file you can't
|
||||
confirm is the same content you just promoted.
|
||||
- Add the reciprocal `[[link]]` in the parent note (NPC → parent POI's
|
||||
"Notable NPCs"; POI → city's "Notable Features"; city → region's "Notable
|
||||
Cities"; faction → `Faction Relationships.md`) so the graph stays connected.
|
||||
- Remind the DM of the red-link stubs; offer to create the important ones via
|
||||
`/create-npc`, `/create-poi`, `/create-location`, or `/create-faction`.
|
||||
|
||||
## Guardrails
|
||||
|
||||
- This skill **normalizes and files existing content**; it does not invent the
|
||||
campaign. When a field is missing, flag it — don't fabricate motivations,
|
||||
secrets, or events (that's the DM's call, per the collaborative style).
|
||||
- When a proper noun has no vault match, treat it as new, not as a typo.
|
||||
- Keep canonical content **out of `z_*`** folders.
|
||||
- Preserve unicode punctuation already in the vault; when editing existing notes
|
||||
(e.g. adding the backlink), anchor Edits on plain-ASCII substrings.
|
||||
Loading…
Add table
Add a link
Reference in a new issue