Claude-skill-registry agent-workflow-patterns
AI agent workflow patterns including ReAct agents, multi-agent systems, loop control, tool orchestration, and autonomous agent architectures. Use when building AI agents, implementing workflows, creating autonomous systems, or when user mentions agents, workflows, ReAct, multi-step reasoning, loop control, agent orchestration, or autonomous AI.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/agent-workflow-patterns" ~/.claude/skills/majiayu000-claude-skill-registry-agent-workflow-patterns && rm -rf "$T"
skills/data/agent-workflow-patterns/SKILL.mdAgent Workflow Patterns
Purpose: Provide production-ready agent architectures, workflow patterns, and loop control strategies for building autonomous AI systems with Vercel AI SDK.
Activation Triggers:
- Building autonomous AI agents
- Implementing multi-step reasoning
- Creating agent workflows
- Tool orchestration and coordination
- Loop control and iteration management
- Multi-agent system architectures
- ReAct (Reasoning + Acting) patterns
Key Resources:
- ReAct agent patterntemplates/react-agent.ts
- Multiple specialized agentstemplates/multi-agent-system.ts
- Workflow coordinationtemplates/workflow-orchestrator.ts
- Iteration and safeguardstemplates/loop-control.ts
- Tool orchestrationtemplates/tool-coordinator.ts
- Validate agent configurationscripts/validate-agent.sh
- Production agent implementations (RAG agent, SQL agent, etc.)examples/
Core Agent Patterns
1. ReAct Agent (Reasoning + Acting)
When to use: Complex problem-solving requiring iterative thought and action
Template:
templates/react-agent.ts
Pattern:
async function reactAgent(task: string, maxIterations: number = 5) { const tools = { /* tool definitions */ } let iteration = 0 while (iteration < maxIterations) { // Reasoning step const thought = await generateText({ model: openai('gpt-4o') messages: [ { role: 'system', content: 'Think step-by-step...' } { role: 'user', content: task } ] }) // Acting step (tool calls) const action = await generateText({ model: openai('gpt-4o') tools toolChoice: 'auto' messages: [/* ... */] }) // Check if task complete if (isComplete(action)) break iteration++ } return result }
Best for: Research, analysis, complex planning
2. Multi-Agent System
When to use: Complex domains requiring specialized expertise
Template:
templates/multi-agent-system.ts
Pattern:
- Coordinator agent routes tasks
- Specialist agents handle specific domains
- Result aggregation and synthesis
Best for: Multi-domain problems, parallel task execution
3. Workflow Orchestration
When to use: Pre-defined sequences of steps
Template:
templates/workflow-orchestrator.ts
Pattern:
- Define workflow steps
- Execute sequentially with error handling
- State management between steps
- Conditional branching
Best for: Structured processes, pipelines
Loop Control Strategies
1. Iteration Limits
const config = { maxIterations: 10 onMaxIterations: 'return-last' | 'throw-error' }
Prevents: Infinite loops
2. Cost Limits
const config = { maxTokens: 10000 onMaxTokens: 'graceful-stop' }
Prevents: Runaway costs
3. Time Limits
const config = { maxDuration: 30000, // 30 seconds onTimeout: 'return-partial' }
Prevents: Long-running operations
4. Quality Gates
const config = { stopCondition: (result) => result.confidence > 0.9 }
Ensures: Quality outputs
Tool Orchestration
Sequential Tool Execution
const tools = { search: tool({ /* ... */ }) analyze: tool({ /* ... */ }) summarize: tool({ /* ... */ }) } // AI decides order and usage const result = await generateText({ model: openai('gpt-4o') tools maxToolRoundtrips: 5 })
Parallel Tool Execution
const results = await Promise.all([ callTool('search', { query: 'topic1' }) callTool('search', { query: 'topic2' }) callTool('search', { query: 'topic3' }) ])
Agent State Management
interface AgentState { conversation: Message[] context: Record<string, any> toolResults: ToolResult[] iteration: number } class StatefulAgent { private state: AgentState async execute(task: string) { while (!this.isComplete()) { await this.step() this.updateState() } return this.state } }
Production Best Practices
1. Error Recovery
try { result = await agent.execute(task) } catch (error) { if (error.code === 'MAX_ITERATIONS') { return agent.getBestSoFar() } throw error }
2. Monitoring
agent.on('iteration', ({ count, result }) => { metrics.record('agent.iteration', { count }) })
3. Safeguards
- Rate limiting
- Input validation
- Output sanitization
- Cost tracking
Common Agent Architectures
1. RAG Agent
Example:
examples/rag-agent.ts
Retrieves information and answers questions
2. SQL Agent
Example:
examples/sql-agent.ts
Queries databases using natural language
3. Research Agent
Example:
examples/research-agent.ts
Gathers and synthesizes information
4. Code Agent
Example:
examples/code-agent.ts
Writes and debugs code
Resources
Templates:
- ReAct pattern implementationreact-agent.ts
- Multi-agent coordinationmulti-agent-system.ts
- Workflow executionworkflow-orchestrator.ts
- Iteration safeguardsloop-control.ts
- Tool orchestrationtool-coordinator.ts
Scripts:
- Agent config validationvalidate-agent.sh
Examples:
- Complete RAG agentrag-agent.ts
- Natural language SQLsql-agent.ts
- Information gatheringresearch-agent.ts
- Code generationcode-agent.ts
SDK Version: Vercel AI SDK 5+ Agent Frameworks: Built-in tools, MCP integration
Best Practice: Start simple (single tool), add complexity as needed