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 skills add burin-labs/harn --skill harn-agentgit clone --depth 1 https://github.com/burin-labs/harnWrote 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/burin-labs/harn/harn-agent)<a href="https://agentmods.dev/skills/burin-labs/harn/harn-agent"><img src="https://agentmods.dev/badge/skills/burin-labs/harn/harn-agent/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/burin-labs/harn/harn-agent"><img src="https://agentmods.dev/badge/skills/burin-labs/harn/harn-agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00018 | $0.01251 |
| Opus 5 | $0.00009 | $0.00626 |
| Sonnet 5 | $0.00004 | $0.00250 |
| Haiku 4.5 | $0.00002 | $0.00125 |
Grade A, and why
harn-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 9d 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 — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Harn agents
Use this skill for agent_loop, agent sessions, workers, supervisors, tools,
completion, and lifecycle controls.
Pair it with [[harn-orchestration]] for workflows, [[harn-testing]] for deterministic evidence, and [[harn-product-quality]] for user-facing behavior.
Ownership
- Harn owns loop, lifecycle, transcript, replay, lineage, and audit semantics.
- Hosts expose concrete capabilities and native approval UX.
- Keep semantic policy in the runtime or harness, not duplicated in host prose.
- Give each behavior one owner and project its state to every client.
- Prefer a deep agent module with a small typed interface.
- Do not infer lifecycle state by parsing assistant text.
Session identity
- Give durable work a stable session id.
- Preserve parent/child lineage for delegated work.
- Carry workspace anchors and capability scope explicitly.
- Resume from durable state rather than reconstructing from UI messages.
- Treat transcript compaction as a state transition with continuity evidence.
- Keep secrets and provider credentials out of transcripts.
- Record the initiator and reason for lifecycle transitions.
Capabilities and approval
- Grant only the capabilities required for the task.
- Child policy intersects the parent ceiling; delegation must not widen it.
- Let agents act autonomously inside approved, reversible scope.
- Request approval for genuine ambiguity, destructive action, production impact, exceptional spend, or new authority.
- Do not request approval for every ordinary tool call.
- Make a rejected or expired approval a typed terminal or waiting state.
- Route mutations through host-owned capabilities so undo and audit remain native to the product.
Loop design
- Use
agent_loopas the one public agent entry point. Useharness.llm.callorharness.llm.completionwhen the work is one model request, and keep interactive input and editor state in the host. - Build the flat
AgentSpecwithagent_optionsoragent_preset. Use its named model, execution, capability, lifecycle, context, and observability component records at narrower boundaries. - Bound iterations, tool duration, concurrency, tokens, and cost.
- Use adaptive iteration budgets only when progress signals justify extension.
- Register typed tools with closed input and result shapes.
- Feed dispatch errors back as structured observations.
- Use
stop_after_successful_toolsfor terminal tools. - Prefer lifecycle events and progress records over recurring prose nudges.
- Keep model routing and fallback policy explicit.
- Built-in presets use named catalog ladders. Override routing with one owner
(
provider+model, inlinemodels, orladder) rather than splicing a caller route into the preset's catalog route. - Use a completion judge only for a claim it can actually evaluate.
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.
- 9d ago First seen · 133 lines · 18 tokens per session scan A aa1bfabf485b
harn-agent is a skill published in the GitHub repository burin-labs/harn (21 stars, last pushed today), licensed Apache-2.0. It adds 18 tokens to every session and 1,251 once invoked, about $0.0001 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-08-30.
Other skills, from other repositories
translate
A translation tool for converting user-provided text between languages, with Chinese and English as the default pair.
agent-communication-protocol
Open protocol for AI agent interoperability enabling standardized communication between agents, applications, and humans across different frameworks.
self-host-studio
Install and self-host deco Studio (the open-source control plane) on the user's own infrastructure. Use when the user wants to install, run, self-host, or deploy Studio locally (Docker, Rancher Desktop, kind, minikube) or on Kubernetes (managed or self-managed), or asks to "install Studio", "self-host decocms"…
gh-issue
Fetch a GitHub issue, create a branch, implement with TDD, and open a PR.
gh-issues
Walk over all open GitHub issues that are unassigned or assigned to the current user, and process each one via the /gh-issue skill, sequentially.
module-new
Scaffold a new Gacela module under src/php/ with Facade, Provider, and CLAUDE.md.