smithery/jeremylongshore

langfuse-debug-bundle

Collect Langfuse debug evidence for support tickets and troubleshooting. Use when encountering persistent issues, preparing support tickets, or collecting diagnostic information for Langfuse problems. Trigger with phrases like "langfuse debug", "langfuse support bundle", "collect langfuse logs", "langfuse diagnostic", "langfuse troubleshoot". '

Installation

$ npx skills add smithery/jeremylongshore --skill langfuse-debug-bundle

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/jeremylongshore · top by installs.

npx skills add smithery/jeremylongshore

Browse all from smithery/jeremylongshore

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.17.0
LicenseMIT
CompatibilityDesigned for Claude Code
Allowed toolsRead, Bash(grep:*), Bash(curl:*), Bash(tar:*), Grep
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,936 B
  • docs SUMMARY.md 377 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Langfuse Debug Bundle

Current State

!node --version 2>/dev/null || echo 'N/A' !python3 --version 2>/dev/null || echo 'N/A' !npm list langfuse @langfuse/client @langfuse/tracing 2>/dev/null | head -5 || echo 'No langfuse packages'

Overview

Collect all diagnostic information needed for Langfuse support tickets: environment versions, SDK config, API connectivity, redacted logs, and a reproduction template.

Prerequisites

  • Langfuse SDK installed
  • Access to application logs
  • Bash shell available

Instructions

Step 1: Run the Full Debug Bundle Script

Save this as langfuse-debug.sh and run it:

#!/bin/bash
set -euo pipefail

BUNDLE_DIR="langfuse-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"

echo "=== Langfuse Debug Bundle ===" | tee "$BUNDLE_DIR/summary.txt"
echo "Generated: $(date)" | tee -a "$BUNDLE_DIR/summary.txt"

# --- Environment ---
{
  echo ""
  echo "--- Environment ---"
  echo "Node.js: $(node --version 2>/dev/null || echo 'not installed')"
  echo "Python: $(python3 --version 2>/dev/null || echo 'not installed')"
  echo "npm: $(npm --version 2>/dev/null || echo 'not installed')"
  echo "OS: $(uname -srm)"
} >> "$BUNDLE_DIR/summary.txt"

# --- SDK Versions ---
{
  echo ""
  echo "--- SDK Versions ---"
  npm list langfuse @langfuse/client @langfuse/tracing @langfuse/otel @langfuse/openai @langfuse/langchain 2>/dev/null || echo "npm: no langfuse packages"
  pip show langfuse 2>/dev/null | grep -E "Name|Version" || echo "pip: langfuse not found"
} >> "$BUNDLE_DIR/summary.txt"

# --- Config (redacted) ---
{
  echo ""
  echo "--- Langfuse Config ---"
  echo "LANGFUSE_PUBLIC_KEY: ${LANGFUSE_PUBLIC_KEY:+SET (${LANGFUSE_PUBLIC_KEY:0:12}...)}"
  echo "LANGFUSE_SECRET_KEY: ${LANGFUSE_SECRET_KEY:+SET}"
  echo "LANGFUSE_BASE_URL: ${LANGFUSE_BASE_URL:-NOT SET}"
  echo "LANGFUSE_HOST: ${LANGFUSE_HOST:-NOT SET}"
} >> "$BUNDLE_DIR/summary.txt"

# --- Network Connectivity ---
{
  echo ""
  echo "--- Network Test ---"
  HOST="${LANGFUSE_BASE_URL:-${LANGFUSE_HOST:-https://cloud.langfuse.com}}"
  echo "Target host: $HOST"
  echo -n "Health endpoint: "
  curl -s -o /dev/null -w "%{http_code} (%{time_total}s)" "$HOST/api/public/health" 2>/dev/null || echo "FAILED"
  echo ""

  if [ -n "${LANGFUSE_PUBLIC_KEY:-}" ] && [ -n "${LANGFUSE_SECRET_KEY:-}" ]; then
    AUTH=$(echo -n "$LANGFUSE_PUBLIC_KEY:$LANGFUSE_SECRET_KEY" | base64)
    echo -n "Auth test: "
    curl -s -o /dev/null -w "%{http_code}" \
      -H "Authorization: Basic $AUTH" \
      "$HOST/api/public/traces?limit=1" 2>/dev/null || echo "FAILED"
    echo ""
  fi
} >> "$BUNDLE_DIR/summary.txt"

