

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# browse — `caveman-browse` browser driver23Local, agent-facing browser interaction for the open Caveman surface. It serves4stdio MCP tools that read a real Chrome accessibility tree, compress it with the5engine's forced-only `a11y` compressor, act on `uid` handles, and recover the6byte-exact original AX payload through CCR. Every saving here is `inferred`;7Browse never emits `verified`.89## Layout10- `session.go` — MCP tool handlers, engine/CCR integration, UID target cache.11- `cdp.go` — chromedp-backed Mode-A dedicated Chrome driver and bounded12 actionability recipe.13- `cmd/caveman-browse/` — stdio MCP binary.1415## Gotchas16- This package may import CDP/network/browser dependencies. `public/mcp` may not.17- `go test ./public/browse/...` is setup-free. `make test-browse` resolves an18 installed Playwright Chromium or system Chrome and runs the `integration`19 build-tagged CDP contract across the package and direct CLI; `make20 test-browser` adds extension tests and `make test-e2e` includes both.21- The actionability layer is intentionally bounded: same-origin dashboards and22 predictable design-system controls, not arbitrary-open-web parity.23- Unknown handles/actions fail closed with `cave_snake_code` errors.24- Snapshot output is compact indented text, not JSON-lines. `query` keeps at most25 12 highest-scoring task matches plus ancestors; recovery metadata exposes only26 UIDs actually shown. Keep `tokens_after` equal to exact agent-visible result27 cost and `view_tokens` equal to serializer output cost.28- Direct CLI Chrome is detached so separate `snapshot`/`act`/`eval` processes29 can share a target. `close` must terminate it. Fresh `CAVEMAN_HOME` must work;30 state writes stay atomic and mode `0600`.31- CDP action acknowledgement is not application settlement. Non-wait actions32 return `settled:false` and require a focused resnapshot for proof.33- Navigation denies `file:`, `javascript:`, and privileged Chrome schemes.34- Benchmark contract and reproducible Playwright comparison live in35 `BENCHMARK.md`; keep token budgets executable in tests.36- **The uid map is `browser_snapshot`'s contract, not a side effect of a37 compression ratio.** On engine pass-through (no recovery handle — a tree that38 did not get smaller, or no CCR store) `snapshotTool` fails closed with39 `cave_browser_snapshot_uncompressed` and returns the prior page's uids intact;40 it MUST NEVER dump the raw AX tree into `uids` (strictly worse than not using41 Browse) nor wipe the target cache. Regressing this reopens issue #140.42- **An `<iframe>` is a leaf, not a broken tree.** `Accessibility.getFullAXTree`43 returns one frame at a time, so an iframe node's `childId` points at a child44 document absent from this payload; the `a11y` compressor45 (`engine/compressors/axtree.go`) treats an unresolvable `childId` as a leaf and46 still curates the frame-visible nodes. Because of that the CDP driver keeps47 Chrome's default Site Isolation (`site-per-process`) — do not disable it to48 "fix" cross-origin iframes.49
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| JuliusBrussee/cavemanCLAUDE.md · 98k | CLAUDE.md | archgitdo-notagent-behaviour+1 | 73/100 | today | |
| JuliusBrussee/cavemanagents/AGENTS.md · 98k | AGENTS.md | agent-behaviour | 16/100 | today | |
| JuliusBrussee/cavemanagents/CLAUDE.md · 98k | CLAUDE.md | stylearchsecurityagent-behaviour | 64/100 | today | |
| JuliusBrussee/cavemancacheengine/CLAUDE.md · 98k | CLAUDE.md | testarch | 73/100 | today | |
| JuliusBrussee/cavemanengine/AGENTS.md · 98k | AGENTS.md | stylearch | 66/100 | today | |
| JuliusBrussee/cavemanengine/CLAUDE.md · 98k | CLAUDE.md | stylearch | 58/100 | today | |
| JuliusBrussee/cavemanextension/AGENTS.md · 98k | AGENTS.md | buildteststylearch+1 | 73/100 | today | |
| JuliusBrussee/cavemanextension/CLAUDE.md · 98k | CLAUDE.md | buildteststylearch+1 | 73/100 | today | |
| JuliusBrussee/cavemanintegrations/CLAUDE.md · 98k | CLAUDE.md | stylearch | 55/100 | today | |
| JuliusBrussee/cavemanmcp/AGENTS.md · 98k | AGENTS.md | stylearch | 79/100 | today | |
| JuliusBrussee/cavemanmcp/CLAUDE.md · 98k | CLAUDE.md | stylearch | 79/100 | today | |
| JuliusBrussee/cavemanmem/AGENTS.md · 98k | AGENTS.md | stylearchperformanceagent-behaviour | 67/100 | today | |
| JuliusBrussee/cavemanmem/CLAUDE.md · 98k | CLAUDE.md | stylearchperformanceagent-behaviour | 71/100 | today | |
| JuliusBrussee/cavemanpackages/agent/CLAUDE.md · 98k | CLAUDE.md | archtesting-strategysecuritydependencies+2 | 34/100 | today | |
| JuliusBrussee/cavemanpackages/cli/AGENTS.md · 98k | AGENTS.md | stylearchdependenciesmonorepo | 71/100 | today | |
| JuliusBrussee/cavemanpackages/cli/CLAUDE.md · 98k | CLAUDE.md | stylearchdependenciesmonorepo | 71/100 | today | |
| JuliusBrussee/cavemanpackages/create-caveman-agent/CLAUDE.md · 98k | CLAUDE.md | archdependenciesmonorepoagent-behaviour | 36/100 | today | |
| JuliusBrussee/cavemanpackages/graders/AGENTS.md · 98k | AGENTS.md | teststylearchtypes+3 | 75/100 | today | |
| JuliusBrussee/cavemanpackages/graders/CLAUDE.md · 98k | CLAUDE.md | teststylearchtypes+3 | 75/100 | today | |
| JuliusBrussee/cavemanpackages/kit/AGENTS.md · 98k | AGENTS.md | stylearchdependenciesmonorepo | 63/100 | today |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| stacklok/toolhiveCLAUDE.md · 2.0k | CLAUDE.md | buildteststylearch+4 | 100/100 | 14 days ago | |
| Adit-Jain-srm/NightmareNetCLAUDE.md · 46 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 14 days ago | |
| microsoft/playwrightCLAUDE.md · 95k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 7 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.5k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 14 days ago | |
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 14 days ago | |
| tphakala/birdnet-goCLAUDE.md · 1.6k | CLAUDE.md | buildtestlint-formatstyle+8 | 100/100 | today | |
| tyrchen/geektime-bootcamp-aiw7/genslides/backend/CLAUDE.md · 230 | CLAUDE.md | testlint-formatstylearch+6 | 100/100 | 9 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 7 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/juliusbrussee-caveman-browse-claude)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.