| name | migrate-subfeatures |
| description | Migrates legacy feature-local change packets into durable subfeatures for repositories that still use the old changes/ layout. |
Migrate Subfeatures
Use this skill when a repository still contains legacy planning artifacts from
the old change-based workflow and those artifacts need to be converted into the
current durable subfeatures/ model.
Responsibilities
- Resolve one feature or the full planning tree.
- Detect legacy
changes/<change-id>/ packets.
- Convert legacy
.feature-change-meta.json into .subfeature-meta.json.
- Create migrated subfeature folders whose lifecycle is stored in
.subfeature-meta.json.
- Rebuild feature-local subfeature registries and resync the planning registry.
Preferred Input
- a feature slug, folder name, or path when migrating one feature
- or
--all for a repo-wide migration
- optional
--dry-run before modifying planning files
Required Output
- migrated subfeatures under
docs/features/<feature>/subfeatures/<subfeature-id>/
- rebuilt
subfeatures/README.md and subfeatures/registry.json
- refreshed top-level planning registry via
guide-planning
- a JSON migration report listing candidates, migrations, and blockers
Workflow
- Run
scan to inspect legacy changes/ packets and detect blockers.
- Run
migrate --dry-run to preview target paths and metadata mapping.
- Run
migrate for one feature or --all for the whole planning tree.
- Review the JSON report for migrated items and any conflicts left behind.
Tooling
sirius migrate-subfeatures scan "checkout"
sirius migrate-subfeatures scan --all
sirius migrate-subfeatures migrate \
"checkout" \
--dry-run
sirius migrate-subfeatures migrate --all
Guardrails
- Do not overwrite an existing target subfeature folder.
- Do not rewrite discovery, design, or breakdown contents beyond structural
migration needs.
- Do not use this skill for net-new feature planning; use
guide-planning and
add-subfeature for those.
- Prefer
--dry-run before repo-wide migration.