# --- Application Logs (redacted) ---
if [ -d "logs" ]; then
  grep -i "langfuse\|trace\|generation\|flush" logs/*.log 2>/dev/null | \
    tail -100 | \
    sed 's/sk-lf-[a-zA-Z0-9]*/sk-lf-***REDACTED***/g' | \
    sed 's/pk-lf-[a-zA-Z0-9]*/pk-lf-***REDACTED***/g' \
    > "$BUNDLE_DIR/app-logs-redacted.txt" 2>/dev/null || true
fi

# --- Package Dependencies ---
if [ -f "package.json" ]; then
  grep -A 100 '"dependencies"' package.json | head -60 > "$BUNDLE_DIR/package-deps.txt" 2>/dev/null || true
fi

# --- Reproduction Template ---
cat > "$BUNDLE_DIR/reproduction-steps.md" << 'REPRO'
# Bug Report

## Environment
- Node.js version:
- Langfuse SDK version:
- Langfuse host: Cloud / Self-hosted (version: )

## Steps to Reproduce
1.
2.
3.

## Expected Behavior


## Actual Behavior


## Error Messages

Paste error output here


## Relevant Code

// Paste minimal reproduction here


REPRO

# --- Package ---

tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR" 2>/dev/null
echo ""
echo "Bundle created: $BUNDLE_DIR.tar.gz"
echo "Contents:"
ls -la "$BUNDLE_DIR/"

Step 2: Review Before Sharing

Always redact before submitting:

Include Redact
Error messages and stack traces API keys (pk-lf-, sk-lf-)
SDK versions and config structure Secret keys and passwords
HTTP status codes PII (emails, user IDs)
Timing and latency data Internal URLs and IPs
OS and runtime versions Database connection strings

Step 3: Submit to Support

  1. Run: bash langfuse-debug.sh
  2. Review bundle contents for leaked secrets
  3. Fill in reproduction-steps.md
  4. Submit via:

- GitHub Issues (public) - Discord (community) - Email support (enterprise customers)

Step 4: Quick Inline Diagnostic (No File)

For a fast check without creating files:

set -euo pipefail
echo "=== Quick Langfuse Check ==="
echo "Node: $(node --version 2>/dev/null || echo N/A)"
npm list langfuse @langfuse/client 2>/dev/null | head -5
echo ""
echo "Public Key: ${LANGFUSE_PUBLIC_KEY:+SET} | Secret Key: ${LANGFUSE_SECRET_KEY:+SET}"
HOST="${LANGFUSE_BASE_URL:-${LANGFUSE_HOST:-https://cloud.langfuse.com}}"
echo "Health: $(curl -s -o /dev/null -w '%{http_code}' $HOST/api/public/health)"

Error Handling

Collected Item Why It Matters
SDK version Version-specific bugs, breaking changes between v3/v4/v5
Environment versions Node 18+ required, Python 3.9+
Network test Firewall, DNS, self-hosted connectivity
Auth test Key validity, project mismatch
Redacted logs Trace errors, flush failures, rate limits
Package deps Conflicting versions, missing peer deps

Output

Produce a sanitized archive and a short reproduction report containing the SDK/runtime versions, affected deployment environment, health-check result, and exact reproduction steps. The bundle must exclude keys, authorization headers, customer inputs, and unredacted logs.

Examples

When traces are absent after a deployment, run the inline diagnostic, redact the log, and attach the smallest reproduction plus the deployment SHA. When an authentication failure occurs, report whether each key is set and the sanitized health status—never the key value or a Basic authorization header.

Resources