consolidate-strays
Consolidate stray skills
Recover the canonical skills store's strays into the aggregation repo before the next distribution chain run, so nothing unversioned is left for a distribution to overwrite:
- a new stray — a store skill the distribution chain does not track — becomes a versioned consolidated copy, under
skills/self/when self-authored orskills/other/while provenance is unknown; - a modified stray — a tracked skill whose store content differs from its consolidated copy — gets its deviation recorded in the patch manifest before the copy changes (ADR-0002).
Consolidation is non-destructive: the store copy stays in place, and a recovered edit goes live in the store only after commit + push + a distribution run.
1. Run the dry-run report
Locate the aggregation repo — the git repo owning scripts/consolidate-strays.mjs. If you are not already at its root, find it (e.g. git -C <candidate> rev-parse --show-toplevel, or search your usual checkout roots); ask the user if it has moved. From the repo root, run the script plain — it resolves the canonical store, the lock file, and the repo root itself, so no flags are needed:
node scripts/consolidate-strays.mjs
The default mode is a dry-run: nothing is written or modified. Read the whole report; every skill is classified as current (content matches its consolidated copy — nothing to do), new stray (with its proposed destination skills/other/<name>), or modified stray (with a diff summary and a patch-manifest row template).