From omen
Migrate an existing campaign to the standard omen setting structure. Audits the current state, creates missing files and directories, extracts content from hybrid files, generates indexes from standalone lore, and backfills canon from session logs. Phased with DM approval between each step. Use when user says "doctor setting", "fix my campaign", "migrate to standard", or has a messy setting folder that needs organising.
How this skill is triggered — by the user, by Claude, or both
Slash command
/omen:doctor-settingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Migrate an existing campaign to the standard omen setting structure. Works in phases -- audit,
Migrate an existing campaign to the standard omen setting structure. Works in phases -- audit, structure, extract, review -- with DM approval between each.
$ARGUMENTS may contain:
07-omen/ for it07-omen/ and ask which one to doctorRead the entire setting directory. For every file:
Present a full gap analysis:
Audit: {Setting Name}
Standard files:
File Status index.md {exists / missing} blurb.md {exists / missing} log.md {exists / missing} lore/_cannon.md {exists / missing} lore/_npcs.md {exists / missing} lore/_places.md {exists / missing} lore/_players.md {exists / missing} characters/ {exists+populated / exists+empty / missing} logs/ {exists+populated / exists+empty / missing} assets/ {exists+populated / exists+empty / missing} Content found:
- {N} lore files ({breakdown by type})
- {N} session logs
- {N} hybrid files (need splitting)
- {N} non-standard files (will be left as-is)
Frontmatter health:
- {N} files with complete frontmatter
- {N} files with partial frontmatter (list missing fields)
- {N} files with no frontmatter
Planned actions:
- Create: {list of files/dirs to create}
- Split: {list of hybrid files to decompose}
- Generate: {list of indexes to build from existing content}
- Extract: {what to backfill from session logs}
- Leave: {non-standard files staying put}
Proceed to structuring phase?
Create all missing directories and empty standard files. Use the same templates as
/scaffold-setting for file contents.
Infer campaign, group, and tag values from existing frontmatter in the setting. If
inconsistent, ask the DM which values to standardise on.
For every existing file, check and fix frontmatter:
tags, campaign, group, type, aliases, related, blurb
where absentomen/{campaign}/{type} pattern[[wikilinks]] in the file body and add referenced entities to
the related fieldPresent changes per file:
Frontmatter fixes:
{filename}:
- Added:
blurb: "{generated}"- Added:
aliases: ["{alias1}", "{alias2}"]- Fixed:
tags: omen/crown/npc(was: missing){filename}:
- ...
Apply all, edit, or skip any?
Work through each extraction task sequentially, presenting results for approval.
For files serving multiple purposes (e.g. a combined session log + player index):
Splitting: {filename}
- Player table + backstories ->
lore/_players.md+ individual files incharacters/- Session index table ->
log.md- Setting description ->
blurb.md(if blurb.md is empty)The original file will be kept until you confirm deletion. Proceed?
characters/, ensure frontmatter includes up: "[[_players]]"
and wikilinks to related NPCs, places, and factions{filename} has been fully split. Delete the original? (y/n)
Scan all files in lore/ and build index entries grouped by type:
For _npcs.md:
Read every file with type: npc. For each, create an alphabetically ordered heading:
## {NPC Name}
{blurb from frontmatter, or generate one from content}. See [[{NPC Name}]]
For _places.md:
Same pattern for files with type: location.
For factions, concepts, and other lore types:
These don't have a dedicated index. Ensure they're well-linked via related fields in
frontmatter and wikilinks in _cannon.md and other indexes.
Present the generated indexes:
Generated
_npcs.md-- {N} entries Generated_places.md-- {N} entries{preview of each}
Approve, edit, or regenerate?
Read every session log in logs/. For each completed session (has a Plot section or equivalent
narrative content):
/log-cannon)Present the full canon timeline:
Generated
_cannon.md-- {N} events across {M} sessions{Session 1} -- {Date}
- event 1
- event 2
{Session 2} -- {Date}
- event 1
Approve, edit, or regenerate?
After all content is in place, do a cross-referencing sweep:
lore/, characters/, and the index files:
[[wikilinks]] where missingrelated frontmatter fields with bidirectional referencesPresent a summary of links added:
Wikilink pass: {N} links added across {M} files
Notable new connections:
- {entity A} <-> {entity B} (found in {context})
- ...
Apply?
Present the final state of the setting:
Doctor complete: {Setting Name}
Files created: {N} Files updated: {N} (frontmatter fixes + wikilinks) Files split: {N} -> {M} Files left as-is: {N}
Structure:
{tree view of final directory}Frontmatter coverage: {percentage} of files fully tagged Wikilink density: {N} cross-references across {M} files
Anything to adjust, or are we good?
npx claudepluginhub xxkeefer/skills --plugin omenCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.