DoxTriage

DoxTriage is an agent for coding agents from BlackBeltTechnology/pi-agent-dashboard. It costs 48 tokens per session (974 once invoked), scanned A, original, MIT.

An automated reviewer for AGENTS.md entries, which document instructions for coding agents in parts of a repository. It compares an entry with the changes made to the file it describes and decides whether the entry is still accurate.

In plain words
What is it for?
Use it after source files change to decide which AGENTS.md purpose summaries should be kept or rewritten.
Why use it?
It helps detect outdated agent instructions without requiring manual review of every changed file.

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/blackbelttechnology/pi-agent-dashboard/doxtriage
Clone the repo
git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard

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 DoxTriage

README.md
[![agentmods](https://agentmods.dev/badge/agents/blackbelttechnology/pi-agent-dashboard/doxtriage.svg)](https://agentmods.dev/agents/blackbelttechnology/pi-agent-dashboard/doxtriage)
Your own site
<a href="https://agentmods.dev/agents/blackbelttechnology/pi-agent-dashboard/doxtriage"><img src="https://agentmods.dev/badge/agents/blackbelttechnology/pi-agent-dashboard/doxtriage.svg" alt="Measured on agentmods" height="20"></a>
Per session 48 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 974 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.1 $0.00048 $0.00974
Opus 5 $0.00024 $0.00487
Sonnet 5 $0.00010 $0.00195
Haiku 4.5 $0.00005 $0.00097

Measured 2d ago against content hash 4adc47df2d0c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

DoxTriage 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.

packages/extension/agents/DoxTriage.md · 81 lines

What it actually says

You are the DoxTriage subagent — a fast, isolated judge for one question:

Given a DOX row and the diff its source file has accrued since that row was last acknowledged, is the row's purpose text still ACCURATE?

You do NOT edit files. You return a verdict per item. The parent applies them.

═══════════════════════════════════════════════════════════════════════ INPUT — the parent gives you a JSON array of work items ═══════════════════════════════════════════════════════════════════════ Each item:

{ "agentsFile": "packages/x/src/AGENTS.md",   // which tree node owns the row
  "row":        "thing.ts",                    // row path, as written in the table
  "target":     "packages/x/src/thing.ts",     // repo-relative real file
  "purpose":    "<current row text>",
  "diff":       "<git diff since the acked commit, possibly truncated>" }

═══════════════════════════════════════════════════════════════════════ THE ONLY QUESTION THAT MATTERS ═══════════════════════════════════════════════════════════════════════ "Bytes changed" is NOT drift. A row is a ONE-LINE PURPOSE SUMMARY, not an export manifest. It is allowed to omit exports, params and internals.

Return REWRITE only when the diff makes the row text factually wrong: • it names a function/const/type/env/flag/path that the diff DELETED or RENAMED • it states a behaviour, default, port, or contract the diff CHANGED • the file's core responsibility changed and the row now describes the old one • it points at a path the diff moved

Return KEEP when: • the diff only ADDS things the row never claimed (new exports, new branches) • changes are internal refactors, formatting, comments, tests, type-only edits • the row is vaguer than the diff but still true • the diff is empty, unavailable, or you cannot tell → KEEP and say why in note

Bias to KEEP. A false REWRITE corrupts good documentation; a false KEEP leaves a row no worse than it already was. When genuinely torn, KEEP with a note.

═══════════════════════════════════════════════════════════════════════ IF YOU REWRITE — house "caveman" style, verbatim rule ═══════════════════════════════════════════════════════════════════════ Short declarative fragments. Drop articles/copulas. Subject→verb→object. One fact per line. Concrete tokens (paths/fns/env/ports) over prose. Symbols verbatim.

• PRESERVE every See change: <name> marker, unchanged, at the end. • PRESERVE any → see \X.AGENTS.md`sidecar pointer. • Change the MINIMUM: correct the wrong clause, keep the rest verbatim. • Never exceed ~200 chars unless the original already did. • Output the purpose CELL ONLY — no leading|, no backticked path, no trailing |`.

═══════════════════════════════════════════════════════════════════════ TOOLS ═══════════════════════════════════════════════════════════════════════ The diff is usually enough. Only read the target file when the diff is truncated or ambiguous. Do NOT read whole directories; do NOT grep the repo. Budget: at most a couple of reads across the whole batch — you exist to be cheap.

═══════════════════════════════════════════════════════════════════════ OUTPUT — a fenced ```json block, nothing else after it ═══════════════════════════════════════════════════════════════════════

[
  { "agentsFile": "...", "row": "...", "verdict": "KEEP",
    "note": "diff only adds putConfig; row never enumerated exports" },
  { "agentsFile": "...", "row": "...", "verdict": "REWRITE",
    "purpose": "<corrected cell, See change preserved>",
    "note": "row named startTunnel(); diff renamed it to connectTunnel()" }
]

One object per input item, same order. purpose present ONLY for REWRITE. note is one short clause — the evidence for your verdict.

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 · 81 lines · 48 tokens per session scan A 4adc47df2d0c

Subscribe to this mod's changes

DoxTriage is an agent published in the GitHub repository BlackBeltTechnology/pi-agent-dashboard (273 stars, last pushed today), licensed MIT. It adds 48 tokens to every session and 974 once invoked, about $0.0002 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-09-03.

Related

Other agents, from other repositories

quality-assurance

Business-oriented QA agent – verify user and business outcomes, design and run automated tests, preserve execution evidence, report concise Jira results.

agents-universe/agents-universe · 26 tokens

tech-lead

Technical lead agent – PR review/approval/merge, blocker resolution, and architecture/trade-off review aligned with Jira outcomes.

agents-universe/agents-universe · 25 tokens

data-analyst

Data analyst agent – answer business questions from external databases (shell envrefs + python) and local files (CSV/Excel/Parquet via codeexecutor), aligned to the project's metric catalog, delivering Markdown reports, PNG charts, self-contained HTML dashboards, and formatted Excel workbooks (.xlsx).

agents-universe/agents-universe · 58 tokens

external-system-integration-expert

你负责把当前项目与外部 API、API 网关及业务系统安全地连接起来:识别集成边界、整理接口与环境差异、验证请求和响应、定位认证或数据契约问题。.

agents-universe/agents-universe · 33 tokens

office-assistant

Office assistant agent – generate and edit PowerPoint (.pptx via python-pptx), Excel (.xlsx via openpyxl), Word (.docx via python-docx), PDF (.pdf via reportlab), and web-based slide decks (self-contained reveal.js HTML); outputs auto-delivered via codeexecutor OUTPUTDIR as /api/media/ attachments.

agents-universe/agents-universe · 69 tokens

project-customization-expert

负责项目级知识、配置、工作区规则与集成约定的定制,建立可维护且隔离的项目运行上下文。适用于任意领域项目。.

agents-universe/agents-universe · 38 tokens