JuliusBrussee/caveman-discover

Encuentra y etiqueta todos los flujos de trabajo de LLM en el repositorio para que Caveman Cloud agrupe los gastos por flujo de trabajo en lugar de en un solo cubo. Úsalo para "descubrir flujos de trabajo" o desglosar el gasto de LLM por flujo de trabajo.

¿Qué es caveman-discover?

Este skill de agente, `caveman-discover`, automatiza la identificación y etiquetado de cada flujo de trabajo de LLM dentro de un repositorio para la plataforma Caveman Cloud. Su propósito es reemplazar un cubo único de gasto no etiquetado con desgloses granulares por flujo de trabajo (por ejemplo, "responder ticket de soporte", "build del digesto nocturno"). El agente primero realiza un inventario de todos los puntos de entrada que invocan LLMs (como manejadores HTTP/RPC, trabajos programados, comandos CLI y evaluaciones), asegurando que cada "trabajo" que un humano nombraría se identifique como un flujo de trabajo separado. Luego, propone una tabla de etiquetado con slugs estandarizados (por ejemplo, `support-reply`) y el mecanismo de etiquetado más ligero para cada sitio de llamada, como encabezados HTTP personalizados o opciones del SDK. Tras la aprobación del usuario, aplica los cambios y verifica que el etiquetado funcione correctamente ejecutando una ruta etiquetada y confirmando que el gasto aparezca en el panel de control de Caveman Cloud. El skill está diseñado para ser idempotente: ejecutarlo en un repositorio ya etiquetado no debe producir cambios.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/JuliusBrussee/caveman/tree/main/skills/caveman-discover

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Estás etiquetando los flujos de trabajo de LLM de este repositorio para Caveman Cloud. Un flujo de trabajo es un trabajo que realiza el código — "responder un ticket de soporte", "construir el digesto nocturno", "ejecutar la suite de evaluación" — no una tecnología. Cada solicitud de gateway puede llevar una etiqueta de flujo de trabajo; el tráfico no etiquetado termina todo en un cubo unlabeled-workflow. Tu trabajo: encontrar los flujos de trabajo, nombrarlos bien, conectar las etiquetas y verificar que nada se rompió.

Esto cambia código, por lo que pasa por la revisión normal del usuario: propón la tabla primero, aplica después de que el usuario esté de acuerdo. Volver a ejecutar en un repositorio ya etiquetado no debe cambiar nada (idempotente).

Este skill es invocado por el operador. Una observación del Cave Plan unlabeled-traffic es solo de revisión y no crea un archivo de asesoramiento, propuesta o PR de borrador. No infieras que la telemetría seleccionó un sitio de llamada o autorizó una edición. Realiza de forma independiente el inventario del repositorio, presenta la tabla de etiquetado y espera la aprobación del usuario antes de cambiar el código.

Paso 1 — Inventario de los flujos de trabajo

Recorre el repo desde sus puntos de entrada, no desde sus importaciones:

  • Manejadores HTTP/RPC que llaman a un LLM (directamente o a través de capas)
  • Trabajos programados: definiciones de cron, consumidores de cola, workers, GitHub Actions que invocan código LLM
  • Comandos CLI y scripts (scripts/, bin/, scripts de package.json)
  • Eval / arneses de prueba que consumen tokens reales
  • Agentes o cadenas distintas dentro de un framework (cada grafo de LangGraph, cada crew, cada definición de agente es normalmente su propio flujo de trabajo)

Un flujo de trabajo = un trabajo que un humano nombraría. Diez sitios de llamada dentro del mismo manejador de solicitud son un flujo de trabajo; un ayudante llm.ts compartido usado por tres trabajos son tres flujos de trabajo (etiqueta en los llamantes, nunca en el ayudante compartido).

Paso 2 — Nómbralos

Gramática del slug (el gateway lo exige): minúsculas [a-z0-9_-], de 1 a 96 caracteres. Nombra el trabajo, no la tecnología:

  • Bueno: support-reply, nightly-digest, pr-review, eval-suite, onboarding-email
  • Malo: openai-calls (tecnología), main (no dice nada), SupportReply (inválido), johns-test-3 (no envejece)

Los nombres son casi para siempre — renombrar después divide el historial de gastos. Cuando el propósito de un trabajo no está claro a partir del código, deriva el slug del nombre del archivo y márcalo como review en la tabla en lugar de inventar un propósito.

Paso 3 — Propón, luego aplica

Presenta esta tabla y pide proceder:

| workflow | job | donde | cómo se etiqueta |
|---|---|---|---|
| support-reply | responde tickets entrantes | src/bot/reply.ts:41 | defaultHeaders en el cliente de respuesta |
| nightly-digest | trabajo resumen a las 02:00 | jobs/digest.ts:12 | header en el cliente del digesto |
| eval-suite (review) | scripts/eval.ts:8 — propósito inferido del nombre de archivo | scripts/eval.ts:8 | anulación de env en la invocación |

Luego conecta cada etiqueta con el mecanismo más ligero disponible en ese sitio de llamada:

  • @caveman-ai/sdk / SDK caveman_cloud: opción workflow por traza, o defaultWorkflow en el cliente que construye un servicio de un solo trabajo.
  • SDKs de proveedores sin procesar (OpenAI/Anthropic/LangChain/LiteLLM/Vercel): añade "x-cave-workflow": "<slug>" al mismo bloque defaultHeaders / default_headers / extra_headers que ya lleva x-cave-api-key. Cliente compartido usado por varios trabajos → pasa el header por llamada (cada SDK anterior acepta anulaciones de header por solicitud), o dale a cada trabajo su propio cliente delgado.
  • Agentes de codificación envueltos (caveman wrap): bandera --workflow <slug> o env CAVE_WORKFLOW=<slug> en el sitio de invocación (línea de cron, paso de CI).
  • HTTP sin procesar: añade el header x-cave-workflow a la solicitud.

Etiqueta a los llamantes, mantén el diff mínimo, respeta el estilo del repo. Si un sitio de llamada no está enrutado a través del gateway de Caveman, no lo etiquetes — menciónalo bajo "no conectado" en el informe (las etiquetas solo viajan en el tráfico del gateway; la conexión es trabajo del skill caveman-setup).

Paso 4 — Verifica

Ejecuta lo que el repo ya usa para ejercitar una ruta etiquetada (un test, un script de desarrollo, un curl). Luego confirma: la solicitud aún tiene éxito (el gateway rechaza una etiqueta inválida con 400 cave_invalid_request_header — corrige el slug si es necesario). El gasto etiquetado aparece en el panel en /activity?tab=workflows a medida que cada flujo de trabajo se ejecuta a continuación; los trabajos en un horario aparecen cuando el horario se dispara, y vale la pena decirlo en el informe en lugar de fingir que están en vivo.

Paso 5 — Informe

## Flujos de trabajo etiquetados

| workflow | job | donde |
|---|---|---|
| support-reply | responde tickets entrantes | src/bot/reply.ts:41 |
| nightly-digest | trabajo resumen a las 02:00 | jobs/digest.ts:12 |

Verificado: <la ruta etiquetada que realmente ejercitaste y lo que observaste>
Aterriza en: <DASHBOARD>/activity?tab=workflows — cada fila aparece a medida que ese flujo de trabajo
se ejecute a continuación. Cualquier cosa aún no etiquetada se muestra como `unlabeled-workflow`.
No conectado (sin enrutamiento al gateway, por lo tanto sin etiqueta): <lista o "ninguno">
Marcado como revisión: <slugs cuyo propósito se infirió de nombres de archivo, o "ninguno">

Si no encontraste ningún punto de entrada de LLM: dilo exactamente, y apunta al skill de configuración (<docs origin>/docs/agent-setup.md) en lugar de fabricar una tabla.

Individual skills in this repo

This repo contains 12 individual skills — each has its own dedicated page.

JuliusBrussee/caveman-evidence-review

Read-only review of Caveman Cloud evidence: cost, Cave Score, workflows, traces, latency, errors, routing, savings. Use when asked what Caveman found or where LLM spend goes.

JuliusBrussee/caveman-explore

Read-only repository explorer for cold-start orientation, broad cross-file localization, or when a direct search failed. Skip it when the exact file or symbol is already named. Returns path:line citations only; its reads stay out of main context.

JuliusBrussee/caveman-learn

Act on a Caveman learn report - review the ranked token sinks, apply cost-lowering fixes with per-edit consent, and report what those fixes returned. Use when asked to lower an agent's token cost, what caveman has saved, to trim a heavy CLAUDE.md, or to offload re-pasted context into cavemem.

JuliusBrussee/caveman-manage

Inspect Caveman Cloud's experiment lifecycle and block unsafe execution. Use when asked to start, approve, cancel, promote or roll back a Caveman experiment.

JuliusBrussee/caveman-optimize

Turn a Caveman optimization observation into an operator-chosen candidate with a paired baseline evaluation. Use when asked to inspect or evaluate a Caveman optimization report. Needs explicit approval.

JuliusBrussee/caveman-setup

Wire a repository through the Caveman Cloud gateway so every LLM request is measured, with no behavior change. Use for "set up caveman" or adding LLM spend observability.

JuliusBrussee/investigate-first

Diagnose ambiguous failures before editing. Use for unknown causes, intermittent behavior, performance regressions, or investigations needing evidence-ranked hypotheses.

JuliusBrussee/lean-build

Build feature work with high overbuilding risk. Use for new behavior, product slices, or integrations where repository reuse, strict scope, and an explicit stop condition matter.

JuliusBrussee/migration

Implement reversible compatibility-safe transitions. Use for schema, data, API, protocol, configuration, or dependency migrations requiring rollback and preservation proof.

JuliusBrussee/safe-refactor

Restructure code while preserving behavior. Use for extraction, consolidation, ownership moves, or cleanup where verification must bracket structural edits.

JuliusBrussee/surgical-patch

Fix bugs and small behavior changes at the narrowest responsible layer. Use when regression proof, preserved surrounding behavior, and task-relevant tests matter.

JuliusBrussee/verify-and-stop

Prove existing work meets acceptance conditions without expanding scope. Use for validation-only tasks, completion checks, focused gate runs, and last-mile proof.

Skills relacionados