opencode-skills-collection 1.0.186 → 1.0.188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +5 -1
- package/bundled-skills/3d-web-experience/SKILL.md +152 -37
- package/bundled-skills/agent-evaluation/SKILL.md +1088 -26
- package/bundled-skills/agent-memory-systems/SKILL.md +1037 -25
- package/bundled-skills/agent-tool-builder/SKILL.md +668 -16
- package/bundled-skills/ai-agents-architect/SKILL.md +271 -31
- package/bundled-skills/ai-product/SKILL.md +716 -26
- package/bundled-skills/ai-wrapper-product/SKILL.md +450 -44
- package/bundled-skills/algolia-search/SKILL.md +867 -15
- package/bundled-skills/autonomous-agents/SKILL.md +1033 -26
- package/bundled-skills/aws-serverless/SKILL.md +1046 -35
- package/bundled-skills/azure-functions/SKILL.md +1318 -19
- package/bundled-skills/browser-automation/SKILL.md +1065 -28
- package/bundled-skills/browser-extension-builder/SKILL.md +159 -32
- package/bundled-skills/bullmq-specialist/SKILL.md +347 -16
- package/bundled-skills/clerk-auth/SKILL.md +796 -15
- package/bundled-skills/computer-use-agents/SKILL.md +1870 -28
- package/bundled-skills/context-window-management/SKILL.md +271 -18
- package/bundled-skills/conversation-memory/SKILL.md +453 -24
- package/bundled-skills/crewai/SKILL.md +252 -46
- package/bundled-skills/discord-bot-architect/SKILL.md +1207 -34
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +4 -4
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/email-systems/SKILL.md +646 -26
- package/bundled-skills/faf-expert/SKILL.md +221 -0
- package/bundled-skills/faf-wizard/SKILL.md +252 -0
- package/bundled-skills/file-uploads/SKILL.md +212 -11
- package/bundled-skills/firebase/SKILL.md +646 -16
- package/bundled-skills/gcp-cloud-run/SKILL.md +1117 -32
- package/bundled-skills/graphql/SKILL.md +1026 -27
- package/bundled-skills/hubspot-integration/SKILL.md +804 -19
- package/bundled-skills/idea-darwin/SKILL.md +120 -0
- package/bundled-skills/inngest/SKILL.md +431 -16
- package/bundled-skills/interactive-portfolio/SKILL.md +342 -44
- package/bundled-skills/langfuse/SKILL.md +296 -41
- package/bundled-skills/langgraph/SKILL.md +259 -50
- package/bundled-skills/micro-saas-launcher/SKILL.md +343 -44
- package/bundled-skills/neon-postgres/SKILL.md +572 -15
- package/bundled-skills/nextjs-supabase-auth/SKILL.md +269 -21
- package/bundled-skills/notion-template-business/SKILL.md +371 -44
- package/bundled-skills/personal-tool-builder/SKILL.md +537 -44
- package/bundled-skills/plaid-fintech/SKILL.md +825 -19
- package/bundled-skills/prompt-caching/SKILL.md +438 -25
- package/bundled-skills/rag-engineer/SKILL.md +271 -29
- package/bundled-skills/salesforce-development/SKILL.md +912 -19
- package/bundled-skills/satori/SKILL.md +54 -0
- package/bundled-skills/scroll-experience/SKILL.md +381 -44
- package/bundled-skills/segment-cdp/SKILL.md +817 -19
- package/bundled-skills/shopify-apps/SKILL.md +1475 -19
- package/bundled-skills/slack-bot-builder/SKILL.md +1162 -28
- package/bundled-skills/telegram-bot-builder/SKILL.md +152 -37
- package/bundled-skills/telegram-mini-app/SKILL.md +445 -44
- package/bundled-skills/trigger-dev/SKILL.md +916 -27
- package/bundled-skills/twilio-communications/SKILL.md +1310 -28
- package/bundled-skills/upstash-qstash/SKILL.md +898 -27
- package/bundled-skills/vercel-deployment/SKILL.md +637 -39
- package/bundled-skills/viral-generator-builder/SKILL.md +132 -37
- package/bundled-skills/voice-agents/SKILL.md +937 -27
- package/bundled-skills/voice-ai-development/SKILL.md +375 -46
- package/bundled-skills/workflow-automation/SKILL.md +982 -29
- package/bundled-skills/zapier-make-patterns/SKILL.md +772 -27
- package/package.json +1 -1
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: langfuse
|
|
3
|
-
description:
|
|
3
|
+
description: Expert in Langfuse - the open-source LLM observability platform.
|
|
4
|
+
Covers tracing, prompt management, evaluation, datasets, and integration with
|
|
5
|
+
LangChain, LlamaIndex, and OpenAI. Essential for debugging, monitoring, and
|
|
6
|
+
improving LLM applications in production.
|
|
4
7
|
risk: unknown
|
|
5
|
-
source:
|
|
6
|
-
date_added:
|
|
8
|
+
source: vibeship-spawner-skills (Apache 2.0)
|
|
9
|
+
date_added: 2026-02-27
|
|
7
10
|
---
|
|
8
11
|
|
|
9
12
|
# Langfuse
|
|
10
13
|
|
|
14
|
+
Expert in Langfuse - the open-source LLM observability platform. Covers tracing,
|
|
15
|
+
prompt management, evaluation, datasets, and integration with LangChain, LlamaIndex,
|
|
16
|
+
and OpenAI. Essential for debugging, monitoring, and improving LLM applications
|
|
17
|
+
in production.
|
|
18
|
+
|
|
11
19
|
**Role**: LLM Observability Architect
|
|
12
20
|
|
|
13
21
|
You are an expert in LLM observability and evaluation. You think in terms of
|
|
@@ -15,6 +23,14 @@ traces, spans, and metrics. You know that LLM applications need monitoring
|
|
|
15
23
|
just like traditional software - but with different dimensions (cost, quality,
|
|
16
24
|
latency). You use data to drive prompt improvements and catch regressions.
|
|
17
25
|
|
|
26
|
+
### Expertise
|
|
27
|
+
|
|
28
|
+
- Tracing architecture
|
|
29
|
+
- Prompt versioning
|
|
30
|
+
- Evaluation strategies
|
|
31
|
+
- Cost optimization
|
|
32
|
+
- Quality monitoring
|
|
33
|
+
|
|
18
34
|
## Capabilities
|
|
19
35
|
|
|
20
36
|
- LLM tracing and observability
|
|
@@ -25,11 +41,42 @@ latency). You use data to drive prompt improvements and catch regressions.
|
|
|
25
41
|
- Performance monitoring
|
|
26
42
|
- A/B testing prompts
|
|
27
43
|
|
|
28
|
-
##
|
|
44
|
+
## Prerequisites
|
|
45
|
+
|
|
46
|
+
- 0: LLM application basics
|
|
47
|
+
- 1: API integration experience
|
|
48
|
+
- 2: Understanding of tracing concepts
|
|
49
|
+
- Required skills: Python or TypeScript/JavaScript, Langfuse account (cloud or self-hosted), LLM API keys
|
|
50
|
+
|
|
51
|
+
## Scope
|
|
52
|
+
|
|
53
|
+
- 0: Self-hosted requires infrastructure
|
|
54
|
+
- 1: High-volume may need optimization
|
|
55
|
+
- 2: Real-time dashboard has latency
|
|
56
|
+
- 3: Evaluation requires setup
|
|
57
|
+
|
|
58
|
+
## Ecosystem
|
|
59
|
+
|
|
60
|
+
### Primary
|
|
61
|
+
|
|
62
|
+
- Langfuse Cloud
|
|
63
|
+
- Langfuse Self-hosted
|
|
64
|
+
- Python SDK
|
|
65
|
+
- JS/TS SDK
|
|
66
|
+
|
|
67
|
+
### Common_integrations
|
|
68
|
+
|
|
69
|
+
- LangChain
|
|
70
|
+
- LlamaIndex
|
|
71
|
+
- OpenAI SDK
|
|
72
|
+
- Anthropic SDK
|
|
73
|
+
- Vercel AI SDK
|
|
74
|
+
|
|
75
|
+
### Platforms
|
|
29
76
|
|
|
30
|
-
- Python
|
|
31
|
-
-
|
|
32
|
-
-
|
|
77
|
+
- Any Python/JS backend
|
|
78
|
+
- Serverless functions
|
|
79
|
+
- Jupyter notebooks
|
|
33
80
|
|
|
34
81
|
## Patterns
|
|
35
82
|
|
|
@@ -39,7 +86,6 @@ Instrument LLM calls with Langfuse
|
|
|
39
86
|
|
|
40
87
|
**When to use**: Any LLM application
|
|
41
88
|
|
|
42
|
-
```python
|
|
43
89
|
from langfuse import Langfuse
|
|
44
90
|
|
|
45
91
|
# Initialize client
|
|
@@ -91,7 +137,6 @@ trace.score(
|
|
|
91
137
|
|
|
92
138
|
# Flush before exit (important in serverless)
|
|
93
139
|
langfuse.flush()
|
|
94
|
-
```
|
|
95
140
|
|
|
96
141
|
### OpenAI Integration
|
|
97
142
|
|
|
@@ -99,7 +144,6 @@ Automatic tracing with OpenAI SDK
|
|
|
99
144
|
|
|
100
145
|
**When to use**: OpenAI-based applications
|
|
101
146
|
|
|
102
|
-
```python
|
|
103
147
|
from langfuse.openai import openai
|
|
104
148
|
|
|
105
149
|
# Drop-in replacement for OpenAI client
|
|
@@ -139,7 +183,6 @@ async def main():
|
|
|
139
183
|
messages=[{"role": "user", "content": "Hello"}],
|
|
140
184
|
name="async-greeting"
|
|
141
185
|
)
|
|
142
|
-
```
|
|
143
186
|
|
|
144
187
|
### LangChain Integration
|
|
145
188
|
|
|
@@ -147,7 +190,6 @@ Trace LangChain applications
|
|
|
147
190
|
|
|
148
191
|
**When to use**: LangChain-based applications
|
|
149
192
|
|
|
150
|
-
```python
|
|
151
193
|
from langchain_openai import ChatOpenAI
|
|
152
194
|
from langchain_core.prompts import ChatPromptTemplate
|
|
153
195
|
from langfuse.callback import CallbackHandler
|
|
@@ -194,50 +236,263 @@ result = agent_executor.invoke(
|
|
|
194
236
|
{"input": "What's the weather?"},
|
|
195
237
|
config={"callbacks": [langfuse_handler]}
|
|
196
238
|
)
|
|
197
|
-
```
|
|
198
239
|
|
|
199
|
-
|
|
240
|
+
### Prompt Management
|
|
241
|
+
|
|
242
|
+
Version and deploy prompts
|
|
243
|
+
|
|
244
|
+
**When to use**: Managing prompts across environments
|
|
245
|
+
|
|
246
|
+
from langfuse import Langfuse
|
|
247
|
+
|
|
248
|
+
langfuse = Langfuse()
|
|
249
|
+
|
|
250
|
+
# Fetch prompt from Langfuse
|
|
251
|
+
# (Create in UI or via API first)
|
|
252
|
+
prompt = langfuse.get_prompt("customer-support-v2")
|
|
253
|
+
|
|
254
|
+
# Get compiled prompt with variables
|
|
255
|
+
compiled = prompt.compile(
|
|
256
|
+
customer_name="John",
|
|
257
|
+
issue="billing question"
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
# Use with OpenAI
|
|
261
|
+
response = openai.chat.completions.create(
|
|
262
|
+
model=prompt.config.get("model", "gpt-4o"),
|
|
263
|
+
messages=compiled,
|
|
264
|
+
temperature=prompt.config.get("temperature", 0.7)
|
|
265
|
+
)
|
|
266
|
+
|
|
267
|
+
# Link generation to prompt version
|
|
268
|
+
trace = langfuse.trace(name="support-chat")
|
|
269
|
+
generation = trace.generation(
|
|
270
|
+
name="response",
|
|
271
|
+
model="gpt-4o",
|
|
272
|
+
prompt=prompt # Links to specific version
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
# Create/update prompts via API
|
|
276
|
+
langfuse.create_prompt(
|
|
277
|
+
name="customer-support-v3",
|
|
278
|
+
prompt=[
|
|
279
|
+
{"role": "system", "content": "You are a support agent..."},
|
|
280
|
+
{"role": "user", "content": "{{user_message}}"}
|
|
281
|
+
],
|
|
282
|
+
config={
|
|
283
|
+
"model": "gpt-4o",
|
|
284
|
+
"temperature": 0.7
|
|
285
|
+
},
|
|
286
|
+
labels=["production"] # or ["staging", "development"]
|
|
287
|
+
)
|
|
288
|
+
|
|
289
|
+
# Fetch specific label
|
|
290
|
+
prompt = langfuse.get_prompt(
|
|
291
|
+
"customer-support-v3",
|
|
292
|
+
label="production" # Gets latest with this label
|
|
293
|
+
)
|
|
294
|
+
|
|
295
|
+
### Evaluation and Scoring
|
|
296
|
+
|
|
297
|
+
Evaluate LLM outputs systematically
|
|
298
|
+
|
|
299
|
+
**When to use**: Quality assurance and improvement
|
|
300
|
+
|
|
301
|
+
from langfuse import Langfuse
|
|
302
|
+
|
|
303
|
+
langfuse = Langfuse()
|
|
304
|
+
|
|
305
|
+
# Manual scoring in code
|
|
306
|
+
trace = langfuse.trace(name="qa-flow")
|
|
307
|
+
|
|
308
|
+
# After getting response
|
|
309
|
+
trace.score(
|
|
310
|
+
name="relevance",
|
|
311
|
+
value=0.85, # 0-1 scale
|
|
312
|
+
comment="Response addressed the question"
|
|
313
|
+
)
|
|
314
|
+
|
|
315
|
+
trace.score(
|
|
316
|
+
name="correctness",
|
|
317
|
+
value=1, # Binary: 0 or 1
|
|
318
|
+
data_type="BOOLEAN"
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
# LLM-as-judge evaluation
|
|
322
|
+
def evaluate_response(question: str, response: str) -> float:
|
|
323
|
+
eval_prompt = f"""
|
|
324
|
+
Rate the response quality from 0 to 1.
|
|
325
|
+
|
|
326
|
+
Question: {question}
|
|
327
|
+
Response: {response}
|
|
328
|
+
|
|
329
|
+
Output only a number between 0 and 1.
|
|
330
|
+
"""
|
|
331
|
+
|
|
332
|
+
result = openai.chat.completions.create(
|
|
333
|
+
model="gpt-4o-mini", # Cheaper model for eval
|
|
334
|
+
messages=[{"role": "user", "content": eval_prompt}]
|
|
335
|
+
)
|
|
336
|
+
|
|
337
|
+
return float(result.choices[0].message.content.strip())
|
|
338
|
+
|
|
339
|
+
# Score asynchronously
|
|
340
|
+
score = evaluate_response(question, response)
|
|
341
|
+
trace.score(
|
|
342
|
+
name="quality-llm-judge",
|
|
343
|
+
value=score
|
|
344
|
+
)
|
|
345
|
+
|
|
346
|
+
# Create evaluation dataset
|
|
347
|
+
dataset = langfuse.create_dataset(name="support-qa-v1")
|
|
348
|
+
|
|
349
|
+
# Add items to dataset
|
|
350
|
+
langfuse.create_dataset_item(
|
|
351
|
+
dataset_name="support-qa-v1",
|
|
352
|
+
input={"question": "How do I reset my password?"},
|
|
353
|
+
expected_output="Go to settings > security > reset password"
|
|
354
|
+
)
|
|
355
|
+
|
|
356
|
+
# Run evaluation on dataset
|
|
357
|
+
dataset = langfuse.get_dataset("support-qa-v1")
|
|
358
|
+
|
|
359
|
+
for item in dataset.items:
|
|
360
|
+
# Generate response
|
|
361
|
+
response = generate_response(item.input["question"])
|
|
362
|
+
|
|
363
|
+
# Link to dataset item
|
|
364
|
+
trace = langfuse.trace(name="eval-run")
|
|
365
|
+
trace.generation(
|
|
366
|
+
name="response",
|
|
367
|
+
input=item.input,
|
|
368
|
+
output=response
|
|
369
|
+
)
|
|
370
|
+
|
|
371
|
+
# Score against expected
|
|
372
|
+
similarity = calculate_similarity(response, item.expected_output)
|
|
373
|
+
trace.score(name="similarity", value=similarity)
|
|
374
|
+
|
|
375
|
+
# Link trace to dataset item
|
|
376
|
+
item.link(trace, "eval-run-1")
|
|
377
|
+
|
|
378
|
+
### Decorator Pattern
|
|
379
|
+
|
|
380
|
+
Clean instrumentation with decorators
|
|
381
|
+
|
|
382
|
+
**When to use**: Function-based applications
|
|
383
|
+
|
|
384
|
+
from langfuse.decorators import observe, langfuse_context
|
|
200
385
|
|
|
201
|
-
|
|
386
|
+
@observe() # Creates a trace
|
|
387
|
+
def chat_handler(user_id: str, message: str) -> str:
|
|
388
|
+
# All nested @observe calls become spans
|
|
389
|
+
context = get_context(message)
|
|
390
|
+
response = generate_response(message, context)
|
|
391
|
+
return response
|
|
202
392
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
393
|
+
@observe() # Becomes a span under parent trace
|
|
394
|
+
def get_context(message: str) -> str:
|
|
395
|
+
# RAG retrieval
|
|
396
|
+
docs = retriever.get_relevant_documents(message)
|
|
397
|
+
return "\n".join([d.page_content for d in docs])
|
|
206
398
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
399
|
+
@observe(as_type="generation") # LLM generation span
|
|
400
|
+
def generate_response(message: str, context: str) -> str:
|
|
401
|
+
response = openai.chat.completions.create(
|
|
402
|
+
model="gpt-4o",
|
|
403
|
+
messages=[
|
|
404
|
+
{"role": "system", "content": f"Context: {context}"},
|
|
405
|
+
{"role": "user", "content": message}
|
|
406
|
+
]
|
|
407
|
+
)
|
|
408
|
+
return response.choices[0].message.content
|
|
409
|
+
|
|
410
|
+
# Add metadata and scores
|
|
411
|
+
@observe()
|
|
412
|
+
def main_flow(user_input: str):
|
|
413
|
+
# Update current trace
|
|
414
|
+
langfuse_context.update_current_trace(
|
|
415
|
+
user_id="user-123",
|
|
416
|
+
session_id="session-456",
|
|
417
|
+
tags=["production"]
|
|
418
|
+
)
|
|
419
|
+
|
|
420
|
+
result = process(user_input)
|
|
421
|
+
|
|
422
|
+
# Score the trace
|
|
423
|
+
langfuse_context.score_current_trace(
|
|
424
|
+
name="success",
|
|
425
|
+
value=1 if result else 0
|
|
426
|
+
)
|
|
210
427
|
|
|
211
|
-
|
|
428
|
+
return result
|
|
212
429
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
430
|
+
# Works with async
|
|
431
|
+
@observe()
|
|
432
|
+
async def async_handler(message: str):
|
|
433
|
+
result = await async_generate(message)
|
|
434
|
+
return result
|
|
435
|
+
|
|
436
|
+
## Collaboration
|
|
437
|
+
|
|
438
|
+
### Delegation Triggers
|
|
216
439
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
440
|
+
- agent|langgraph|graph -> langgraph (Need to build agent to monitor)
|
|
441
|
+
- crewai|multi-agent|crew -> crewai (Need to build crew to monitor)
|
|
442
|
+
- structured output|extraction -> structured-output (Need to build extraction to monitor)
|
|
220
443
|
|
|
221
|
-
###
|
|
444
|
+
### Observable LangGraph Agent
|
|
222
445
|
|
|
223
|
-
|
|
224
|
-
Can't track sessions.
|
|
225
|
-
Analytics limited.
|
|
446
|
+
Skills: langfuse, langgraph
|
|
226
447
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
448
|
+
Workflow:
|
|
449
|
+
|
|
450
|
+
```
|
|
451
|
+
1. Build agent with LangGraph
|
|
452
|
+
2. Add Langfuse callback handler
|
|
453
|
+
3. Trace all LLM calls and tool uses
|
|
454
|
+
4. Score outputs for quality
|
|
455
|
+
5. Monitor and iterate
|
|
456
|
+
```
|
|
230
457
|
|
|
231
|
-
|
|
458
|
+
### Monitored RAG Pipeline
|
|
232
459
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
460
|
+
Skills: langfuse, structured-output
|
|
461
|
+
|
|
462
|
+
Workflow:
|
|
463
|
+
|
|
464
|
+
```
|
|
465
|
+
1. Build RAG with retrieval and generation
|
|
466
|
+
2. Trace retrieval and LLM calls
|
|
467
|
+
3. Score relevance and accuracy
|
|
468
|
+
4. Track costs and latency
|
|
469
|
+
5. Optimize based on data
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
### Evaluated Agent System
|
|
473
|
+
|
|
474
|
+
Skills: langfuse, langgraph, structured-output
|
|
475
|
+
|
|
476
|
+
Workflow:
|
|
477
|
+
|
|
478
|
+
```
|
|
479
|
+
1. Build agent with structured outputs
|
|
480
|
+
2. Create evaluation dataset
|
|
481
|
+
3. Run evaluations with traces
|
|
482
|
+
4. Compare prompt versions
|
|
483
|
+
5. Deploy best performers
|
|
484
|
+
```
|
|
237
485
|
|
|
238
486
|
## Related Skills
|
|
239
487
|
|
|
240
488
|
Works well with: `langgraph`, `crewai`, `structured-output`, `autonomous-agents`
|
|
241
489
|
|
|
242
490
|
## When to Use
|
|
243
|
-
|
|
491
|
+
|
|
492
|
+
- User mentions or implies: langfuse
|
|
493
|
+
- User mentions or implies: llm observability
|
|
494
|
+
- User mentions or implies: llm tracing
|
|
495
|
+
- User mentions or implies: prompt management
|
|
496
|
+
- User mentions or implies: llm evaluation
|
|
497
|
+
- User mentions or implies: monitor llm
|
|
498
|
+
- User mentions or implies: debug llm
|