apmdocs

How the Registry Works

Registry architecture — GitHub sync, auto-indexing, and namespace management

Overview

The APM registry is the central hub for discovering and distributing agent skills.

  • Published tier (live) — Authors sync skills from GitHub repos through their dashboard. Packages are hosted by the registry with auto-sync webhooks for instant updates on push.
  • Indexed tier (coming soon) — APM will index public GitHub repos containing valid SKILL.md files automatically.

All packages are searchable on apm.orthg.nl and installable via apm install @scope/name.

Scoped names

All packages use scoped names in the format @scope/name:

  • Published packages — the scope matches the author's organization namespace (e.g. @myorg/code-review)
  • Indexed packages — the scope is derived from the GitHub repo owner (e.g. @anthropics/code-review)

Scopes prevent naming collisions. Multiple authors can publish a code-review skill without conflict.

Published tier

The recommended way to publish. Authors sign in with GitHub, create an organization, and sync skills from their repos.

How it works

  1. Author signs up and creates an organization with a namespace
  2. From the namespace page, they connect a GitHub repository
  3. APM scans the repo tree for SKILL.md files
  4. Author selects which skills to import
  5. APM fetches, validates, and publishes each skill
  6. Optional: enable auto-sync webhook for push-to-publish

Auto-sync

When enabled, a GitHub webhook fires on every push to the repo's default branch. APM checks which SKILL.md files changed (using blob SHA comparison) and only re-processes modified files. No manual action needed — push and it's live.

Namespace management

Organizations can have up to 5 namespaces (1 for unverified orgs). Additional namespaces let a single org publish under multiple scopes — for example, Microsoft might publish under @azure, @vscode, and @typescript.

Indexed tier (coming soon)

The indexed tier will automatically index every public GitHub repository with a valid SKILL.md file, no opt-in required. This solves the cold-start problem by populating the registry without requiring authors to sign up.

When active, the indexer will:

  1. Search GitHub for files named SKILL.md
  2. Skip repos with a .apm-exclude marker file
  3. Fetch and validate each SKILL.md against the specification
  4. Set the scope to the lowercase GitHub repo owner

Until the indexer is active, authors can publish skills using GitHub Sync from their dashboard.

Organizations

Organizations are the publisher identity in APM. They own namespaces, which own packages.

Organization (e.g. "Orthogonal")
  └── Namespace (e.g. @apm)
        ├── @apm/init
        ├── @apm/install
        └── @apm/search

Roles

RolePermissions
OwnerFull control — manage members, namespaces, org settings, delete org
AdminManage namespaces, publish packages, invite members
MemberView org details

Verified badge

The verified badge is a trust signal granted by APM administrators. It indicates that the organization has been reviewed and is a trusted publisher. Reserved namespaces (e.g. @anthropic, @google) are automatically verified when claimed through the admin approval process.

The registry provides full-text search powered by PostgreSQL. Search covers scopes, package names, and descriptions.

On the web: Use the search bar at apm.orthg.nl

From the CLI:

apm search "code review"

From the API:

curl "https://apm.orthg.nl/api/search?q=code+review"

Opting out

If your public repo has a SKILL.md but you'd rather not be indexed, see Opting Out.

On this page