From a4d9149e6218bfbaa804a1ddef91f74e21081333 Mon Sep 17 00:00:00 2001 From: Alex Verkhovsky Date: Fri, 6 Mar 2026 03:43:53 -0700 Subject: [PATCH] fix(installer): guard codex skill installs in nested directories --- .../installers/lib/ide/platform-codes.yaml | 1 + .../docs/native-skills-migration-checklist.md | 214 ++++++++++++++++++ 2 files changed, 215 insertions(+) create mode 100644 tools/docs/native-skills-migration-checklist.md diff --git a/tools/cli/installers/lib/ide/platform-codes.yaml b/tools/cli/installers/lib/ide/platform-codes.yaml index bb7cd2254..4a7b46412 100644 --- a/tools/cli/installers/lib/ide/platform-codes.yaml +++ b/tools/cli/installers/lib/ide/platform-codes.yaml @@ -65,6 +65,7 @@ platforms: target_dir: .agents/skills template_type: default skill_format: true + ancestor_conflict_check: true artifact_types: [agents, workflows, tasks] codebuddy: diff --git a/tools/docs/native-skills-migration-checklist.md b/tools/docs/native-skills-migration-checklist.md new file mode 100644 index 000000000..1c106b8d5 --- /dev/null +++ b/tools/docs/native-skills-migration-checklist.md @@ -0,0 +1,214 @@ +# Native Skills Migration Checklist + +Branch: `refactor/all-is-skills` + +Scope: migrate the BMAD-supported platforms that fully support the Agent Skills standard from legacy installer outputs to native skills output. + +Current branch status: +- `Claude Code` has already been moved to `.claude/skills` +- `Codex CLI` has already been moved to `.agents/skills` + +This checklist now includes those completed platforms plus the remaining full-support platforms. + +## Claude Code + +Support assumption: full Agent Skills support. BMAD has already migrated from `.claude/commands` to `.claude/skills`. + +- [ ] Confirm current implementation still matches Claude Code skills expectations +- [ ] Confirm legacy cleanup for `.claude/commands` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy command output +- [ ] Confirm ancestor conflict protection +- [ ] Implement/extend automated tests as needed +- [ ] Commit any follow-up fixes if required + +## Codex CLI + +Support assumption: full Agent Skills support. BMAD has already migrated from `.codex/prompts` to `.agents/skills`. + +- [ ] Confirm current implementation still matches Codex CLI skills expectations +- [ ] Confirm legacy cleanup for project and global `.codex/prompts` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy prompt output +- [x] Confirm ancestor conflict protection because Codex inherits parent-directory `.agents/skills` +- [ ] Implement/extend automated tests as needed +- [ ] Commit any follow-up fixes if required + +## Cursor + +Support assumption: full Agent Skills support. BMAD currently installs legacy command files to `.cursor/commands`; target should move to a native skills directory. + +- [ ] Confirm current Cursor skills path and whether BMAD should prefer `.cursor/skills` or `.agents/skills` +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.cursor/commands` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy command output +- [ ] Confirm ancestor conflict protection if Cursor inherits parent-directory skills +- [ ] Implement/extend automated tests +- [ ] Commit + +## Windsurf + +Support assumption: full Agent Skills support. BMAD currently installs workflow files to `.windsurf/workflows`; target should move to `.windsurf/skills`. + +- [ ] Confirm Windsurf native skills directory and inheritance behavior +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.windsurf/workflows` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy workflow output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## Cline + +Support assumption: full Agent Skills support. BMAD currently installs workflow files to `.clinerules/workflows`; target should move to the platform's native skills directory. + +- [ ] Confirm current Cline skills path and whether `.cline/skills` is the correct BMAD target +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.clinerules/workflows` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy workflow output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## Google Antigravity + +Support assumption: full Agent Skills support. BMAD currently installs workflows to `.agent/workflows`; target should move to `.agent/skills`. + +- [ ] Confirm Antigravity native skills path and project/global precedence +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.agent/workflows` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy workflow output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## Auggie + +Support assumption: full Agent Skills support. BMAD currently installs commands to `.augment/commands`; target should move to `.augment/skills`. + +- [ ] Confirm Auggie native skills path and whether it also reads `.claude/skills` or `.agents/skills` +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.augment/commands` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy command output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## CodeBuddy + +Support assumption: full Agent Skills support. BMAD currently installs commands to `.codebuddy/commands`; target should move to `.codebuddy/skills`. + +- [ ] Confirm CodeBuddy native skills path and any naming/frontmatter requirements +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.codebuddy/commands` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy command output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## Crush + +Support assumption: full Agent Skills support. BMAD currently installs commands to `.crush/commands`; target should move to the platform's native skills location. + +- [ ] Confirm Crush project-local versus global skills path and BMAD's preferred install target +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.crush/commands` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy command output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## Kiro + +Support assumption: full Agent Skills support. BMAD currently installs steering files to `.kiro/steering`; target should move to `.kiro/skills`. + +- [ ] Confirm Kiro skills path and verify BMAD should stop writing steering artifacts for this migration +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.kiro/steering` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy steering output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## OpenCode + +Support assumption: full Agent Skills support. BMAD currently splits output between `.opencode/agents` and `.opencode/commands`; target should consolidate to `.opencode/skills`. + +- [ ] Confirm OpenCode native skills path and whether `.claude/skills` or `.agents/skills` compatibility matters +- [ ] Implement installer migration from multi-target legacy output to single native skills target +- [ ] Add legacy cleanup for `.opencode/agents`, `.opencode/commands`, `.opencode/agent`, and `.opencode/command` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from split legacy output +- [ ] Confirm ancestor conflict protection if OpenCode inherits parent-directory skills +- [ ] Implement/extend automated tests +- [ ] Commit + +## Roo Code + +Support assumption: full Agent Skills support. BMAD currently installs commands to `.roo/commands`; target should move to `.roo/skills` or the correct mode-aware skill directories. + +- [ ] Confirm Roo native skills path and whether BMAD should use generic or mode-specific skill directories +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.roo/commands` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy command output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## Trae + +Support assumption: full Agent Skills support. BMAD currently installs rule files to `.trae/rules`; target should move to the platform's native skills directory. + +- [ ] Confirm Trae native skills path and whether the current `.trae/rules` path is still required for compatibility +- [ ] Implement installer migration to native skills output +- [ ] Add legacy cleanup for `.trae/rules` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy rules output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## GitHub Copilot + +Support assumption: full Agent Skills support. BMAD currently uses a custom installer that generates `.github/agents`, `.github/prompts`, and `.github/copilot-instructions.md`; target should move to `.github/skills`. + +- [ ] Confirm GitHub Copilot native skills path and whether `.github/agents` remains necessary as a compatibility layer +- [ ] Design the migration away from the custom prompt/agent installer model +- [ ] Implement native skills output, ideally with shared config-driven code where practical +- [ ] Add legacy cleanup for `.github/agents`, `.github/prompts`, and any BMAD-owned Copilot instruction file behavior that should be retired +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy custom installer output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## KiloCoder + +Support assumption: full Agent Skills support. BMAD currently uses a custom installer that writes `.kilocodemodes` and `.kilocode/workflows`; target should move to native skills output. + +- [ ] Confirm KiloCoder native skills path and whether `.kilocodemodes` should be removed entirely or retained temporarily for compatibility +- [ ] Design the migration away from modes plus workflow markdown +- [ ] Implement native skills output +- [ ] Add legacy cleanup for `.kilocode/workflows` and BMAD-owned entries in `.kilocodemodes` +- [ ] Test fresh install +- [ ] Test reinstall/upgrade from legacy custom installer output +- [ ] Confirm ancestor conflict protection where applicable +- [ ] Implement/extend automated tests +- [ ] Commit + +## Summary Gates + +- [ ] All full-support BMAD platforms install `SKILL.md` directory-based output +- [ ] No full-support platform still emits BMAD command/workflow/rule files as its primary install format +- [ ] Legacy cleanup paths are defined for every migrated platform +- [ ] Automated coverage exists for config-driven and custom-installer migrations +- [ ] Installer docs and migration notes updated after code changes land