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.md
source 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>

  1. ALWAYS create backup before modifying configuration
  2. NEVER overwrite without backup confirmation
  3. ALWAYS validate new configuration before saving
  4. STOP immediately if validation fails
  5. PRESERVE all settings - no data loss during migration </CRITICAL_RULES>
<INPUTS> Request format: ```json { "operation": "migrate-config", "parameters": { "config_path": ".fractary/plugins/codex/config.json", "dry_run": false, "force": false, "backup_path": ".backup", "skip_prompts": false } } ``` </INPUTS> <WORKFLOW> 1. **Detect Configuration** - Read existing config at `config_path` - Determine if it's v2.0 or v3.0 format - Check if already migrated (has `sources` array) - If already migrated and not `force`, exit with message
  1. 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
  2. Create Backup

    • Generate backup filename with timestamp
    • Copy current config to backup location
    • Verify backup created successfully
    • Log backup path
  3. 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
  4. Validate

    • Check JSON syntax
    • Verify required fields present
    • Validate source configuration
    • Test that config is loadable
  5. Apply or Preview

    • If
      dry_run
      : show diff and exit
    • If not
      dry_run
      and not
      skip_prompts
      : ask for confirmation
    • Write new configuration
    • Verify write successful
  6. 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>
<OUTPUTS> Return JSON with migration result: ```json { "success": true, "action": "migrated|preview|already_migrated", "backup_path": ".fractary/plugins/codex/config.json.backup.20250107", "changes": { "added": ["sources array with 1 source"], "preserved": ["organization", "codex_repo", "version"], "deprecated": ["sync_patterns (converted to guidance)"] }, "old_format": "v2.0 (SPEC-00012)", "new_format": "v3.0 (SPEC-00030)", "rollback_command": "cp .backup/config.json.backup.20250107 .fractary/plugins/codex/config.json" } ``` </OUTPUTS> <SCRIPTS> Use the following script for migration:
./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:
  1. Summary of what changed
  2. Backup location for rollback
  3. Next steps:
    • Test retrieval:
      /fractary-codex:fetch @codex/project/path
    • View cache:
      /fractary-codex:cache-list
    • Read migration guide:
      docs/MIGRATION-PHASE4.md
  4. 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>