Datadog Query Recipes
langfuse/langfuse
Research Langfuse production telemetry with reusable Datadog queries.
Set up Langfuse local development workflow with hot reload and debugging.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace langfuse-local-dev-loop --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/langfuse-local-dev-loop .claude/skills/langfuse-local-dev-loop && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "langfuse-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/langfuse-local-dev-loop into .claude/skills/langfuse-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "langfuse-local-dev-loop", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/langfuse-local-dev-loopType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace langfuse-local-dev-loop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/.curated/langfuse-local-dev-loop .agents/skills/langfuse-local-dev-loop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "langfuse-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/langfuse-local-dev-loop into .agents/skills/langfuse-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "langfuse-local-dev-loop", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace langfuse-local-dev-loop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/.curated/langfuse-local-dev-loop .cursor/skills/langfuse-local-dev-loop && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "langfuse-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/langfuse-local-dev-loop into .cursor/skills/langfuse-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "langfuse-local-dev-loop", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jeremylongshore/tons-of-skills-marketplace.git --path skills/.curated/langfuse-local-dev-loop--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace langfuse-local-dev-loop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/.curated/langfuse-local-dev-loop .gemini/skills/langfuse-local-dev-loop && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "langfuse-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/langfuse-local-dev-loop into .gemini/skills/langfuse-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "langfuse-local-dev-loop", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jeremylongshore/tons-of-skills-marketplace langfuse-local-dev-loopInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/.curated/langfuse-local-dev-loop .github/skills/langfuse-local-dev-loop && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "langfuse-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/langfuse-local-dev-loop into .github/skills/langfuse-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "langfuse-local-dev-loop", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace langfuse-local-dev-loop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/.curated/langfuse-local-dev-loop .opencode/skills/langfuse-local-dev-loop && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "langfuse-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/langfuse-local-dev-loop into .opencode/skills/langfuse-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "langfuse-local-dev-loop", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
langfuse-local-dev-loopSet up Langfuse local development workflow with hot reload and debugging.
Langfuse Local Dev Loop is an agent skill from jeremylongshore/tons-of-skills-marketplace. Set up Langfuse local development workflow with hot reload and debugging. Use when developing LLM applications locally, debugging traces, or setting up a fast iteration loop with Langfuse. Trigger with phrases like "langfuse local dev", "langfuse development", "debug langfuse traces", "langfuse hot reload", "langfuse dev workflow".
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Designed for Claude Code
It sits in AI & LLM Engineering, covering LLM observability. It works with Langfuse and Docker. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 80f86df. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBash(npm:*)Bash(docker:*)Bash(pnpm:*)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
dockernpmtsxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
cloud.langfuse.comAlso links to:
langfuse.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
POSTGRES_PASSWORDNEXTAUTH_SECRETENCRYPTION_KEYLANGFUSE_PUBLIC_KEYLANGFUSE_SECRET_KEYOPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Claude Code
From compatibility in the SKILL.md frontmatter.
Langfuse Local Dev Loop loads about 1.9k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 279 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
# .env.local (git-ignored)"dev": "tsx watch --env-file=.env.local src/index.ts",": "DEBUG=langfuse* tsx watch --env-file=.env.local src/index.ts",LANGFUSE_DEBUG=true tsx watch --env-file=.env.local src/index.ts"`.env` file. Do not commit a database URI or reuse example or production values.# Update .env.localGFUSE_BASE_URL=http://localhost:3000' >> .env.localdentifier, and debug setting used. Keep `.env.local` secret values andAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jeremylongshore/tons-of-skills-marketplace at commit 80f86df, republished under its MIT licence (© jeremylongshore). 279 words, ~1,909 tokens.
.claude/skills/langfuse-local-dev-loop/SKILL.md (or your agent's skills folder).Fast local development workflow with Langfuse tracing, immediate trace visibility, debug logging, and optional self-hosted local instance via Docker.
langfuse-install-auth setuptsx for hot reload (npm install -D tsx)# .env.local (git-ignored)
LANGFUSE_PUBLIC_KEY=pk-lf-dev-...
LANGFUSE_SECRET_KEY=sk-lf-dev-...
LANGFUSE_BASE_URL=https://cloud.langfuse.com
# Dev-specific settings
NODE_ENV=development
OPENAI_API_KEY=sk-...// src/lib/langfuse-dev.ts
import { LangfuseSpanProcessor } from "@langfuse/otel";
import { NodeSDK } from "@opentelemetry/sdk-node";
import { LangfuseClient } from "@langfuse/client";
const isDev = process.env.NODE_ENV !== "production";
// Configure span processor with dev-friendly settings
const processor = new LangfuseSpanProcessor({
// In dev: flush immediately for instant visibility
...(isDev && { exportIntervalMillis: 1000, maxExportBatchSize: 1 }),
});
const sdk = new NodeSDK({ spanProcessors: [processor] });
sdk.start();
export const langfuse = new LangfuseClient();
// Print trace URLs in development
export function logTrace(traceId: string) {
if (isDev) {
const host = process.env.LANGFUSE_BASE_URL || "https://cloud.langfuse.com";
console.log(`\n Trace: ${host}/trace/${traceId}\n`);
}
}
// Clean shutdown
process.on("SIGINT", async () => {
await sdk.shutdown();
process.exit(0);
});// src/lib/langfuse-dev.ts
import { Langfuse } from "langfuse";
const isDev = process.env.NODE_ENV !== "production";
export const langfuse = new Langfuse({
flushAt: isDev ? 1 : 15, // Immediate flush in dev
flushInterval: isDev ? 1000 : 10000,
...(isDev && { debug: true }), // Verbose SDK logging
});
export function logTraceUrl(trace: ReturnType<typeof langfuse.trace>) {
if (isDev) {
console.log(`\n Trace: ${trace.getTraceUrl()}\n`);
}
}
process.on("beforeExit", async () => {
await langfuse.shutdownAsync();
});{
"scripts": {
"dev": "tsx watch --env-file=.env.local src/index.ts",
"dev:debug": "DEBUG=langfuse* tsx watch --env-file=.env.local src/index.ts",
"dev:trace": "LANGFUSE_DEBUG=true tsx watch --env-file=.env.local src/index.ts"
}
}// src/lib/dev-utils.ts
import { observe, updateActiveObservation, startActiveObservation } from "@langfuse/tracing";
// Quick traced function wrapper with console output
export function devTrace<T extends (...args: any[]) => Promise<any>>(
name: string,
fn: T
): T {
return observe({ name }, async (...args: Parameters<T>) => {
updateActiveObservation({ input: args, metadata: { env: "dev" } });
const start = Date.now();
const result = await fn(...args);
const duration = Date.now() - start;
updateActiveObservation({ output: result });
console.log(` [${name}] ${duration}ms`);
return result;
}) as T;
}
// Quick debug trace -- fire-and-forget diagnostic trace
export async function debugTrace(name: string, data: Record<string, any>) {
await startActiveObservation(`debug/${name}`, async () => {
updateActiveObservation({
input: data,
metadata: { debug: true, timestamp: new Date().toISOString() },
});
});
}// src/index.ts
import "dotenv/config";
import { initTracing, langfuse } from "./lib/langfuse-dev";
import { devTrace } from "./lib/dev-utils";
import OpenAI from "openai";
import { observeOpenAI } from "@langfuse/openai";
initTracing();
const openai = observeOpenAI(new OpenAI());
const askQuestion = devTrace("ask-question", async (question: string) => {
const response = await openai.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: question }],
});
return response.choices[0].message.content;
});
// Run on file save (tsx watch restarts automatically)
const answer = await askQuestion("What is Langfuse?");
console.log("Answer:", answer);For offline development or data privacy:
# docker-compose.langfuse.yml
services:
langfuse:
image: langfuse/langfuse:latest
ports:
- "3000:3000"
environment:
- DATABASE_URL=${DATABASE_URL}
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- NEXTAUTH_URL=http://localhost:3000
- SALT=${SALT}
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
depends_on:
- db
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: langfuse
volumes:
- langfuse-db:/var/lib/postgresql/data
volumes:
langfuse-db:Before starting the stack, place unique local-only values for DATABASE_URL,
POSTGRES_PASSWORD, NEXTAUTH_SECRET, SALT, and ENCRYPTION_KEY in a git-ignored
.env file. Do not commit a database URI or reuse example or production values.
set -euo pipefail
# Start local Langfuse
docker compose -f docker-compose.langfuse.yml up -d
# Wait for startup, then visit http://localhost:3000
# Create account, project, and API keys in the local UI
# Update .env.local
echo 'LANGFUSE_BASE_URL=http://localhost:3000' >> .env.local| Issue | Cause | Solution |
|---|---|---|
| Traces delayed in dev | Batching still active | Set flushAt: 1 or exportIntervalMillis: 1000 |
| No debug output | Debug not enabled | Set LANGFUSE_DEBUG=true or DEBUG=langfuse* |
| Hot reload not working | Wrong watch command | Use tsx watch (not ts-node) |
| Local instance 502 | DB not ready | Wait 10s for PostgreSQL startup |
| Traces going to cloud | Wrong LANGFUSE_BASE_URL | Point to http://localhost:3000 |
Produce a local development receipt naming the SDK/runtime version, local or cloud host,
sample trace identifier, and debug setting used. Keep .env.local secret values and
local database credentials out of logs and commits.
Start the watch process, change a prompt or traced function, and verify the reload emits
one local trace. For self-hosting, bring up Compose, create a disposable project and key
in the local UI, then prove that the application points to localhost rather than cloud.
For SDK patterns and best practices, see langfuse-sdk-patterns.
© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/.curated/langfuse-local-dev-loop of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit 80f86df
Langfuse Local Dev Loop next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Langfuse Local Dev Loop this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.9k | Automated safety check: Notes | MIT | |
| Datadog Query Recipeslangfuse/langfuse | 36k | — | ~824 | Automated safety check: Pass | Custom licence | |
| Linear Work Rhythmlangfuse/langfuse | 36k | — | ~3.4k | Automated safety check: Pass | Custom licence | |
| Code Reviewlangfuse/langfuse | 36k | — | ~591 | Automated safety check: Pass | Custom licence | |
| Refactor React Effectslangfuse/langfuse | 36k | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| Langfuseavivsinai/langfuse-mcp | 113 | 1 repos | ~580 | Automated safety check: Pass | MIT |
langfuse/langfuse
Research Langfuse production telemetry with reusable Datadog queries.
langfuse/langfuse
Answer "what should I do today" for a Langfuse maintainer, from the tracker rather than from memory: which projects you lead, which owe an update before the Monday engineering weekly, what shipped…
langfuse/langfuse
Review Langfuse code changes for correctness, regressions, and best practices.
langfuse/langfuse
Refactor avoidable React useEffect usage in Langfuse frontend code.
avivsinai/langfuse-mcp
Investigate AI traces, observations, exceptions, latency, sessions, prompts, datasets, annotation queues, and scores through Langfuse MCP.
langfuse/langfuse-docs
Create a new Langfuse integration page in the langfuse-docs repo.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Execute proactive auto-loading: automatically detects and loads agents.md files.
jeremylongshore/tons-of-skills-marketplace
Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.
jeremylongshore/tons-of-skills-marketplace
Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Categories
Set up Langfuse local development workflow with hot reload and debugging. Langfuse Local Dev Loop is an agent skill from jeremylongshore/tons-of-skills-marketplace. Set up Langfuse local development workflow with hot reload and debugging.
Langfuse Local Dev Loop fits situations like: developing LLM applications locally; debugging traces; setting up a fast iteration loop with Langfuse; with phrases like langfuse local dev.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a claude-code`. Or copy the skill folder (skills/.curated/langfuse-local-dev-loop in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/langfuse-local-dev-loop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a codex`. Or copy the skill folder (skills/.curated/langfuse-local-dev-loop in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/langfuse-local-dev-loop in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill langfuse-local-dev-loop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/langfuse-local-dev-loop, .gemini/skills/langfuse-local-dev-loop, .github/skills/langfuse-local-dev-loop and .opencode/skills/langfuse-local-dev-loop in your project.
Going by SKILL.md and its folder, Langfuse Local Dev Loop needs the command-line tools its instructions call (docker, npm and tsx) and credentials named POSTGRES_PASSWORD, NEXTAUTH_SECRET, ENCRYPTION_KEY and LANGFUSE_PUBLIC_KEY. Our summary lists: Node.js; Docker; A credential in LANGFUSE_PUBLIC_KEY; A credential in LANGFUSE_SECRET_KEY. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(npm:*), Bash(docker:*), Bash(pnpm:*). Compatibility (from SKILL.md): Designed for Claude Code.
SKILL.md names 2 domains. In commands or code: cloud.langfuse.com; the agent is likely to contact it when it follows the instructions. As links in the text: langfuse.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Langfuse Local Dev Loop is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Langfuse Local Dev Loop: Datadog Query Recipes (langfuse/langfuse, 36k stars), Linear Work Rhythm (langfuse/langfuse, 36k stars), Code Review (langfuse/langfuse, 36k stars) and Refactor React Effects (langfuse/langfuse, 36k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,825 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 9, 2026.
Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.