Claude Code Plugins

Community-maintained marketplace

Feedback

schema-migrate

@bencassie/flywheel
0
0

Rename frontmatter fields or transform values in bulk. Triggers on "rename field", "migrate values", "transform field", "bulk update".

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name schema-migrate
description Rename frontmatter fields or transform values in bulk. Triggers on "rename field", "migrate values", "transform field", "bulk update".
auto_trigger true
trigger_keywords rename field, migrate values, transform field, bulk update field, change field name, convert values, field migration, update frontmatter, refactor field, bulk rename
allowed-tools mcp__flywheel__rename_field, mcp__flywheel__migrate_field_values

Schema Migration

Rename frontmatter fields or transform values across multiple notes. All operations preview changes first (dry-run by default).

When to Use

Invoke when you want to:

  • Rename a field across all notes (e.g., author -> owner)
  • Transform field values (e.g., "high" -> 1)
  • Standardize inconsistent values
  • Migrate to a new schema

Arguments

Argument Required Description
operation Yes "rename" or "migrate"
field Yes Field to operate on
new_name For rename New field name
mapping For migrate Value transformations (e.g., {"high": 1, "low": 3})
folder No Limit to specific folder

Process

1. Parse User Input

Rename requests:

  • "rename 'author' to 'owner' in projects folder"
  • "change field name from status to state"

Migration requests:

  • "convert priority values: high=1, medium=2, low=3"
  • "transform status from strings to numbers"

2. Call MCP Tool

For rename:

mcp__flywheel__rename_field({
  old_name: "author",
  new_name: "owner",
  folder: "projects/",
  dry_run: true
})

For value migration:

mcp__flywheel__migrate_field_values({
  field: "priority",
  mapping: {"high": 1, "medium": 2, "low": 3},
  dry_run: true
})

3. Format Preview

## Field Migration Preview

### Renaming: author -> owner
Scope: projects/
Affected: 12 notes

| Note | Current Value | Action |
|------|---------------|--------|
| projects/Phoenix.md | [[Sarah Chen]] | Rename |
| projects/Beta.md | Marcus | CONFLICT |
| projects/Alpha.md | [[John Smith]] | Rename |
| ... | ... | ... |

### Conflicts (1)
- **projects/Beta.md** has both 'author' and 'owner' fields

### Options
1. Apply renames, skip conflicts
2. Apply renames, merge conflicts (combine values)
3. Cancel

**Choose option:**

4. Apply Changes (with confirmation)

After user confirms, run with dry_run: false.

Six Gates Compliance

Gate Implementation
1. Read Before Write dry_run=true by default
2. File Exists Validates all affected files
3. Chain Validation Preview -> Confirm -> Apply
4. Mutation Confirmation Always shows preview first
5. Health Check Uses MCP health infrastructure
6. Post Validation Reports success/failure counts

Use Cases

  • Schema evolution: "We decided to rename 'author' to 'owner'"
  • Value standardization: "Convert string priorities to numbers"
  • Cleanup: "Rename misspelled field 'stauts' to 'status'"
  • Migrations: "Prepare for new tool that expects different field names"

Integration

Works well with other skills:

  • vault-schema: See all field names before migrating
  • vault-schema-check: Find type inconsistencies to fix
  • schema-infer: Understand current conventions

Version: 1.0.0