[BUG] --skill filter not persisted to apm.yml during install (regression since v0.11.0)
Description
apm install <repo> --skill <name> no longer persists the --skill filter to apm.yml from v0.11.0 onwards. The dependency is recorded as a bare repo reference without the skills: subset. Since the integration step reads the subset from apm.yml, all skills in the package are deployed instead of the specified subset.
Important: if apm.yml already contains a correct skills: subset (e.g. written by v0.10.0), the integration step in all versions correctly filters and deploys only those skills. The bug is specifically in persisting --skill flags to apm.yml during initial install.
Steps to Reproduce
# Clean slate — no existing apm.yml
rm -rf apm.yml apm.lock.yaml apm_modules .claude/skills
# Install with --skill filter (repo has 8 skills, requesting 3)
apm install git@bitbucket.org:example/skills-repo.git \
--skill skill-a --skill skill-b --skill skill-c
Expected Behavior (v0.10.0 — works correctly)
apm.yml records the skill subset:
dependencies:
apm:
- git: bitbucket.org/example/skills-repo
skills:
- skill-a
- skill-b
- skill-c
Only 3 skills deployed:
|-- 3 skill(s) integrated -> .claude/skills/
[*] Persisted skill subset for example/skills-repo: [skill-a, skill-b, skill-c]
Actual Behavior (v0.11.0 through v0.14.0)
apm.yml records bare repo reference — skills: subset is lost:
dependencies:
apm:
- bitbucket.org/example/skills-repo
All 8 skills deployed:
|-- Skill integrated -> .claude/skills/
|-- 8 skill(s) integrated -> .claude/skills/
Workaround
Manually edit apm.yml to add the skills: subset, then re-run apm install. The integration step respects the subset when present in the manifest.
Bisect
| Version |
--skill → apm.yml |
Integration from apm.yml skills: |
| v0.10.0 |
✅ Persisted |
✅ Filters correctly |
| v0.11.0 |
❌ Lost |
✅ Filters correctly |
| v0.12.0 |
❌ Lost |
✅ Filters correctly |
| v0.13.0 |
❌ Lost |
✅ Filters correctly |
| v0.14.0 |
❌ Lost |
✅ Filters correctly |
Regression introduced in v0.11.0.
Environment
- APM version: tested on v0.10.0, v0.11.0, v0.13.0, v0.14.0
- OS: macOS (Darwin arm64)
- Target: Claude Code (auto-detected from
.claude/, CLAUDE.md)
- Source: Bitbucket private repo via SSH
[BUG]
--skillfilter not persisted toapm.ymlduring install (regression since v0.11.0)Description
apm install <repo> --skill <name>no longer persists the--skillfilter toapm.ymlfrom v0.11.0 onwards. The dependency is recorded as a bare repo reference without theskills:subset. Since the integration step reads the subset fromapm.yml, all skills in the package are deployed instead of the specified subset.Important: if
apm.ymlalready contains a correctskills:subset (e.g. written by v0.10.0), the integration step in all versions correctly filters and deploys only those skills. The bug is specifically in persisting--skillflags toapm.ymlduring initial install.Steps to Reproduce
Expected Behavior (v0.10.0 — works correctly)
apm.ymlrecords the skill subset:Only 3 skills deployed:
Actual Behavior (v0.11.0 through v0.14.0)
apm.ymlrecords bare repo reference —skills:subset is lost:All 8 skills deployed:
Workaround
Manually edit
apm.ymlto add theskills:subset, then re-runapm install. The integration step respects the subset when present in the manifest.Bisect
--skill→apm.ymlapm.ymlskills:Regression introduced in v0.11.0.
Environment
.claude/,CLAUDE.md)