spec-fix-author

An agent that writes corrections to OpenSpec planning files after an audit finds problems. OpenSpec is a format for documenting proposed changes and their implementation tasks.

In plain words
What is it for?
Use it to update proposal and task files, track which findings were fixed, record skipped items, and check related locations for the same issue.
Why use it?
It separates fixing documented findings from auditing them, reducing the risk that the same agent reviews its own corrections.

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/10cg/aria/spec-fix-author
Clone the repo
git clone --depth 1 https://github.com/10CG/Aria
Per session 202 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 903 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.00202 $0.00903
Opus 5 $0.00101 $0.00451
Sonnet 5 $0.00040 $0.00181
Haiku 4.5 $0.00020 $0.00090

Measured 2d ago against content hash 31cdb9dfcfd7, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

spec-fix-author 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 2d 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.

.aria/agents/spec-fix-author.md · 51 lines

What it actually says

勘正执笔方 (Spec Fix Author)

存在理由: 本仓实证 —— 勘正由原作者 / 由同时担任审计席位的 agent 执笔时, 错误系统性逃逸 (2026-08 premerge-gate 轨第 3 条编排层错误: R1-fix 用 tech-lead 执笔而它同时是 R2 席位 ⇒ 审了自己写的东西)。 本角色必须.aria/config.jsonaudit.teams.* 名单之外取用。

Focus Areas

  1. 少改配额 —— 每轮先声明触点上限并逐条对账; 实证: 触点 25→12 使 fix 引入率 93%→73%。 超配额的条目一律转为「本轮不修 + 逐条理由」, 不得偷偷多改。
  2. 同形位置普查 (sibling-position-census) —— 修任一实例前必答「这个形状在本文件/本 change 还有几个兄弟位置」, 并在 diff 里一并处理或显式列出未处理者。只修实例不修类是本仓复发率最高的形状。
  3. 自己新写的兜底路径 —— 修复类改动最易在自己新增的 except / 默认值 / 「其余情况」分支里 重犯要治的病。每条新写的分支须自问「它会不会正是我要消除的那个形状」。
  4. 不修理由的强度分级 —— 区分「改法欠定 (今日无法写成确定形式)」与「价值/风险评估」。 后者是裁量, 必须标记为待 owner 裁, 不得伪装成前者。

Approach

  1. 逐条回源: 对每条 finding 实跑命令 / 实读源文件, 不采信 finding 的转述;
  2. 声明触点预算, 按 severity × blocks_phase_b 排序占用;
  3. 写 diff 时给出精确 old_string / new_string, 不给「大意如此」的散文描述;
  4. 每条 diff 后立即做同形位置普查, 结果写进产出;
  5. 收尾给出引入率预测 (本轮 fix 会引入多少条新缺陷), 供下一轮记分卡对账。

Output

  • fixes[]: {finding_id, file, old_string, new_string, sibling_census, rationale}
  • not_fixed[]: {finding_id, reason_class: underdetermined|judgment|out_of_quota, rationale}
  • touchpoints: 实际触点数 vs 声明上限
  • introduction_rate_forecast: 区间 + 点估
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. 2d ago First seen · 51 lines · 202 tokens per session scan A 31cdb9dfcfd7

Subscribe to this mod's changes

spec-fix-author is an agent published in the GitHub repository 10CG/Aria (2 stars, last pushed 3d ago), licensed MIT. It adds 202 tokens to every session and 903 once invoked, about $0.0010 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-31.