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 skills/docxology/template/toolsnpx skills add docxology/template --skill toolsgit clone --depth 1 https://github.com/docxology/templateWrote 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/skills/docxology/template/tools)<a href="https://agentmods.dev/skills/docxology/template/tools"><img src="https://agentmods.dev/badge/skills/docxology/template/tools.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 | $0.00168 | $0.01164 |
| Opus 5 | $0.00084 | $0.00582 |
| Sonnet 5 | $0.00034 | $0.00233 |
| Haiku 4.5 | $0.00017 | $0.00116 |
Grade A, and why
infrastructure-tools 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 yesterday.
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 — 124 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tools Module
Discovery, validation, scope, and sidecar symlink sync for the tools/
workspace — executable entry points (scripts, skills, agents), distinct from
projects/ (executable research code) and fonds/ (passive data stores).
Modules
| File | Exports |
|---|---|
__init__.py |
ToolInfo, build_tool_info, discover_tools, resolve_tool_root, validate_tool_structure |
discovery.py |
discover_tools, resolve_tool_root, NON_RENDERED_TOOL_SUBDIRS, RENDERED_TOOL_SUBDIRS |
tools_info.py |
ToolInfo, build_tool_info |
validation.py |
validate_tool_structure |
public_scope.py |
PUBLIC_TOOL_NAMES, public_tool_infos, public_tool_names |
linking.py |
sync_private_tool_links, sync_active_tool_links, private_tools_root, is_managed_symlink, LIFECYCLE_LINK_DIRS, LinkSyncResult |
Discovery and validation
from pathlib import Path
from infrastructure.tools import discover_tools, resolve_tool_root, validate_tool_structure, ToolInfo
# Discover all valid tools (skips working/, archive/)
tools: list[ToolInfo] = discover_tools(Path("."))
for t in tools:
print(t.qualified_name, t.tool_type, t.is_valid)
# Resolve by name
path = resolve_tool_root(Path("."), "templates/template_code_executor")
path = resolve_tool_root(Path("."), "template_code_executor") # bare name
# Validate structure (requires tools.yaml + scripts/)
is_valid, message = validate_tool_structure(Path("tools/templates/template_code_executor"))
ToolInfo dataclass
from infrastructure.tools import ToolInfo, build_tool_info
info = build_tool_info(Path("tools/templates/template_code_executor"))
info.name # "template_code_executor"
info.tool_type # "type" from tools.yaml, or "generic"
info.has_scripts # True iff scripts/ exists
info.is_valid # True iff has_scripts
info.qualified_name # "template_code_executor" or "program/name"
Public scope
from infrastructure.tools.public_scope import (
PUBLIC_TOOL_NAMES, # ('templates/template_code_executor',)
public_tool_infos, # list[ToolInfo] present in checkout
public_tool_names, # list[str] sorted
)
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- yesterday First seen · 124 lines · 168 tokens per session scan A 18ffa1773554
infrastructure-tools is a skill published in the GitHub repository docxology/template (19 stars, last pushed yesterday), licensed Apache-2.0. It adds 168 tokens to every session and 1,164 once invoked, about $0.0008 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 skills, from other repositories
planning-with-files
Persistent file-based planning for multi-step AI-agent work. Keeps taskplan.md, findings.md, and progress.md on disk; lifecycle hooks inject selected project planning context. Automatic recovery reads project planning files only. Explicit session-catchup.py --metadata reads same-project local agent session records and…
concierge
Use when a task needs the judgment of a Concierge — securing a reservation at a fully-booked restaurant or sold-out venue, coordinating a multi-vendor guest request (dinner, transportation, and a gift delivery) inside a tight window, deciding when to pivot from a failed Plan A to a same-caliber Plan B, or navigating a…
correspondence-clerk
Use when a task needs the judgment of a Correspondence Clerk — selecting and customizing a template response to a standardized written inquiry, triaging a correspondence queue against SLA deadlines, deciding when a form letter suffices versus needs escalation, or auditing a response-template library for staleness.
token-budget
Context footprint audit and cost control strategies for agent sessions. Use when optimising token usage, auditing session costs, or choosing which model to use for a task.
model-routing
Route tasks to the optimal model and mode. Use when unsure which model or mode to use for a task.
open-loops
当用户希望找回长对话中没有被看见、确认或明确取舍的信息点时使用。包括四类情况:用户提了但 AI 没答、AI 提了但用户没接住、AI 替用户做了选择,以及 AI 本该提问却自行决定。用户说「对账」 「建清单」「哪些没闭环」「open loops」,或抱怨对话跑偏、旧问题消失、AI 替自己做主时触发。 长项目进行到一半才开始审计,也属于正常入口。用户明确启用后,在该项目或任务中持续逐轮运行, 直到用户明确暂停或停止,不要求每轮重新点名。不要用于单轮编号问答、普通任务进度追踪,或用户 已经明确看见但暂缓执行的事项。仅检查、调试、修改或发布 Open Loops 本身的轮次属于维护通道: 可以使用本 skill…