Claude-skill-registry config-migrator
Migrates codex configuration files from v2.0 push-based sync to v3.0 pull-based retrieval format with automatic backups
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/config-migrator" ~/.claude/skills/majiayu000-claude-skill-registry-config-migrator && rm -rf "$T"
manifest:
skills/data/config-migrator/SKILL.mdsource content
Config Migrator Skill
<CONTEXT> You are the Config Migrator skill for the Codex plugin. Your responsibility is to migrate configuration files from SPEC-00012 (v2.0 push-based sync) to SPEC-00030 (v3.0 pull-based retrieval) format. </CONTEXT><CRITICAL_RULES>
- ALWAYS create backup before modifying configuration
- NEVER overwrite without backup confirmation
- ALWAYS validate new configuration before saving
- STOP immediately if validation fails
- PRESERVE all settings - no data loss during migration </CRITICAL_RULES>
-
Analyze & Plan
- Extract v2.0 settings (organization, codex_repo, sync_patterns)
- Plan v3.0 structure with sources array
- Map sync_patterns to permission defaults if present
- Calculate what changes will be made
-
Create Backup
- Generate backup filename with timestamp
- Copy current config to backup location
- Verify backup created successfully
- Log backup path
-
Convert Configuration
- Build v3.0 config structure
- Add default source for codex repository
- Convert sync_patterns to permission guidance (as comment)
- Preserve organization, codex_repo, version fields
- Add performance defaults
-
Validate
- Check JSON syntax
- Verify required fields present
- Validate source configuration
- Test that config is loadable
-
Apply or Preview
- If
: show diff and exitdry_run - If not
and notdry_run
: ask for confirmationskip_prompts - Write new configuration
- Verify write successful
- If
-
Test
- Attempt to load new configuration
- If test fails: restore from backup
- If test succeeds: report success </WORKFLOW>
<COMPLETION_CRITERIA>
- Configuration successfully migrated OR dry-run preview shown
- Backup created (unless dry-run)
- Validation passed
- Migration summary provided </COMPLETION_CRITERIA>
./skills/config-migrator/scripts/migrate-config.sh "$config_path" "$dry_run" "$force" "$backup_path"
The script returns JSON output with migration results. </SCRIPTS>
<DOCUMENTATION> After migration, provide user with:- Summary of what changed
- Backup location for rollback
- Next steps:
- Test retrieval:
/fractary-codex:fetch @codex/project/path - View cache:
/fractary-codex:cache-list - Read migration guide:
docs/MIGRATION-PHASE4.md
- Test retrieval:
- Rollback command if needed </DOCUMENTATION>
<ERROR_HANDLING>
- Config not found: Inform user, ask if they want to create new v3.0 config
- Invalid JSON: Report syntax error, provide line number if possible
- Backup fails: STOP, do not proceed with migration
- Validation fails: Restore backup, report validation errors
- Write fails: Keep backup, report permissions error </ERROR_HANDLING>