caveman-discover
Skill3 starsChanged 3 months agoMITView on GitHub
Find every LLM workflow in the current repository and label it, so Caveman Cloud groups spend by what the code actually does (support-reply, nightly-digest) instead of one anonymous bucket. Use when the user pastes the Caveman discovery prompt, says "discover workflows", or asks to break LLM spend down by workflow. The repo should already route through the Caveman gateway (the caveman-setup skill does that part).
11 other projects use a version of this, 6 of them edited.
Adopted by
Most recently taken up by
- sudeepgupta90/my-ai-marketplaceedited, first seen Nov 8, 2026
- mjlueck-hash/cavemanword for word, first seen Nov 8, 2026
- MMACABRE/SKILLSedited, first seen Nov 8, 2026
- jjsizemore/jjskillsword for word, first seen Nov 1, 2026
- ZerroDevs/AgentsHubedited, first seen Nov 1, 2026
- pengawasmknan/claude-skillsedited, first seen Oct 11, 2026
Other versions11 projects use a version of this.
Word for word · 4
- xingtu1996/dsh-xingtu-skills★ 2100% same
- jjsizemore/jjskills★ 1100% same
- mjlueck-hash/caveman★ 1100% same
- xingtu1996/xingtu-skills★ 0100% same
Edited · 6
- JuliusBrussee/caveman★ 118k96% same
- ZerroDevs/AgentsHub★ 696% same
- nomdedev/agent-manager-template★ 296% same
- MMACABRE/SKILLS★ 196% same
- pengawasmknan/claude-skills★ 096% same
- sudeepgupta90/my-ai-marketplace★ 096% same
Wrote their own version · 1
- Gopyr/gopyr-skills-hub★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- caveman-learn/CLAUDE.mdCLAUDE.md
- cavecrewSkill
- caveman-commitSkill
- caveman-compressSkill
- caveman-evidence-reviewSkill
- caveman-exploreSkill
- caveman-helpSkill
- caveman-learnSkill
- caveman-manageSkill
- caveman-optimizeSkill
- caveman-reviewSkill
- caveman-setupSkill
- cavemanSkill
- caveman-statsSkill
- fullstack-devSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 0 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 83
Raw HTTP: add the x-cave-workflow header to the request.
- Very specific: line 92
Run whatever the repo already uses to exercise one labeled path (a test, a dev script, one curl).
- Very specific: line 116
If you found no LLM entry points at all: say exactly that, and point at the setup skill (<docs origin>/docs/agent-setup.md) instead of …
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
You are labeling this repository's LLM workflows for Caveman Cloud. A
workflow is a job the code performs — "answer a support ticket", "build the
nightly digest", "run the eval suite" — not a technology. Every gateway
request can carry a workflow label; unlabeled traffic all lands in one
unlabeled-workflow bucket. Your job: find the workflows, name them well,
wire the labels, and verify nothing broke.
This changes code, so it goes through the user's normal review: propose the table first, apply after the user agrees. Re-running on an already-labeled repo must change nothing (idempotent).
This skill is operator-invoked. An unlabeled-traffic Cave Plan observation is
review-only and does not create an advisory file, proposal, or Draft PR. Do not
infer that telemetry selected a callsite or authorized an edit. Independently
inventory the repository, present the labeling table, and wait for the user's
approval before changing code.
Step 1 — Inventory the workflows
Walk the repo from its entry points, not from its imports:
- HTTP/RPC handlers that call an LLM (directly or through layers)
- Scheduled jobs: cron definitions, queue consumers, workers, GitHub Actions that invoke LLM code
- CLI commands and scripts (
scripts/,bin/, package.json scripts) - Eval / test harnesses that burn real tokens
- Distinct agents or chains inside a framework (each LangGraph graph, each crew, each agent definition is usually its own workflow)
One workflow = one job a human would name. Ten callsites inside the same
request handler are one workflow; one shared llm.ts helper used by three
jobs is three workflows (label at the callers, never the shared helper).
Step 2 — Name them
Slug grammar (the gateway enforces this): lowercase [a-z0-9_-], 1–96 chars.
Name the job, not the tech:
- Good:
support-reply,nightly-digest,pr-review,eval-suite,onboarding-email - Bad:
openai-calls(tech),main(says nothing),SupportReply(invalid),johns-test-3(won't age)
Names are forever-ish — renaming later splits the spend history. When a job's
purpose isn't clear from the code, derive the slug from the file name and mark
it review in the table rather than inventing a purpose.
Step 3 — Propose, then apply
Present this table and ask to proceed:
| workflow | job | where | how it gets labeled |
|---|---|---|---|
| support-reply | answers inbound tickets | src/bot/reply.ts:41 | defaultHeaders on the reply client |
| nightly-digest | 02:00 summary job | jobs/digest.ts:12 | header on the digest client |
| eval-suite (review) | scripts/eval.ts:8 — purpose inferred from filename | scripts/eval.ts:8 | env override at invocation |Then wire each label with the lightest mechanism available at that callsite:
- @caveman-ai/sdk / caveman_cloud SDK: per-trace
workflowoption, ordefaultWorkflowon the client a single-job service constructs. - Raw provider SDKs (OpenAI/Anthropic/LangChain/LiteLLM/Vercel): add
"x-cave-workflow": "<slug>"to the samedefaultHeaders/default_headers/extra_headersblock that already carriesx-cave-api-key. Shared client used by several jobs → pass the header per call (every SDK above accepts per-request header overrides), or give each job its own thin client. - Wrapped coding agents (
caveman wrap):--workflow <slug>flag orCAVE_WORKFLOW=<slug>env at the invocation site (cron line, CI step). - Raw HTTP: add the
x-cave-workflowheader to the request.
Label the callers, keep the diff minimal, match the repo's style. If a callsite is not routed through the Caveman gateway at all, don't label it — list it under "not wired" in the report (labels only travel on gateway traffic; wiring is the caveman-setup skill's job).
Step 4 — Verify
Run whatever the repo already uses to exercise one labeled path (a test, a
dev script, one curl). Then confirm: the request still succeeds (the gateway
rejects an invalid label with 400 cave_invalid_request_header — fix the slug
if so). Labeled spend appears on the dashboard at /activity?tab=workflows as
each workflow next runs; jobs on a schedule show up when the schedule fires,
and that's worth saying in the report rather than pretending they're live.
Step 5 — Report
## Workflows labeled
| workflow | job | where |
|---|---|---|
| support-reply | answers inbound tickets | src/bot/reply.ts:41 |
| nightly-digest | 02:00 summary job | jobs/digest.ts:12 |
Verified: <the labeled path you actually exercised, and what you observed>
Lands at: <DASHBOARD>/activity?tab=workflows — each row appears as that workflow
next runs. Anything still unlabeled shows as `unlabeled-workflow`.
Not wired (no gateway routing, so no label): <list or "none">
Marked review: <slugs whose purpose was inferred from filenames, or "none">If you found no LLM entry points at all: say exactly that, and point at the
setup skill (<docs origin>/docs/agent-setup.md) instead of manufacturing a
table.
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.

