All loops
Claude CodeMedium 7 min· claude-opus-4-1

Test gap finder

Comments on PRs with the 3 highest-risk untested branches.

NOT DEPLOYEDNOT DEPLOYED
0142ms
Trigger
POST https://hooks.claudeloops.run/test-gap-finder · event=slack.slash:/loop
02922ms
Agent
claude-opus-4-1 · in 822 tok · out 545 tok
03212ms
Tools
github-mcp/github:pulls.create → 200 OK · 262ms
0432ms
Verify
schema check · zod v3 passed
0562ms
Output
changelog updated · v1.4.2
0622ms
Notify
audit log written · runbook link attached
SUCCESS
0%
0 runs
P50
0ms
median
P95
0ms
tail
AVG COST
per run
LAST OK
never
LAST FAIL
never
none
Latency · last 30 runs0 samples
no runs yet
Latest output · what your users see
Openacme/infra #1842
feat: add /health endpoint
5 files+202-12
  • Ran full test suite → 218 passed, 0 failed (12.3s)
  • Coverage delta: +0.4% on `src/lib/*`
  • No breaking changes detected in public API
// press Test to run once · Watch live to keep streaming · Deploy to make it real
The problem

github,tests

The outcome

Coverage tools tell you a number; they don't tell you which untested branch will blow up.

Ingredients & skills

Secrets
  • ANTHROPIC_API_KEY
  • GITHUB_TOKEN
Providers
  • Anthropic
  • GitHub
MCP servers
  • github-mcp
#claude-code#github#automation

How it works

Comments on PRs with the 3 highest-risk untested branches.

Step 1

1 — Create the locker

Locker `test-gap-finder` holds the GitHub token (repo scope) and the Anthropic key.

bash
locker create test-gap-finder
locker set $_ ANTHROPIC_API_KEY=sk-ant-...
locker set $_ GITHUB_TOKEN=ghp_...
Step 2

2 — Wire the GitHub event

Subscribe to the relevant GitHub webhook through the `github-mcp` server. Claude only sees the event payload and the files it requests.

Step 3

3 — Ship the agent

Single TS file in `agents/`. Stateless; the locker is bound at runtime so no env editing for new repos.

One-line deploy

The button above runs the same command with your saved config. This is the raw CLI form.

bash
npx claudeloops deploy test-gap-finder
https://hooks.claudeloops.run/test-gap-finder

Related loops