caveman-discover
Find and label every LLM workflow in the repository so Caveman Cloud groups spend by workflow instead of one bucket. Use for "discover workflows" or breaking LLM spend down by workflow.
Install / Use
npx skills add JuliusBrussee/caveman --skill caveman-discoverInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of caveman-discover
caveman-discover scores 92/100 on our quality scale, 71st of 860 Automation skills we index (top 9%).
Its SKILL.md is 5.1 KB long, split into 6 sections with 2 code examples: a solid amount of guidance for an agent.
With 107,653 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated today, so caveman-discover is actively maintained.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
caveman-discover compared with similar skills
All 4 of these similar skills score higher than caveman-discover; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| caveman-discover (this skill)by JuliusBrussee | 92 | 107.7k | today | SKILL.md |
| Agent-Reachby Panniantong | 100 | 85.3k | 9d ago | CLAUDE.md |
| rufloby ruvnet | 100 | 73.2k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 83.4k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 2d ago | SKILL.md |
Frequently asked questions
- How do I install caveman-discover?
- Run
npx skills add JuliusBrussee/caveman --skill caveman-discover. The install tabs above show the steps for each supported agent. - Which AI agents does caveman-discover work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is caveman-discover safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is caveman-discover still maintained?
- The repository was last updated today, so caveman-discover is actively maintained.
Skill content
View source on GitHubname: caveman-discover description: > Find and label every LLM workflow in the repository so Caveman Cloud groups spend by workflow instead of one bucket. Use for "discover workflows" or breaking LLM spend down by workflow.
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.
Related Skills
Agent-Reach
85.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
73.2k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
Scrapling
83.4k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
