Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add WangChangxin0809/repo-agent-harness/plugin install repo-agent-harnessWrote 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/wangchangxin0809/repo-agent-harness/bootstrap-repo-harness)<a href="https://agentmods.dev/skills/wangchangxin0809/repo-agent-harness/bootstrap-repo-harness"><img src="https://agentmods.dev/badge/skills/wangchangxin0809/repo-agent-harness/bootstrap-repo-harness/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/wangchangxin0809/repo-agent-harness/bootstrap-repo-harness"><img src="https://agentmods.dev/badge/skills/wangchangxin0809/repo-agent-harness/bootstrap-repo-harness.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.00154 | $0.03826 |
| Opus 5 | $0.00077 | $0.01913 |
| Sonnet 5 | $0.00031 | $0.00765 |
| Haiku 4.5 | $0.00015 | $0.00383 |
Grade C, and why
bootstrap-repo-harness scanned grade C with 1 finding 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 11d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
| Deleting tracked work is not refused | the `rm -rf` probe walked through | a guard | measured | How it starts
The opening of the file, as written. The whole thing — 302 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Bootstrap a repository harness
Governs: shared/scripts/scaffold.py, shared/scripts/probe_repo.py, shared/scripts/assess
A harness is the machinery that puts the right knowledge in front of an agent at
the moment it acts, and stops the actions that are cheaper to prevent than to
review. Most repositories have none: they have a CLAUDE.md full of rules that
are read once, paid every turn, and followed unevenly.
Everything this skill installs must work without it. The test is literal: install, uninstall the plugin, hand a fresh agent a real task, and the repository must still teach it how to work. Anything that only works while the plugin is present was built in the wrong place.
That is independence, not disposal. A harness decays — the standing cost creeps up, a guard stops matching, a document falls behind the code it claims — and a repository cannot notice that about itself. Step 1 is worth re-running months later for exactly that, which is why the assessment is never copied into the tree: it reports on the repository rather than being part of it.
Two rules everything else follows from
Knowledge lives in the repository, not in agent memory. Memory is per-machine, invisible to review, and cannot be corrected by a teammate. A fact worth keeping is worth a file with a path someone can cite in a pull request.
What cannot tolerate a miss never goes through retrieval. Retrieval is best-effort by construction. Rules whose violation is irreversible or silent go into a guard that blocks the action, or into a gate that fails the build — never into a paragraph hoping to be read.
With one honest correction, because the rule above is where harnesses oversell
themselves: a guard is also best-effort. It matches command text and it fails
open by design, so B=push; git $B origin main walks past it. For a rule that
genuinely cannot tolerate a miss, the guard is the third line — after
permissions.deny in .claude/settings.json, and after server-side branch
protection. What the guard adds is the paragraph explaining why, delivered at
the moment of the attempt. See writing-checks.
What ships with it
2 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.
- 11d ago First seen · 302 lines · 154 tokens per session scan C 99012bc0b343
bootstrap-repo-harness is a skill published in the GitHub repository WangChangxin0809/repo-agent-harness (2 stars, last pushed 12d ago), licensed MIT. It adds 154 tokens to every session and 3,826 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
docs
Generate and update living documentation — tech docs, user guides, philosophy overview. Composable building block for CLOSE and other skills.
root-cause-first
A debugging discipline that requires finding the underlying cause of a bug before changing the code. It also sets rules for handling errors, fallbacks, retries, and temporary diagnostics.
init-rpm
Project setup and verification. First run creates rpm context for a project. Repeat runs verify that an existing rpm setup matches the latest expected layout and apply safe migrations.
engine-bootstrap
Use when no contextualizer exists yet for a set of source URLs or local paths and one needs to be scaffolded from scratch.
refresh
Use when an existing contextualizer's references may have drifted from current upstream state — typically weekly, or whenever a few days of upstream changes have accumulated — to bring them back into agreement.
using-skill-engine
When the user mentions skill-engine or "the engine" without naming a specific workflow, or wants first-run setup. Inspects .claude/skills/-context/ install state (and any pending -context.proposed/ proposals) across all three install levels, then dispatches to engine-bootstrap when no contextualizer exists, to…