返回 Skill 列表
extension
分类: 开发与工程无需 API Key

config-migrator

将codex配置文件从基于推送的v2.0同步迁移到基于拉取的v3.0检索格式,并自动备份

person作者: jakexiaohubgithub

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>