spec-editor-synthesizer

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

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/microsoft/apm/spec-editor-synthesizer
Clone the repo
git clone --depth 1 https://github.com/microsoft/apm
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. Scan, not verified.
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 $0.00061 $0.00905
Opus 5 $0.00030 $0.00452
Sonnet 5 $0.00012 $0.00181
Haiku 4.5 $0.00006 $0.00090

Measured 3d ago against content hash dad51758c917, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, 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 3d 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. 3d 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 (3,687 stars, last pushed yesterday), licensed MIT. It adds 61 tokens to every session and 905 once invoked, about $0.0003 per session on Opus 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.