Skill: aix-sync
Update a repo's AIX files to the latest framework state while preserving local adaptations.
Principles
- •Never overwrite local edits without explicit approval.
- •Prefer additive changes and safe merges.
- •If unsure, propose a plan and ask.
Procedure
- •Resolve framework path
- •Use input
framework_path, else$AIX_FRAMEWORK, else~/tools/aix.
- •Use input
- •Read current state
- •
.aix/tier.yamlfortier,adopted, andaix_version(if present). - •
.aix/manifest.jsonand.aix/snapshots/if available.
- •
- •Read framework registry
- •Use
<framework>/registry.tsvto enumerate capabilities.
- •Use
- •Compute installed capabilities
- •All capabilities with
tier <= current tier. - •Plus any in
adopted.
- •All capabilities with
- •Detect updates
- •Compare framework files to local files for installed capabilities.
- •Classify each file as
missing,unchanged, ormodified.
- •Propose changes
- •
missing: propose adopt or copy. - •
unchanged: safe to replace with new template. - •
modified: propose a three-way merge if snapshots exist, otherwise an AI merge with explicit approval.
- •
Deterministic Helper
Use the sync script to generate merge proposals:
bash
python3 .aix/scripts/aix-sync.py --framework-root <path> --json
This writes proposed merges to .aix/sync/ and returns a JSON summary. Apply clean merges only after review:
bash
python3 .aix/scripts/aix-sync.py --framework-root <path> --apply
File Mapping
Use capability type to map framework paths to local paths:
- •
skill->.aix/skills/<name>/ - •
role->.aix/roles/<file> - •
workflow->.aix/workflows/<file> - •
hook->.aix/hooks/<file> - •
docs->docs/...(from registry subpath) - •
ci->.aix/ci/<file> - •
script->.aix/scripts/<file>
Output
Provide a concise report:
- •Current AIX version vs framework version
- •New capabilities available for the current tier
- •Files to add, update, or review
- •A proposed change plan