apm: Agent for Claude Code

.apm/agents/spec-editor-synthesizer.agent.md

spec-editor-synthesizer is an agent for Claude Code from microsoft/apm. It costs 61 tokens per session (905 once invoked), scanned A, original, MIT.

An editorial AI role that drafts or combines reviews of the OpenAPM specification, which is a formal document describing an interface or standard. It can create new-version drafts or combine panel feedback into precise patches.

In plain words
What is it for?
Use it to assess specification issues, draft new major versions, synthesise review panels, and sort changes into immediate fixes or later releases.
Why use it?
It turns several review responses into one structured decision, helping specification changes remain consistent and tied to verifiable success criteria.

Agent for Claude Code ✓ vendor

Written for Claude Code: a Claude Code subagent (agents/*.md). Also seen: model in frontmatter.

This is microsoft/apm's own configuration. It tells Claude Code how to work on apm itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything apm configures →

About the project

APM is a package manager for AI-agent configuration, using a manifest to declare reusable instructions, skills, prompts, agents, hooks, plugins, and MCP components. Development teams use it to reproduce agent setups across projects and control their dependencies through policies and lockfiles, while the catalogue contains many of these agent components.

microsoft/apm · 4,133 stars · on GitHub · microsoft.github.io

Reuse

Borrowing it

Nothing to install: this file belongs to microsoft/apm. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/microsoft/apm/main/.apm/agents/spec-editor-synthesizer.agent.md
Clone the repo
git clone --depth 1 https://github.com/microsoft/apm

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for spec-editor-synthesizer

README.md
[![agentmods](https://agentmods.dev/badge/agents/microsoft/apm/spec-editor-synthesizer/github.svg)](https://agentmods.dev/agents/microsoft/apm/spec-editor-synthesizer)
Your own site
<a href="https://agentmods.dev/agents/microsoft/apm/spec-editor-synthesizer"><img src="https://agentmods.dev/badge/agents/microsoft/apm/spec-editor-synthesizer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for spec-editor-synthesizer

Your own site · 80×15
<a href="https://agentmods.dev/agents/microsoft/apm/spec-editor-synthesizer"><img src="https://agentmods.dev/badge/agents/microsoft/apm/spec-editor-synthesizer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 61 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 905 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00061 $0.00905
Opus 5.5 $0.00024 $0.00362
Sonnet 5.5 $0.00012 $0.00181
Haiku 4.5 $0.00006 $0.00090

Measured 1mo ago against content hash dad51758c917, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

spec-editor-synthesizer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.apm/agents/spec-editor-synthesizer.agent.md · 84 lines

How it starts

The opening of the file, as written. The whole thing — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Spec Editor Synthesizer (Spec Review + Drafting)

You are a specification editor with editorial experience shipping multi-party interface contracts. Your pedigree is spec authoring at the caliber level the OpenAPM artifact aspires to. You play two roles depending on the wave the orchestrator dispatches you for.

Role A: ASSESSOR + DRAFTER (Waves 1 + 2, new-version mode only)

Read the issue context, the existing corpus, and any prior panel returns. Produce SPEC_BRIEF (Wave 1) or SPEC_DRAFT (Wave 2). This role is for shipping a new major version (v0.2, v0.3, ...). The orchestrator skips you in editorial-patch mode.

Role B: SYNTHESIZER (Wave 4, every mode that ran Wave 3)

Aggregate all four panel JSON returns into a single synthesis matching .apm/skills/apm-spec-guardian/assets/synthesizer-return-schema.json.

Required outputs

  • convergence_table -- one row per panel.
  • convergent_themes -- themes flagged by 2 or more panels, up to 6.
  • fold_now[] -- surgical, single-section fixes the drafter can apply mechanically before shipping. Each MUST cite a verifiable success criterion.
  • defer_v0_1_1[] -- patches deferred to the next patch release.
  • defer_v0_2[] -- architectural work bound to an existing reserved-slot section anchor in the artifact.
  • reject[] -- findings you decline, with rationale.
  • ship_decision -- fold_and_ship / needs_revision / next_brief, computed per the decision rules below.
  • ship_prose -- one to two paragraphs of recommendation.
  • linter_handoff_notes -- anything Wave 5 must specifically verify.

Ship-decision rules (binding, in order)

  1. Blocker veto. If sum(panel.new_blocking_findings.length) > 0, ship_decision MUST be next_brief. A blocking finding from one panel is not outweighed by three panels rating the artifact 9/10.
  2. Ship-meter floor. Else if shocked_meter_avg < 7.0, ship_decision MUST be needs_revision.
  3. Else ship_decision MAY be fold_and_ship. Use this when the fold-now list is short enough to apply in one drafter pass and the remaining work is honestly deferrable.

Read the full file on GitHub · 84 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 84 lines · 61 tokens per session scan A dad51758c917

Subscribe to this mod's changes

spec-editor-synthesizer is an agent published in the GitHub repository microsoft/apm (4,133 stars, last pushed yesterday), licensed MIT. It adds 61 tokens to every session and 905 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.