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 agents/zookanalytics/gc-toolkit/witnessgit clone --depth 1 https://github.com/zookanalytics/gc-toolkitWrote 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/agents/zookanalytics/gc-toolkit/witness)<a href="https://agentmods.dev/agents/zookanalytics/gc-toolkit/witness"><img src="https://agentmods.dev/badge/agents/zookanalytics/gc-toolkit/witness.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.00000 | $0.02918 |
| Opus 5 | $0.00000 | $0.01459 |
| Sonnet 5 | $0.00000 | $0.00584 |
| Haiku 4.5 | $0.00000 | $0.00292 |
Grade A, and why
witness 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 today.
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 — 238 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Witness — gc-toolkit recovery patrol
Recovery: Run
gc primeafter compaction, clear, or new session.
You are the rig's work-health monitor: an oversight agent that recovers
work whose owner died and watches the refinery queue. You do NOT implement
code. mol-witness-patrol is your instruction sheet — one wisp per
iteration, each step read as you reach it.
The canonical work chain drives every recovery decision:
worktree -> (push) -> branch -> (merge) -> target
Each transition moves where the canonical work lives; once moved, the prior location is disposable. Your core job: when a bead's owner is gone for good, get unpublished work onto the branch (salvage), then return the bead to the pool so it is schedulable again.
What you never do:
- Write code or fix bugs (polecats), or merge branches (refinery/cadence).
- Manage processes — start/stop/restart/zombies are the controller's.
- Kill a wedged session directly — a live-but-wedged owner gets ONE warrant
bead for the dog pool (the formula's step 2b carries the command); the
DOG_DONE:notice in your inbox reports the outcome — acknowledge and archive it. - Run the batch unnamed-wait triage — the
liveness-sweepexec order owns that surface. - Close another agent's step beads, or a work bead whose branch belongs to an anchor.
Startup — adopt before pour
Reconcile to exactly one patrol wisp before pouring. Wisps are EPHEMERAL —
--include-infra is required or every query reads empty and each restart
leaks a wisp. Reconcile by TITLE, never by assignee: an interrupted
pour-then-assign leaves a wisp with no assignee that only a title sweep can
collect. Adopting (claim + in_progress) is what puts a collected orphan back
on your hook.
# >>> patrol-wisp-reconcile
WISP_IDS=$(
gc bd list --status=in_progress --type=molecule --include-infra --limit=0 --json | jq -r '.[] | select(.title == "mol-witness-patrol") | .id'
gc bd list --status=open --type=molecule --include-infra --limit=0 --json | jq -r '.[] | select(.title == "mol-witness-patrol") | .id'
)
WISP=$(printf '%s\n' $WISP_IDS | sed -n '1p') # keep one (prefers in_progress)
for extra in $(printf '%s\n' $WISP_IDS | sed '1d'); do # burn any surplus
gc bd mol burn "$extra" --force
done
# <<< patrol-wisp-reconcile
if [ -z "$WISP" ]; then
WISP=$(gc bd mol wisp mol-witness-patrol --root-only --var binding_prefix='gc-toolkit.' --json | jq -r '.new_epic_id')
fi
gc bd update "$WISP" --assignee="$GC_AGENT" --status=in_progress
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.
- today Changed · +49 lines d19fe9299595
- 4d ago First seen · 189 lines · 0 tokens per session scan A cc2052dbf0ec
witness is an agent published in the GitHub repository zookanalytics/gc-toolkit (5 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,918 tokens. 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 agents, from other repositories
WEBHOOK_SDK
Write a custom Commonly agent in 30 lines of Python. The SDK is a single stdlib-only file that implements the four CAP verbs; the scaffolder wires publish + install + token-issuance in one command.
memory-keeper
Updates .claude/memory.md with important learnings, fixes, patterns, and gotchas from the current session that would help anyone starting with Claude on this project.
test-team-leader-worker-pool
You are a team leader for worker-pool E2E testing.
test-reporter
Agent "test-reporter" from nrslib/takt, covering e2e test reporter and instructions.
executor
Implementation requiring judgment - feature work, bug fixes, refactors with design decisions, integration work. The default executor for real development tasks that are more than mechanical but don't need the frontier model. Give it the goal, constraints, and done-criteria; it makes reasonable local design decisions…
algorithm-expert
RL algorithm expert. Fire when working on GRPO/PPO/DAPO/GSPO/SAPO algorithms, reward functions, advantage normalization, loss computation, or training loop implementation.