name: om-fix-specs
description: Normalize spec filenames in .ai/specs and .ai/specs/enterprise to the date+slug convention. Use this when legacy SPEC-* / SPEC-ENT-* names need to be cleaned up, when filename collisions appear after dropping numeric prefixes, or when links must be updated after normalization.
Fix Specs
Normalize legacy spec filenames to the date+slug convention with minimal churn.
When to use
- Legacy specs still use
SPEC-*orSPEC-ENT-*filename prefixes. - Two specs would collide after removing the numeric prefix.
- Links now point to the wrong filename after normalization.
Rules
- New canonical filenames are
{YYYY-MM-DD}-{slug}.mdfor both OSS and enterprise specs. - Remove legacy
SPEC-*/SPEC-ENT-*filename prefixes instead of inventing replacement numbers. - If two files would normalize to the same target, keep the older filename target and make the newer slug more specific.
- Update filename references and links everywhere in the repo.
- Preserve document history inside the file content when useful, but filenames MUST follow the date+slug format.
Workflow
- Run a dry run first:
python3 .ai/skills/om-fix-specs/scripts/fix_spec_conflicts.py --dry-run - Review planned renames and file updates.
- Apply changes:
python3 .ai/skills/om-fix-specs/scripts/fix_spec_conflicts.py --apply - Verify no conflicts remain:
python3 .ai/skills/om-fix-specs/scripts/fix_spec_conflicts.py --dry-run
Notes
- The script scans both
.ai/specsandai/specsroots if present. - Enterprise typos are tolerated (
enterpriseandenterpirse). - Conflict resolution drops legacy numeric prefixes first, then adds a slug suffix only when two files would land on the same target filename.
- Files without an embedded
YYYY-MM-DDsegment are skipped by the script and must be normalized manually. - Review in-file titles manually after normalization if you also want to remove legacy
SPEC-*labels from headings.