Skip to content

[FEATURE] Support .agents/skills as an apm install target for shared skill deployment #737

@adampoit

Description

@adampoit

Problem

There is no way to use apm install to deploy skills into .agents/skills/. Users who want a single shared skill directory for clients that support the Agent Skills convention must either duplicate identical skills across client-specific directories (.github/skills/, .claude/skills/, .cursor/skills/, .opencode/skills/) or bypass APM and manage .agents/skills/ manually.

The name agents is already taken as a --target value, but it silently aliases to copilot and deploys to .github/skills/, not .agents/skills/. The CLI help text for apm compile calls it a "deprecated alias for copilot", but the code emits no deprecation warning -- a user passing --target agents gets .github/ output with no indication that anything unexpected happened. Internally, the normalization is also inconsistent: targets.py resolves agents to "copilot" while target_detection.py resolves it to "vscode" (both produce .github/ output, but the disagreement matches the doc drift flagged below).

Multiple bot CLI Consistency Reports have flagged the resulting confusion:

  • #627 -- docs list agents without noting its deprecation; the CLI says 'vscode' and 'agents' are deprecated aliases for 'copilot' while docs say 'agents' is an alias for 'vscode', inverting the alias direction
  • #640 -- recommends updating docs to clarify that copilot is the canonical target and both vscode and agents are deprecated aliases
  • #664 -- reports that the deprecation notice for agents is inconsistently applied across commands: apm compile notes both vscode and agents as deprecated, apm pack notes only vscode, and apm install/apm deps update note neither

Broad support for .agents/skills/

.agents/skills/ is already documented as a supported project skill location by most major clients that APM targets:

The Agent Skills specification and integration guidance explicitly recommend scanning .agents/skills/ for cross-client interoperability:

The integration guide states:

The .agents/skills/ paths have emerged as a widely-adopted convention for cross-client skill sharing. [...] scanning .agents/skills/ means skills installed by other compliant clients are automatically visible to yours, and vice versa.

Proposed solution

Support one of the following:

  1. Make apm install --target agents deploy skills to .agents/skills/ (repurposing the silent alias)
  2. Add a new explicit install target for shared Agent Skills deployment
  3. Add a remapping option so users can choose .agents/skills/ as the install destination for compatible clients

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageNew issue, not yet reviewed by maintainers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions