Skip to content

[FEATURE] Extend per-dependency subsetting to agents (parallel to skills:) #2491

Description

@normandev92

Problem

Installed richlander/dotnet-inspect with a skill subset:

apm install richlander/dotnet-inspect --skill dotnet-inspect --skill compatibility --skill signals --force

The three skills deployed as asked -- but the package's four agents (burndown-curator, burndown-discovery, burndown-runner, ladder-tester) all deployed too, translated into every target dialect: 12 files across .claude/agents/, .github/agents/, and .codex/agents/. Those agents are the upstream repo's own development workflow (issue burndown bots, a test-ladder runner) and mean nothing to a consumer of the package.

Looking at models/dependency/subsets.py, only a skills: subset exists -- there is no agents: equivalent, so a package's agents are all-or-nothing. #1894 asks for the same thing for hooks; this is the agents leg of that family.

Deleting the files by hand works for one commit, but every subsequent apm install re-deploys them, and the audit's deployed-files tracking then disagrees with the working tree.

Proposal

Support an agents: list in the object-form dependency (and a repeatable --agent flag), mirroring the skills: semantics: subset persisted in apm.yml and apm.lock.yaml, deterministic on bare installs, empty list invalid, absence means all. Same shape would presumably extend to prompts and hooks (#1894) so consumers can take exactly the primitives they want from a package.

Environment

  • apm 0.27.0 (winget, Windows 11)
  • Package: richlander/dotnet-inspect (plugin package with skills + agents)

Disclosure: this report was drafted with AI assistance; the install behavior and code reference were verified on the environment described.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/cliCLI command surface, flags, help text (cross-cutting).area/lockfileLockfile schema, per-file provenance, integrity hashes, drift detection.priority/highShips in current or next milestonestatus/acceptedDirection approved, safe to start work.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).type/featureNew capability, new flag, new primitive.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions