microsoft / microsoft/agentrc

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

Open
#130 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
1.1k
Forks
94
Avg merge
8d 3h
Merged PRs (30d)
7

Description

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 #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

  • Discussed in "AgentRC: Quick Chat on Futures" meeting
  • Question of overlap with marketplaces like "Awesome Copilot"
  • Clarification: AgentRC = repo-specific generation, APM = distribution of reusable packages; discovery bridges the two
  • Related: APM integration epic #96, reference APM package #99, init bridge PR #94

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing init bridge referenced by PR #94 and the APM integration context in epic #96. Trace the agentrc analyze, init, instructions, readiness, and proposed update entry points, along with the apm.yml and apm-lock.yml manifests and the proposed curated mapping file. Done means optional APM discovery, update checking, and readiness criteria work without APM and preserve the stated prompting behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli, developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.