schema-evolvelisted
Install: claude install-skill voxpelli/vp-claude
# Schema Evolution
Detect drift between a Basic Memory schema definition and actual note usage,
propose changes, and synchronize both the BM schema note and the local
`schemas/` file after user approval.
## Arguments
**Required:** the note type in snake_case.
| Example | Schema file |
|---------|-------------|
| `npm_package` | `schemas/npm_package.md` |
| `brew_formula` | `schemas/brew_formula.md` |
| `github_action` | `schemas/github_action.md` |
| `engineering` | `schemas/engineering.md` |
| `standard` | `schemas/standard.md` |
The argument must match a `type` value used in Basic Memory note frontmatter
and a corresponding file in `schemas/`. If the type is unknown, list available
schema files and ask the user to pick one.
**Optional:** `--prescribed verb1,verb2,...` — force-add specified relation
verbs (or observation field names) to the schema regardless of usage
frequency. See "Modes" below.
## Modes
The skill operates in two complementary modes:
### Drift-driven mode (default)
Invocation: `/schema-evolve <note_type>`
Frequency-based: `schema_diff` and `schema_infer` decide what to add or
remove. Fields are added only when their actual per-type usage crosses
the 25% threshold. This is the right mode for organic schema evolution
where the notes lead and the schema catches up.
Limitation: prescribed cross-schema vocabulary (e.g., a Tier-0 verb set
that should be declared identically across many schemas) cannot be
absorbed this way until each schema independent