xiaohongshu
xiaohongshu
langfuse-dashboard
Automates Langfuse Cloud dashboard interactions using Playwright MCP. Captures screenshots for documentation, extracts metrics for monitoring, navigates trace details for investigation, and handles authentication. Use when documenting workflows, creating compliance screenshots, monitoring dashboa...
Full skill instructions
Purpose: Automate Langfuse Cloud dashboard interactions via Playwright MCP for screenshots, metrics, and trace investigation.
Dashboard URL: https://cloud.langfuse.com/project/cmhuwhcfe006yad06cqfub107
✅ Use when:
❌ Do NOT use when:
langfuse-extraction skill with API)langfuse-integration skill)/mcp command)Purpose: Document current dashboard state for reports
Steps:
1. Navigate to dashboard
2. Wait for content to load (CRITICAL: networkidle)
3. Take full-page screenshot
4. Save with timestamp
MCP Tools Sequence:
# Step 1: Navigate
mcp__playwright__browser_navigate(
url="https://cloud.langfuse.com/project/cmhuwhcfe006yad06cqfub107/traces"
)
# Step 2: Wait for load (CRITICAL)
mcp__playwright__browser_wait_for(time=3) # Wait 3 seconds for React app
# Step 3: Take screenshot
mcp__playwright__browser_take_screenshot(
fullPage=True,
filename=f"langfuse_dashboard_{datetime.now().strftime('%Y%m%d_%H%M%S')}.png"
)
Purpose: Get metrics for monitoring/alerting
Steps:
1. Navigate to dashboard
2. Wait for networkidle
3. Snapshot accessibility tree
4. Evaluate JavaScript to extract metrics from DOM
5. Return metrics as structured data
MCP Tools Sequence:
# Navigate and wait
mcp__playwright__browser_navigate(
url="https://cloud.langfuse.com/project/cmhuwhcfe006yad06cqfub107"
)
mcp__playwright__browser_wait_for(time=5)
# Snapshot (better than screenshot for data extraction)
snapshot = mcp__playwright__browser_snapshot()
# Evaluate JavaScript to extract metrics
metrics = mcp__playwright__browser_evaluate(
function="""
() => {
return {
total_traces: document.querySelector('[data-testid="trace-count"]')?.textContent || 'N/A',
avg_latency: document.querySelector('[data-testid="avg-latency"]')?.textContent || 'N/A',
total_cost: document.querySelector('[data-testid="total-cost"]')?.textContent || 'N/A'
};
}
"""
)
print(f"Metrics: {metrics}")
Purpose: Investigate specific trace visually in dashboard
Steps:
1. Navigate directly to trace URL
2. Wait for trace tree to load
3. Click "Expand All" to show all spans
4. Take screenshot of full trace
5. Optionally extract span data from DOM
MCP Tools Sequence:
trace_id = "abc123def456"
# Navigate to trace
mcp__playwright__browser_navigate(
url=f"https://cloud.langfuse.com/trace/{trace_id}"
)
# Wait for trace tree
mcp__playwright__browser_wait_for(time=5)
# Expand all spans (if button exists)
try:
mcp__playwright__browser_click(
element="Expand All button",
ref="[data-testid='expand-all']"
)
except:
pass # Button may not exist
# Screenshot
mcp__playwright__browser_take_screenshot(
fullPage=True,
filename=f"trace_{trace_id}_investigation.png"
)
Purpose: View only pharmaceutical/gamp5 tagged traces
Steps:
1. Navigate to traces page
2. Wait for load
3. Click filter dropdown
4. Select "pharmaceutical" tag
5. Screenshot filtered view
MCP Tools Sequence:
mcp__playwright__browser_navigate(
url="https://cloud.langfuse.com/project/cmhuwhcfe006yad06cqfub107/traces"
)
mcp__playwright__browser_wait_for(time=3)
# Click filter button
mcp__playwright__browser_click(
element="Filter button",
ref="[data-testid='filter-button']"
)
# Click tag filter
mcp__playwright__browser_click(
element="Tag filter: pharmaceutical",
ref="[data-tag='pharmaceutical']"
)
# Screenshot filtered results
mcp__playwright__browser_take_screenshot(
fullPage=True,
filename="filtered_pharmaceutical_traces.png"
)
CRITICAL: Langfuse dashboard is a React app that loads asynchronously.
# WRONG (will capture blank page)
mcp__playwright__browser_navigate(url=dashboard_url)
mcp__playwright__browser_take_screenshot(...) # Too fast!
# CORRECT
mcp__playwright__browser_navigate(url=dashboard_url)
mcp__playwright__browser_wait_for(time=5) # Wait for React to render
mcp__playwright__browser_take_screenshot(...)
Snapshots (accessibility tree) are better than screenshots for extracting data:
# For visual documentation: Use screenshot
mcp__playwright__browser_take_screenshot(fullPage=True)
# For data extraction: Use snapshot
snapshot = mcp__playwright__browser_snapshot()
# Returns structured accessibility tree with text content
If not logged in, Langfuse redirects to login page. Options:
PROJECT_ID = "cmhuwhcfe006yad06cqfub107"
urls = {
"traces": f"https://cloud.langfuse.com/project/{PROJECT_ID}/traces",
"sessions": f"https://cloud.langfuse.com/project/{PROJECT_ID}/sessions",
"users": f"https://cloud.langfuse.com/project/{PROJECT_ID}/users",
"metrics": f"https://cloud.langfuse.com/project/{PROJECT_ID}/metrics",
"settings": f"https://cloud.langfuse.com/project/{PROJECT_ID}/settings",
"specific_trace": lambda trace_id: f"https://cloud.langfuse.com/trace/{trace_id}"
}
Cause: Page not fully loaded.
Solution: Increase wait time.
mcp__playwright__browser_wait_for(time=10) # Increase to 10 seconds
Cause: Langfuse UI changed or element not visible.
Solution: Use accessibility snapshot to find correct selector.
snapshot = mcp__playwright__browser_snapshot()
# Inspect snapshot for correct element reference
Cause: Not logged in.
Solution: Login manually first, or skip dashboard skill and use API (langfuse-extraction).
Skill Version: 1.0.0 Last Updated: 2025-01-17 Playwright MCP: Enabled via /mcp command Dashboard: cloud.langfuse.com
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience