Borrowing it
Nothing to install: this file belongs to jahala/umbel. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/jahala/umbel/master/.claude/skills/tend-audit/SKILL.mdgit clone --depth 1 https://github.com/jahala/umbelWrote 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/jahala/umbel/tend-audit)<a href="https://agentmods.dev/skills/jahala/umbel/tend-audit"><img src="https://agentmods.dev/badge/skills/jahala/umbel/tend-audit/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/jahala/umbel/tend-audit"><img src="https://agentmods.dev/badge/skills/jahala/umbel/tend-audit.svg" alt="Reviewed on agentmods" width="80" 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.00082 | $0.07222 |
| Opus 5 | $0.00041 | $0.03611 |
| Sonnet 5 | $0.00016 | $0.01444 |
| Haiku 4.5 | $0.00008 | $0.00722 |
Grade A, and why
tend-audit 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 — 367 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Audit: Verify Checks
Verify that existing code satisfies a feature's documented checks. Use
after /tend discover on mature codebases, after /tend run completes,
or anytime you need an honest read on whether a feature actually works.
Owns the audit section of feature polyglots and is the only writer of
status = "verified".
What this skill assumes
- Skip auditing polyglots with
data.personaordata.opportunityset. Catalog descriptions don't have checks or smoke commands — they aren't verified as bets. - The feature has checks with
verification_recipe(output of/tend brainstorm). - For checks with
validates_jobset, the bound persona-job'svalidationclause is the pass criterion — the test must assert against it, not just the recipe. - The implementation exists on disk and is testable (steps are at least
in-progress; ideallydone). - This skill is the ONLY writer of
audit.resultand the gate tostatus: "verified". No other skill sets these fields.
Why this skill matters
Run marks steps done when the agent reports completion. That answers
"did the code get written?" - not "does it satisfy the check?" Audit
closes that gap. Without an audit run, a feature can sit at
progress.implementation === 100 with progress.verification === 0 and
nobody notices the lie.
What the audit actually asks
A green badge has to mean three things, not one. For every check, the audit answers:
- Built? — the code the check claims is done is actually done. No
TODO/FIXME/XXX/HACK, nothrow 'not implemented'/NotImplementedError, no stub body returning a hardcoded placeholder, no large commented-out blocks, no mock standing in for real behaviour on the production path. A// TODOin code labelled "done" is a contradiction this skill exists to catch — flag it whether or not the project tolerates TODOs while building. That tolerance is the builder's policy; surfacing the gap is the auditor's duty, and it is not optional. - Proven? — a real test exists, exercises the real unit (not mocks), runs green this audit, discriminates (fails when you break the unit — see negative control), and asserts the measurable outcome (the persona-job validation clause), not a trivial surface like
expect(x).toBeDefined(). - Built well? — the implementation and test meet the project's quality bar (its
CLAUDE.md/ referenced rubric) plus the universal engineering floor in the Quality rules.
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 · 367 lines · 82 tokens per session scan A 19f6262e06b7
tend-audit is a skill published in the GitHub repository jahala/umbel (2 stars, last pushed 4d ago), licensed MIT. It adds 82 tokens to every session and 7,222 once invoked, about $0.0004 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-31.
Other skills, from other repositories
safe-extraction
Apply when extracting code from a large monolith file into submodules. Covers barrel re-exports, internals DI seam proxy patterns, CI invariant allowlist updates, and cross-file test verification. Prevents CI failures, broken imports, and test regressions from code extraction.
safe-rename
Workflow for safely renaming symbols (functions, types, classes, interfaces, constants, variables) across a codebase. Uses repomap, batchsymbols, and buildcheck to ensure every consumer is updated and nothing breaks.
test-file-split
Protocol for splitting test files that approach or exceed the FR-006 500-line limit (enforced in CI by scripts/check-test-file-cap.ts as a diff-scoped ratchet). Covers describe-block extraction, shared helper management, pure-function extraction, mock isolation verification, and cascading-split detection. Load when a…
confirm-failures-are-causally-linked-to-the-task-before-reportin
When delegating a task affected by this skill, include.
grep-for-mock-module-across-the-entire-test-file-and-confirm-eve
When delegating a task affected by this skill, include.
isolate-the-specific-failure-mode-before-proposing-a-fix
When delegating a task affected by this skill, include.