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/harumiweb/exstruct/adr-criteriagit clone --depth 1 https://github.com/harumiWeb/exstructWhat 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 | $0.00000 | $0.01397 |
| Opus 5 | $0.00000 | $0.00698 |
| Sonnet 5 | $0.00000 | $0.00279 |
| Haiku 4.5 | $0.00000 | $0.00140 |
Grade A, and why
adr-criteria 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.
How it starts
The opening of the file, as written. The whole thing — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ADR decision criteria
This document defines the criteria AI agents use to classify a change as required, recommended, or not-needed.
Decision levels
required
An ADR is required when any of the following apply:
- The contract or meaning of the public API, CLI, or MCP changes
- The meaning, requiredness, or omission policy of output JSON / YAML / TOON changes
- A default changes semantic contract, such as
default omitvsdefault include - Mode responsibility boundaries or validation contracts change
- The way the same constraints are aligned across API / CLI / engine / MCP entry points changes
- Backend addition, removal, priority, or fallback policy changes
- Runtime-failure handling, reason codes, log consistency, or return-shape combinations change
- A safety boundary such as
PathPolicychanges - Backward-compatibility policy changes
- Patch/edit backend capabilities or selection policy changes
recommended
Changes that are likely to contain design decisions, but do not always require an ADR.
- Large revisions to the testing system
- Reorganization of error-handling policy
- Addition or replacement of a major dependency
- Changes to the basic strategy for performance optimization
- Turning operational flows or AI-agent procedures into permanent rules
not-needed
ADR not needed because the change is not a policy-level change.
- typo fixes
- internal refactors with unchanged behavior
- wording cleanup that does not change the contract
- simple test additions that do not change design intent
- bug fixes that only restore the contract already defined by existing ADRs / specs / tests
ExStruct-specific must-check areas
For the following areas, treat ADR-required as the first candidate as soon as a change appears.
| Area | Typical example | Existing references |
|---|---|---|
| extraction mode | changing responsibilities of light / libreoffice / standard / verbose |
ADR-0001, dev-docs/specs/excel-extraction.md |
| backend fallback | changing fallback contracts for COM / LibreOffice / future backends | ADR-0002 |
| serialization contract | changing metadata omission/inclusion or schema meaning | ADR-0003, docs/api.md, docs/cli.md |
| patch backend policy | changing selection or constraints for auto / com / openpyxl |
ADR-0004, docs/mcp.md |
| safety boundary | changing path allow ranges, normalization, or output-location rules | ADR-0005, docs/mcp.md |
| compatibility policy | changing preservation or break conditions for backward compatibility | existing ADR or a new ADR target |
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.
- 3d ago First seen · 140 lines · 0 tokens per session scan A e25aa7fdd51b
adr-criteria is an agent published in the GitHub repository harumiWeb/exstruct (196 stars, last pushed 2mo ago), licensed BSD-3-Clause. It costs nothing until one of its globs matches a file; then it loads 1,397 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.
Other agents, from other repositories
agent-request-queue
一次 Agent 运行可能包含多次模型调用、知识库检索、工具执行和文件操作。为了避免同一对话同时修改同一份上下文,Yuxi 把“收到请求”和“开始运行”分成两个阶段,并为每个线程维护 FIFO 队列。.
skills-management
Skill 是一个可复用的能力包,通常包含一个 SKILL.md、提示词、参考资料和可选脚本。智能体先看到 Skill 的描述,再按需要读取 SKILL.md;Skill 声明的工具和 MCP 依赖会随激活状态加入模型请求。.
agents-config
本页是智能体配置参考,说明页面上的字段如何进入一次运行。新增智能体后端的代码结构见开发智能体后端;只使用现成智能体时,从快速开始开始。.
mcp-integration
MCP(Model Context Protocol)让智能体调用外部服务提供的工具。管理员在“扩展 → MCP”中添加远程服务器,智能体配置再决定哪些服务器进入运行时。.
tools-system
Yuxi 的工具分成三层:内置工具、知识库工具和 MCP 工具。Graph 创建时准备可执行工具,运行时再根据用户权限、Agent 配置和 Skill 激活状态决定模型能看到什么。.
agent-evaluation
智能体评估用 Langfuse Dataset 保存一组固定任务,再让 Yuxi 按真实的 AgentRun、worker 和工具链路逐条执行。它适合比较一个智能体在研究、编程、文件处理或多步骤任务上的表现。.