vv-claude-harness / test
AGENTS.md20 starsChanged 3 months agoMITView on GitHub
One file: run-tests.sh. A single dependency-free bash script (bash 3.2+, python3 stdlib, no jq) organized into echo "== section =="-delimited groups, each covering one hook, skill, or feature. Run it with bash test/run-tests.sh. - Reuse the existing helpers rather than re-deriving them: make_fixture DIR builds a committed git fixture from test/fixtures/harness-project/; install_hooks DIR copies the real hook templates in; run_hook DIR HOOK_NAME JSON_INPUT invokes a hook the way .claude/settings.json does (CLAUDE_PROJECT_DIR set, stdin piped). - Assert with pass "label" /…
In this repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- templates/CLAUDE.mdCLAUDE.md
- harness-continueSkill
- harness-doctorSkill
- harness-improveSkill
- harness-initSkill
- harness-issue-debugSkill
- harness-issue-prepSkill
The file
Files
test/
One file: run-tests.sh. A single dependency-free bash script (bash 3.2+, python3
stdlib, no jq) organized into echo "== section =="-delimited groups, each covering
one hook, skill, or feature. Run it with bash test/run-tests.sh.
Adding a fixture case
- Reuse the existing helpers rather than re-deriving them:
make_fixture DIRbuilds a committed git fixture fromtest/fixtures/harness-project/;install_hooks DIRcopies the real hook templates in;run_hook DIR HOOK_NAME JSON_INPUTinvokes a hook the way.claude/settings.jsondoes (CLAUDE_PROJECT_DIRset, stdin piped). - Assert with
pass "label"/fail "label", or theassert_*helpers (assert_contains,assert_not_contains,assert_empty,assert_rc0,assert_rc2,assert_rc_nonzero) -- these keep the pass/fail count and the final summary line accurate. - A check that would be satisfied by content unrelated to what it's testing is worse than no check: scope greps to the specific section/block being tested (extract it first, e.g. via a regex capturing between two headers), not the whole file -- a whole-file grep can pass even after the real content it's meant to verify is deleted, if an unrelated sentence elsewhere happens to share a keyword.
- Mutation-test anything non-trivial before considering it done: revert the fix (or delete/reword the content a new check asserts), confirm exactly the expected assertion(s) fail, then restore.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

