opencode-skills-collection 1.0.186 → 1.0.187
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,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: langgraph
|
|
3
|
-
description:
|
|
3
|
+
description: Expert in LangGraph - the production-grade framework for building
|
|
4
|
+
stateful, multi-actor AI applications. Covers graph construction, state
|
|
5
|
+
management, cycles and branches, persistence with checkpointers,
|
|
6
|
+
human-in-the-loop patterns, and the ReAct agent pattern.
|
|
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
|
# LangGraph
|
|
10
13
|
|
|
14
|
+
Expert in LangGraph - the production-grade framework for building stateful, multi-actor
|
|
15
|
+
AI applications. Covers graph construction, state management, cycles and branches,
|
|
16
|
+
persistence with checkpointers, human-in-the-loop patterns, and the ReAct agent pattern.
|
|
17
|
+
Used in production at LinkedIn, Uber, and 400+ companies. This is LangChain's recommended
|
|
18
|
+
approach for building agents.
|
|
19
|
+
|
|
11
20
|
**Role**: LangGraph Agent Architect
|
|
12
21
|
|
|
13
22
|
You are an expert in building production-grade AI agents with LangGraph. You
|
|
@@ -16,6 +25,16 @@ and debuggable. You design state carefully, use reducers appropriately, and
|
|
|
16
25
|
always consider persistence for production. You know when cycles are needed
|
|
17
26
|
and how to prevent infinite loops.
|
|
18
27
|
|
|
28
|
+
### Expertise
|
|
29
|
+
|
|
30
|
+
- Graph topology design
|
|
31
|
+
- State schema patterns
|
|
32
|
+
- Conditional branching
|
|
33
|
+
- Persistence strategies
|
|
34
|
+
- Human-in-the-loop
|
|
35
|
+
- Tool integration
|
|
36
|
+
- Error handling and recovery
|
|
37
|
+
|
|
19
38
|
## Capabilities
|
|
20
39
|
|
|
21
40
|
- Graph construction (StateGraph)
|
|
@@ -27,12 +46,41 @@ and how to prevent infinite loops.
|
|
|
27
46
|
- Tool integration
|
|
28
47
|
- Streaming and async execution
|
|
29
48
|
|
|
30
|
-
##
|
|
49
|
+
## Prerequisites
|
|
50
|
+
|
|
51
|
+
- 0: Python proficiency
|
|
52
|
+
- 1: LLM API basics
|
|
53
|
+
- 2: Async programming concepts
|
|
54
|
+
- 3: Graph theory fundamentals
|
|
55
|
+
- Required skills: Python 3.9+, langgraph package, LLM API access (OpenAI, Anthropic, etc.), Understanding of graph concepts
|
|
56
|
+
|
|
57
|
+
## Scope
|
|
58
|
+
|
|
59
|
+
- 0: Python-only (TypeScript in early stages)
|
|
60
|
+
- 1: Learning curve for graph concepts
|
|
61
|
+
- 2: State management complexity
|
|
62
|
+
- 3: Debugging can be challenging
|
|
63
|
+
|
|
64
|
+
## Ecosystem
|
|
65
|
+
|
|
66
|
+
### Primary
|
|
67
|
+
|
|
68
|
+
- LangGraph
|
|
69
|
+
- LangChain
|
|
70
|
+
- LangSmith (observability)
|
|
31
71
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
72
|
+
### Common_integrations
|
|
73
|
+
|
|
74
|
+
- OpenAI / Anthropic / Google
|
|
75
|
+
- Tavily (search)
|
|
76
|
+
- SQLite / PostgreSQL (persistence)
|
|
77
|
+
- Redis (state store)
|
|
78
|
+
|
|
79
|
+
### Platforms
|
|
80
|
+
|
|
81
|
+
- Python applications
|
|
82
|
+
- FastAPI / Flask backends
|
|
83
|
+
- Cloud deployments
|
|
36
84
|
|
|
37
85
|
## Patterns
|
|
38
86
|
|
|
@@ -42,7 +90,6 @@ Simple ReAct-style agent with tools
|
|
|
42
90
|
|
|
43
91
|
**When to use**: Single agent with tool calling
|
|
44
92
|
|
|
45
|
-
```python
|
|
46
93
|
from typing import Annotated, TypedDict
|
|
47
94
|
from langgraph.graph import StateGraph, START, END
|
|
48
95
|
from langgraph.graph.message import add_messages
|
|
@@ -108,7 +155,6 @@ app = graph.compile()
|
|
|
108
155
|
result = app.invoke({
|
|
109
156
|
"messages": [("user", "What is 25 * 4?")]
|
|
110
157
|
})
|
|
111
|
-
```
|
|
112
158
|
|
|
113
159
|
### State with Reducers
|
|
114
160
|
|
|
@@ -116,7 +162,6 @@ Complex state management with custom reducers
|
|
|
116
162
|
|
|
117
163
|
**When to use**: Multiple agents updating shared state
|
|
118
164
|
|
|
119
|
-
```python
|
|
120
165
|
from typing import Annotated, TypedDict
|
|
121
166
|
from operator import add
|
|
122
167
|
from langgraph.graph import StateGraph
|
|
@@ -166,7 +211,6 @@ graph = StateGraph(ResearchState)
|
|
|
166
211
|
graph.add_node("researcher", researcher)
|
|
167
212
|
graph.add_node("writer", writer)
|
|
168
213
|
# ... add edges
|
|
169
|
-
```
|
|
170
214
|
|
|
171
215
|
### Conditional Branching
|
|
172
216
|
|
|
@@ -174,7 +218,6 @@ Route to different paths based on state
|
|
|
174
218
|
|
|
175
219
|
**When to use**: Multiple possible workflows
|
|
176
220
|
|
|
177
|
-
```python
|
|
178
221
|
from langgraph.graph import StateGraph, START, END
|
|
179
222
|
|
|
180
223
|
class RouterState(TypedDict):
|
|
@@ -234,59 +277,225 @@ graph.add_edge("search", END)
|
|
|
234
277
|
graph.add_edge("chat", END)
|
|
235
278
|
|
|
236
279
|
app = graph.compile()
|
|
237
|
-
```
|
|
238
280
|
|
|
239
|
-
|
|
281
|
+
### Persistence with Checkpointer
|
|
282
|
+
|
|
283
|
+
Save and resume agent state
|
|
284
|
+
|
|
285
|
+
**When to use**: Multi-turn conversations, long-running agents
|
|
286
|
+
|
|
287
|
+
from langgraph.graph import StateGraph
|
|
288
|
+
from langgraph.checkpoint.sqlite import SqliteSaver
|
|
289
|
+
from langgraph.checkpoint.postgres import PostgresSaver
|
|
290
|
+
|
|
291
|
+
# SQLite for development
|
|
292
|
+
memory = SqliteSaver.from_conn_string(":memory:")
|
|
293
|
+
# Or persistent file
|
|
294
|
+
memory = SqliteSaver.from_conn_string("agent_state.db")
|
|
295
|
+
|
|
296
|
+
# PostgreSQL for production
|
|
297
|
+
# memory = PostgresSaver.from_conn_string(DATABASE_URL)
|
|
298
|
+
|
|
299
|
+
# Compile with checkpointer
|
|
300
|
+
app = graph.compile(checkpointer=memory)
|
|
301
|
+
|
|
302
|
+
# Run with thread_id for conversation continuity
|
|
303
|
+
config = {"configurable": {"thread_id": "user-123-session-1"}}
|
|
304
|
+
|
|
305
|
+
# First message
|
|
306
|
+
result1 = app.invoke(
|
|
307
|
+
{"messages": [("user", "My name is Alice")]},
|
|
308
|
+
config=config
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
# Second message - agent remembers context
|
|
312
|
+
result2 = app.invoke(
|
|
313
|
+
{"messages": [("user", "What's my name?")]},
|
|
314
|
+
config=config
|
|
315
|
+
)
|
|
316
|
+
# Agent knows name is Alice!
|
|
317
|
+
|
|
318
|
+
# Get conversation history
|
|
319
|
+
state = app.get_state(config)
|
|
320
|
+
print(state.values["messages"])
|
|
321
|
+
|
|
322
|
+
# List all checkpoints
|
|
323
|
+
for checkpoint in app.get_state_history(config):
|
|
324
|
+
print(checkpoint.config, checkpoint.values)
|
|
325
|
+
|
|
326
|
+
### Human-in-the-Loop
|
|
327
|
+
|
|
328
|
+
Pause for human approval before actions
|
|
329
|
+
|
|
330
|
+
**When to use**: Sensitive operations, review before execution
|
|
331
|
+
|
|
332
|
+
from langgraph.graph import StateGraph, START, END
|
|
333
|
+
|
|
334
|
+
class ApprovalState(TypedDict):
|
|
335
|
+
messages: Annotated[list, add_messages]
|
|
336
|
+
pending_action: dict | None
|
|
337
|
+
approved: bool
|
|
338
|
+
|
|
339
|
+
def agent(state: ApprovalState) -> dict:
|
|
340
|
+
# Agent decides on action
|
|
341
|
+
action = {"type": "send_email", "to": "user@example.com"}
|
|
342
|
+
return {
|
|
343
|
+
"pending_action": action,
|
|
344
|
+
"messages": [("assistant", f"I want to: {action}")]
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
def execute_action(state: ApprovalState) -> dict:
|
|
348
|
+
action = state["pending_action"]
|
|
349
|
+
# Execute the approved action
|
|
350
|
+
result = f"Executed: {action['type']}"
|
|
351
|
+
return {
|
|
352
|
+
"messages": [("assistant", result)],
|
|
353
|
+
"pending_action": None
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
def should_execute(state: ApprovalState) -> str:
|
|
357
|
+
if state.get("approved"):
|
|
358
|
+
return "execute"
|
|
359
|
+
return END # Wait for approval
|
|
360
|
+
|
|
361
|
+
# Build graph
|
|
362
|
+
graph = StateGraph(ApprovalState)
|
|
363
|
+
graph.add_node("agent", agent)
|
|
364
|
+
graph.add_node("execute", execute_action)
|
|
365
|
+
|
|
366
|
+
graph.add_edge(START, "agent")
|
|
367
|
+
graph.add_conditional_edges("agent", should_execute, ["execute", END])
|
|
368
|
+
graph.add_edge("execute", END)
|
|
369
|
+
|
|
370
|
+
# Compile with interrupt_before for human review
|
|
371
|
+
app = graph.compile(
|
|
372
|
+
checkpointer=memory,
|
|
373
|
+
interrupt_before=["execute"] # Pause before execution
|
|
374
|
+
)
|
|
375
|
+
|
|
376
|
+
# Run until interrupt
|
|
377
|
+
config = {"configurable": {"thread_id": "approval-flow"}}
|
|
378
|
+
result = app.invoke({"messages": [("user", "Send report")]}, config)
|
|
379
|
+
|
|
380
|
+
# Agent paused - get pending state
|
|
381
|
+
state = app.get_state(config)
|
|
382
|
+
pending = state.values["pending_action"]
|
|
383
|
+
print(f"Pending: {pending}") # Human reviews
|
|
384
|
+
|
|
385
|
+
# Human approves - update state and continue
|
|
386
|
+
app.update_state(config, {"approved": True})
|
|
387
|
+
result = app.invoke(None, config) # Resume
|
|
388
|
+
|
|
389
|
+
### Parallel Execution (Map-Reduce)
|
|
390
|
+
|
|
391
|
+
Run multiple branches in parallel
|
|
392
|
+
|
|
393
|
+
**When to use**: Parallel research, batch processing
|
|
394
|
+
|
|
395
|
+
from langgraph.graph import StateGraph, START, END, Send
|
|
396
|
+
from langgraph.constants import Send
|
|
397
|
+
|
|
398
|
+
class ParallelState(TypedDict):
|
|
399
|
+
topics: list[str]
|
|
400
|
+
results: Annotated[list[str], add]
|
|
401
|
+
summary: str
|
|
402
|
+
|
|
403
|
+
def research_topic(state: dict) -> dict:
|
|
404
|
+
"""Research a single topic."""
|
|
405
|
+
topic = state["topic"]
|
|
406
|
+
result = f"Research on {topic}..."
|
|
407
|
+
return {"results": [result]}
|
|
240
408
|
|
|
241
|
-
|
|
409
|
+
def summarize(state: ParallelState) -> dict:
|
|
410
|
+
"""Combine all research results."""
|
|
411
|
+
all_results = state["results"]
|
|
412
|
+
summary = f"Summary of {len(all_results)} topics"
|
|
413
|
+
return {"summary": summary}
|
|
242
414
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
415
|
+
def fanout_topics(state: ParallelState) -> list[Send]:
|
|
416
|
+
"""Create parallel tasks for each topic."""
|
|
417
|
+
return [
|
|
418
|
+
Send("research", {"topic": topic})
|
|
419
|
+
for topic in state["topics"]
|
|
420
|
+
]
|
|
246
421
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
422
|
+
# Build graph
|
|
423
|
+
graph = StateGraph(ParallelState)
|
|
424
|
+
graph.add_node("research", research_topic)
|
|
425
|
+
graph.add_node("summarize", summarize)
|
|
426
|
+
|
|
427
|
+
# Fan out to parallel research
|
|
428
|
+
graph.add_conditional_edges(START, fanout_topics, ["research"])
|
|
429
|
+
# All research nodes lead to summarize
|
|
430
|
+
graph.add_edge("research", "summarize")
|
|
431
|
+
graph.add_edge("summarize", END)
|
|
432
|
+
|
|
433
|
+
app = graph.compile()
|
|
434
|
+
|
|
435
|
+
result = app.invoke({
|
|
436
|
+
"topics": ["AI", "Climate", "Space"],
|
|
437
|
+
"results": []
|
|
438
|
+
})
|
|
439
|
+
# Research runs in parallel, then summarizes
|
|
440
|
+
|
|
441
|
+
## Collaboration
|
|
442
|
+
|
|
443
|
+
### Delegation Triggers
|
|
444
|
+
|
|
445
|
+
- crewai|role-based|crew -> crewai (Need role-based multi-agent approach)
|
|
446
|
+
- observability|tracing|langsmith -> langfuse (Need LLM observability)
|
|
447
|
+
- structured output|json schema -> structured-output (Need structured LLM responses)
|
|
448
|
+
- evaluate|benchmark|test agent -> agent-evaluation (Need to evaluate agent performance)
|
|
251
449
|
|
|
252
|
-
|
|
253
|
-
if state["iterations"] > 10:
|
|
254
|
-
return END
|
|
255
|
-
if state["task_complete"]:
|
|
256
|
-
return END
|
|
257
|
-
return "agent"
|
|
450
|
+
### Production Agent Stack
|
|
258
451
|
|
|
259
|
-
|
|
452
|
+
Skills: langgraph, langfuse, structured-output
|
|
260
453
|
|
|
261
|
-
|
|
262
|
-
State not persisted.
|
|
263
|
-
Can't resume conversations.
|
|
454
|
+
Workflow:
|
|
264
455
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
456
|
+
```
|
|
457
|
+
1. Design agent graph with LangGraph
|
|
458
|
+
2. Add structured outputs for tool responses
|
|
459
|
+
3. Integrate Langfuse for observability
|
|
460
|
+
4. Test and monitor in production
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
### Multi-Agent System
|
|
464
|
+
|
|
465
|
+
Skills: langgraph, crewai, agent-communication
|
|
466
|
+
|
|
467
|
+
Workflow:
|
|
269
468
|
|
|
270
|
-
|
|
469
|
+
```
|
|
470
|
+
1. Design agent roles (CrewAI patterns)
|
|
471
|
+
2. Implement as LangGraph with subgraphs
|
|
472
|
+
3. Add inter-agent communication
|
|
473
|
+
4. Orchestrate with supervisor pattern
|
|
474
|
+
```
|
|
271
475
|
|
|
272
|
-
|
|
273
|
-
Unnecessary data in context.
|
|
274
|
-
Serialization overhead.
|
|
476
|
+
### Evaluated Agent
|
|
275
477
|
|
|
276
|
-
|
|
277
|
-
Private state for internal data.
|
|
278
|
-
Clear separation of concerns.
|
|
478
|
+
Skills: langgraph, agent-evaluation, langfuse
|
|
279
479
|
|
|
280
|
-
|
|
480
|
+
Workflow:
|
|
281
481
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
482
|
+
```
|
|
483
|
+
1. Build agent with LangGraph
|
|
484
|
+
2. Create evaluation suite
|
|
485
|
+
3. Monitor with Langfuse
|
|
486
|
+
4. Iterate based on metrics
|
|
487
|
+
```
|
|
286
488
|
|
|
287
489
|
## Related Skills
|
|
288
490
|
|
|
289
491
|
Works well with: `crewai`, `autonomous-agents`, `langfuse`, `structured-output`
|
|
290
492
|
|
|
291
493
|
## When to Use
|
|
292
|
-
|
|
494
|
+
|
|
495
|
+
- User mentions or implies: langgraph
|
|
496
|
+
- User mentions or implies: langchain agent
|
|
497
|
+
- User mentions or implies: stateful agent
|
|
498
|
+
- User mentions or implies: agent graph
|
|
499
|
+
- User mentions or implies: react agent
|
|
500
|
+
- User mentions or implies: agent workflow
|
|
501
|
+
- User mentions or implies: multi-step agent
|