From capture-plan
Upgrade existing vault notes to the current frontmatter standard (type, date, duration_s, normalized model + context_window) so they appear in the managed Obsidian bases. Interruptible and resumable.
How this skill is triggered — by the user, by Claude, or both
Slash command
/capture-plan:backfill-frontmatterThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Upgrade legacy notes captured by this plugin to the current frontmatter standard. All data is derived from the notes themselves (frontmatter and vault paths) — Claude Code session files are never read. Note bodies are untouched; only the frontmatter block changes.
Upgrade legacy notes captured by this plugin to the current frontmatter standard. All data is derived from the notes themselves (frontmatter and vault paths) — Claude Code session files are never read. Note bodies are untouched; only the frontmatter block changes.
Run a dry-run first to see what would change:
bun ${CLAUDE_PLUGIN_ROOT}/hooks/backfill-frontmatter.ts --dry-run --cwd "$(pwd)"
Report the scan line to the user (files scanned, notes needing upgrades, change breakdown).
/backfill-frontmatter-estimation for a runtime estimate — but since they invoked this command imperatively, proceed unless they object.Launch with run_in_background so progress can be reported while it works:
bun ${CLAUDE_PLUGIN_ROOT}/hooks/backfill-frontmatter.ts --cwd "$(pwd)"
The script prints a progress line every 100 notes with the current rate and ETA (e.g., backfill: 1200/6336 (45/s, ~1m 54s remaining)), and the same lines go to /tmp/capture-backfill-debug.log.
While it runs, periodically Read the background task's output and relay the latest progress line to the user (roughly every 15–30 seconds, or when they ask).
If the user asks to stop, send SIGTERM to the process (pkill -f "bun .*backfill-frontmatter" or stop the background task). The script finishes in-flight writes, prints how far it got, and exits. Tell the user the run is resumable: re-running this command skips every note that is already upgraded and continues with the rest.
When the script finishes, report the final summary line: notes rewritten, property-fallback count, failures, and elapsed time. If there were failures, list them (the script prints up to 20) and suggest re-running — failures are retried on the next run since those notes still won't be at spec.
Optionally verify by re-running the dry-run from step 1: it should report 0 need upgrades.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub kriswill/capture-plan --plugin capture-plan