Skip to content

feat: Skill/package discovery from APM and automated update checking #130

@digitarald

Description

@digitarald

Problem

AgentRC generates repo-specific instructions and skills. APM distributes reusable agent packages. But there's no discovery layer connecting the two: a user running agentrc init on a TypeScript repo has no way to know that a curated typescript-conventions instruction package exists on APM, and installed packages have no mechanism to receive updates when upstream content improves.

This gap means:

  • Teams duplicate effort creating instructions that already exist as shared packages
  • Installed packages go stale as best practices evolve
  • There's no feedback loop from AgentRC's analysis to APM's package ecosystem

Proposal

1. Skill/package discovery during init and instructions

When agentrc init or agentrc instructions runs, and APM is available:

agentrc init

Analyzing repository...
  Language: TypeScript (98%), Framework: React, Test: Vitest

📦 Recommended APM packages for this repo:
  microsoft/typescript-conventions    — TypeScript coding standards & patterns
  microsoft/react-best-practices      — React component & hook guidelines
  microsoft/vitest-testing            — Vitest testing patterns

Install recommended packages? [y/N]

Implementation:

  • After agentrc analyze, map detected languages/frameworks/tools to APM package tags
  • Query APM registry (or a curated mapping file) for matching packages
  • Present recommendations with descriptions
  • If user accepts, delegate to apm install <package>

2. Update checking

Add an agentrc update command (or integrate into agentrc readiness):

agentrc update --check

Installed APM packages:
  microsoft/typescript-conventions  v1.2.0 → v1.3.0 (update available)
  microsoft/react-best-practices   v2.0.1 (up to date)

Run `apm update` to update all packages.

This reads the local APM manifest (apm.yml / apm-lock.yml) and checks for newer versions.

3. Readiness criterion for package freshness

Add a readiness criterion under the AI tooling pillar:

Criterion ID What it checks Impact
apm-packages-current All installed APM packages are on latest version Medium
apm-recommended-installed Recommended packages for detected stack are installed Low

4. Curated package mapping

Maintain a mapping file (in AgentRC or shared):

{
  "typescript": ["microsoft/typescript-conventions"],
  "react": ["microsoft/react-best-practices"],
  "python": ["microsoft/python-standards"],
  "rust": ["microsoft/rust-conventions"]
}

This can start as a static file and evolve into an API or registry query.

Design considerations

  • APM is optional — discovery features degrade gracefully when APM isn't installed (just skip recommendations)
  • No auto-install — always prompt the user; --yes skips APM suggestions entirely (consistent with init bridge in PR feat(init): bridge to APM during init for cross-team distribution #94)
  • Subprocess boundary — AgentRC calls apm CLI commands, doesn't import APM's Python internals
  • Registry vs. static mapping — start with a static mapping file, evolve to registry queries as the APM ecosystem grows

Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions