skills/integrations/langfuse/langfuse-connect/SKILL.md
Connect and operate Langfuse observability workflows for traces, observations, scores, prompts, datasets, queues, and model metadata. Use when the user asks for Langfuse setup or trace analysis.
npx skillsauth add beam-ai-team/beam-next-skills langfuse-connectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
User-facing entry point for Langfuse integration. Routes to consolidated operation skills.
Before creating, updating, deleting, ingesting, scoring, or exporting Langfuse data, show the host/project, routed operation, target IDs or filters, payload summary, output path when used, and expected side effects. Require explicit user approval in the current turn before mutating Langfuse or writing files. Read-only trace, prompt, dataset, queue, model, score, status, and config checks with an approved scope do not require additional approval.
For score config IDs and API patterns, see Patterns & score config reference below. For shared client, references, and error handling, load langfuse-master/.
Before any operation, run config check:
uv run python skills/integrations/langfuse/langfuse-master/scripts/check_langfuse_config.py --json
If ai_action is:
proceed_with_operation → Continue with requested operationprompt_for_api_key → Ask user for credentials, guide to setupAll Langfuse operations are consolidated into 11 skills. Each uses --resource and --action arguments for dispatch.
langfuse-traces| User Says | Resource | Action | |-----------|----------|--------| | "list traces", "show traces" | traces | list | | "get trace {id}", "trace details" | traces | get | | "delete trace", "bulk delete traces" | traces | delete | | "list observations", "show spans" | observations | list | | "get observation {id}" | observations | get | | "list sessions", "show sessions" | sessions | list | | "get session {id}" | sessions | get |
langfuse-datasets| User Says | Resource | Action | |-----------|----------|--------| | "list datasets", "show datasets" | datasets | list | | "create dataset", "new dataset" | datasets | create | | "get dataset {name}" | datasets | get | | "list dataset items", "show items" | items | list | | "create dataset item", "add item" | items | create | | "get dataset item {id}" | items | get | | "delete dataset item" | items | delete | | "list runs", "show runs" | runs | list | | "get run" | runs | get | | "delete run" | runs | delete | | "list run items", "show results" | run-items | list | | "create run item", "log evaluation" | run-items | create |
langfuse-scores| User Says | Resource | Action | |-----------|----------|--------| | "list scores", "show evaluations" | scores | list | | "get score {id}" | scores | get | | "create score", "add score" | scores | create | | "delete score", "remove score" | scores | delete | | "list score configs", "show config" | configs | list | | "get score config {id}" | configs | get | | "create score config", "new config" | configs | create | | "update score config", "archive config" | configs | update |
langfuse-queues| User Says | Resource | Action | |-----------|----------|--------| | "list queues", "annotation queues" | queues | list | | "create queue", "new queue" | queues | create | | "get queue {id}" | queues | get | | "list queue items" | items | list | | "add to queue" | items | create | | "get queue item" | items | get | | "update queue item", "annotate" | items | update | | "remove from queue" | items | delete | | "assign reviewer" | assignments | create | | "unassign reviewer" | assignments | delete |
langfuse-prompts| User Says | Action | |-----------|--------| | "list prompts", "show prompts" | list | | "get prompt {name}" | get | | "create prompt", "new prompt" | create | | "delete prompt" | delete | | "update prompt version", "set labels" | update-version |
langfuse-models| User Says | Action | |-----------|--------| | "list models", "model costs" | list | | "get model {id}" | get | | "create model" | create | | "delete model" | delete |
langfuse-admin| User Says | Resource | Action | |-----------|----------|--------| | "current project", "get project" | projects | get | | "create project" | projects | create | | "update project", "rename project" | projects | update | | "delete project" | projects | delete | | "list api keys" | api-keys | list | | "create api key" | api-keys | create | | "delete api key" | api-keys | delete | | "list members", "org members" | org | list-memberships | | "change role", "update member" | org | update-membership | | "remove member" | org | delete-membership | | "list org projects" | org | list-projects | | "org api keys" | org | list-api-keys |
langfuse-ingestion| User Says | Resource | Action | |-----------|----------|--------| | "batch ingest", "bulk import" | batch | ingest | | "otel ingest", "opentelemetry" | otel | ingest | | "list comments" | comments | list | | "get comment" | comments | get | | "create comment", "add comment" | comments | create | | "get media" | media | get | | "update media" | media | update | | "upload url", "media upload" | media | upload-url |
langfuse-status| User Says | Action | |-----------|--------| | "health check", "is langfuse up" | health | | "metrics", "usage stats" | metrics |
# Check config
uv run python skills/integrations/langfuse/langfuse-master/scripts/check_langfuse_config.py --test
# List recent traces
uv run python scripts/traces.py --resource traces --action list --limit 10
# Get specific trace
uv run python scripts/traces.py --resource traces --action get --id abc123
# Create a score
uv run python scripts/scores.py --resource scores --action create --trace {id} --name tool_efficiency --value 0.85
# GET /sessions/{id} does NOT include observations
# Must call GET /traces/{id} for each trace
for trace in session["traces"]:
full = client.get(f"/traces/{trace['id']}")
obs = full.get("observations", [])
# CORRECT
{"value": "archive", "configId": "..."}
# WRONG (400 error)
{"value": 2, "stringValue": "archive"}
CONFIG_IDS = {
# Quality Dimensions (NUMERIC 0-1 unless noted)
"goal_achievement": "68cfd90c-8c9e-4907-808d-869ccd9a4c07", # CATEGORICAL
"tool_efficiency": "84965473-0f54-4248-999e-7b8627fc9c29",
"process_adherence": "651fc213-4750-4d4e-8155-270235c7cad8",
"context_efficiency": "ae22abed-bd4a-4926-af74-8d71edb1925d",
"error_handling": "96c290b7-e3a6-4caa-bace-93cf55f70f1c", # CATEGORICAL
"output_quality": "d33b1fbf-d3c6-458c-90ca-0b515fe09aed",
"overall_quality": "793f09d9-0053-4310-ad32-00dc06c69a71",
# Meta Scores
"root_cause_issues": "669bead7-1936-4fc4-bae8-e7814c9eab04", # CATEGORICAL
"session_improvements": "2e87193b-c853-4955-b2f0-9fa572531681", # CATEGORICAL
"session_notes": "67640329-0c03-4be6-bc9f-49765a0462b5", # NUMERIC (value=1 + comment/metadata)
}
| Score | Labels | |-------|--------| | goal_achievement | failed, partial, complete, exceeded | | error_handling | poor, struggled, recovered, prevented | | root_cause_issues | none, tool_misuse, process_violation, context_waste, error_cascade, output_quality, multiple | | session_improvements | none, minor, moderate, significant, critical |
On error, load: langfuse-master/references/error-handling.md
Common issues:
langfuse-master/langfuse-master/references/setup-guide.mdlangfuse-master/references/api-reference.mdtools
Build a Palantir-shape, PDF-native use-case proposal document for a sophisticated enterprise account: research-grounded use cases (each with description, challenge, impact, value), an operating-graph ontology page, a recommended PoC with a week-by-week plan, and a closing page that asks for one decision. Load when a client asks us to 'propose high-impact use cases', requests a use-case presentation/catalog for a function (finance, HR, ops), or when a technical evaluation team will review candidates to pick a PoC. NOT for single-account cold outreach (use prospect-brief), full process diagnostics (use operating-diagnostic), or priced proposals (use proposal-creation).
development
Convert Beam Figma slide designs into high-fidelity, editable HTML presentation decks. Use when Codex is asked to audit Figma slides, extract slide templates, rebuild Beam slides as HTML decks, decide whether Figma imagery should be exported or rebuilt in HTML/CSS, create Beam/Prism-compatible deck templates, or improve fidelity of existing Beam HTML slide rebuilds.
development
Use the Beam AI reusable slide library: individual HTML slide templates extracted from Beam Figma rebuilds, kept separate from deck themes and full deck templates. Load when the user asks for a slide library, specific Beam slide patterns, reusable Figma-inspired slides, Prism slide-library items, or slide-level HTML templates.
development
Use Beam AI deck and report design packs, HTML templates, and curated examples to create sales decks, customer intro decks, RPO decks, and DIN A4 use-case proposal reports. Load when the user asks for Beam-branded presentation templates, Prism-compatible deck templates, Beam report templates, customer intro decks, commercial proposals, or reusable HTML deck/report examples.