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.
npx agentmods add agents/blackbelttechnology/pi-agent-dashboard/doxtriagegit clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboardWrote 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.
[](https://agentmods.dev/agents/blackbelttechnology/pi-agent-dashboard/doxtriage)<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>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.
| Model | Per session | Once 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 |
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.
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.
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.
- 2d ago First seen · 81 lines · 48 tokens per session scan A 4adc47df2d0c
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.
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.
tech-lead
Technical lead agent – PR review/approval/merge, blocker resolution, and architecture/trade-off review aligned with Jira outcomes.
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).
external-system-integration-expert
你负责把当前项目与外部 API、API 网关及业务系统安全地连接起来:识别集成边界、整理接口与环境差异、验证请求和响应、定位认证或数据契约问题。.
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.
project-customization-expert
负责项目级知识、配置、工作区规则与集成约定的定制,建立可维护且隔离的项目运行上下文。适用于任意领域项目。.