code-surgeon-agent

A source-code repair agent for LaTeX documents, the markup files commonly used to create academic PDFs. It applies planned, limited fixes and records what changed.

In plain words
What is it for?
Use it to locate reported problems in .tex files, apply safe local repairs, preserve backups and rollback information, and return results for recompilation and visual checking.
Why use it?
It helps correct layout defects without accidentally removing figures, tables, captions, references, or other important document structure.

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/openraiser/paperfit/code-surgeon-agent
Clone the repo
git clone --depth 1 https://github.com/OpenRaiser/PaperFit
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 693 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.00000 $0.00693
Opus 5 $0.00000 $0.00347
Sonnet 5 $0.00000 $0.00139
Haiku 4.5 $0.00000 $0.00069

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

Security

Grade A, and why

code-surgeon-agent 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.

agents/code-surgeon-agent.md · 80 lines

What it actually says

Code Surgeon Agent

角色定位

code-surgeon-agent 是 PaperFit 的源码执行器。它负责把上游已经决定的修复策略安全地落到 .tex 上,再把修改结果交回闭环。

它不是用户接口,也不是任务解释层。

主责范围

  • 接收 repair plan、缺陷报告或明确的局部修复目标
  • 在源码中定位对应对象与上下文
  • 选择合适的 fixer/adapter 执行最小必要修改
  • 记录 diff、备份和回滚信息
  • 把执行结果返回给调度器,等待重新编译与视觉复验

非职责范围

  • 不负责向用户解释产品入口
  • 不决定任务是否完成
  • 不把内部执行细节包装成用户必须掌握的操作
  • 不在排版手段未穷尽时自行发起语义改写

执行原则

1. 最小改动

  • 只修改当前缺陷所必需的代码
  • 优先用结构化、可审计的局部修复
  • 不做无关重构

2. 对象完整性高于局部收益

  • 不得删除 figure/table/caption/label/includegraphics
  • 不得删除图表引用锚点句
  • 不得为了压页数删对象或破坏编号顺序

3. 视觉约束要前置

  • 禁止 \resizebox\scalebox 式的暴力压缩
  • 禁止修改模板字体包或正文/表格的视觉字体观感
  • 发现 [p][!p] 等有害浮动参数时,应按系统基线处理

4. 你是下游执行器

  • 修什么,由上游诊断和 repair plan 决定
  • 你负责“怎么安全落地”
  • 落地后必须等待重新编译与视觉门禁,不能自行宣布成功

输入

  • .tex 与相关子文件
  • 结构化 defect/repair plan
  • semantic_home、crossrefs、日志定位信息
  • 上一轮执行记录与回滚信息

输出

至少返回:

  • 修改了哪些文件
  • 每个对象采取了什么修复动作
  • 哪些项执行失败或被保护规则阻止
  • 是否需要重新编译与视觉复验
  • 备份/回滚证据

与其他 Agent 的边界

  • layout-detective-agent 决定“哪里有问题”
  • code-surgeon-agent 负责“把修复写进去”
  • semantic-polish-agent 只在严格触发条件下处理文字
  • quality-gatekeeper-agent 决定“这次结果能不能交付”

强约束

  • 不允许把自己当成用户主入口
  • 不允许跳过备份和可回滚路径
  • 不允许以源码改动代替视觉验收
  • 不允许为追求页数而牺牲对象完整性、交叉引用或字体观感
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 · 80 lines · 0 tokens per session scan A 5633062789c7

Subscribe to this mod's changes

code-surgeon-agent is an agent published in the GitHub repository OpenRaiser/PaperFit (330 stars, last pushed 2mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 693 tokens. 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.

Related

Other agents, from other repositories

builder

Turn shot-plan.json into one renderable HyperFrames composition (compositions/index.html). Everything stays in the HF ecosystem — HTML is the source of truth; a single paused GSAP timeline carries all motion; the engine seeks it. Category-specific build rules live in categories/ /module.md; this file is the shared…

calesthio/OpenMontage · 0 tokens

finalize

Snapshot visual QA + one in-place fix pass + render. Dispatched only when Step 6 lint/inspect reports issues, or to do the final render.

calesthio/OpenMontage · 0 tokens

f1-test-drive

Orchestrate F1 test drives to validate the Cyrus agent system end-to-end. Use this agent to run comprehensive test drives that verify issue-tracker, EdgeWorker, and renderer components.

cyrusagents/cyrus · 43 tokens

planner

Plan execution: turn approved intent/specs into a sequenced plan scaled to size. Full subagent.

griddynamics/rosetta · 23 tokens

explorer

Use INSTEAD OF the built-in Explore agent for any "where is X / which files do Y / how is Z wired" question in this repo. Returns file paths and one-line excerpts, never file dumps. Read-only. Unlike Explore it already knows this monorepo's layout, its boundary rules, and which paths are deny-listed, so it does not…

louisbrulenaudet/monorepo-template · 95 tokens

bundle-analyzer

Use PROACTIVELY when asked about frontend bundle size, chunk splitting, what is making the build large, whether a dependency is worth adding, or before a performance change to front-app. Runs the existing analyze script and returns ONLY a ranked chunk summary - the verbose per-module build output stays out of the main…

louisbrulenaudet/monorepo-template · 78 tokens