[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M79AG2CMW0W07E6V3C9CSAPX":3,"skill-same:01M79AG2CMW0W07E6V3C9CSAPX":193},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":68,"commitSha":69,"skillDirectory":70,"forksCount":14,"repositoryHtmlUrl":71,"repositoryHomepageUrl":6,"ownerHtmlUrl":72,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":73,"install":74,"resources":86},"01M79AG2CMW0W07E6V3C9CSAPX","openai-agents",null,"OpenAI Agents SDK for JavaScript\u002FTypeScript (text + voice agents). Use for multi-agent workflows, tools, guardrails, or encountering Zod errors, MCP failures, infinite loops, tool call issues.","Elogic360\u002Fsoftware-factory","Elogic360","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F156535519?v=4","01M74NH3F0RB13PWB7JZDE2V80","elogic360","01M74NH3FPC65082MDZVMFHDM3",0,"MIT","https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: openai-agents\ndescription: \"OpenAI Agents SDK for JavaScript\u002FTypeScript (text + voice agents). Use for multi-agent workflows, tools, guardrails, or encountering Zod errors, MCP failures, infinite loops, tool call issues.\"\nlicense: MIT\nmetadata:\n  packages:\n    - \"@openai\u002Fagents@0.3.3\"\n    - \"@openai\u002Fagents-realtime@0.3.3\"\n    - \"zod@^3.24.1\"\n  frameworks: [\"Cloudflare Workers\", \"Next.js\", \"React\", \"Node.js\", \"Hono\"]\n  last_verified: \"2025-11-21\"\n  production_tested: true\n  token_savings: \"~60%\"\n  errors_prevented: 9\n  keywords:\n    - OpenAI Agents SDK\n    - \"@openai\u002Fagents\"\n    - \"@openai\u002Fagents-realtime\"\n    - openai agents javascript\n    - openai agents typescript\n    - text agents\n    - voice agents\n    - realtime agents\n    - multi-agent workflows\n    - agent handoffs\n    - agent tools\n    - zod schemas agents\n    - structured outputs agents\n    - agent streaming\n    - agent guardrails\n    - input guardrails\n    - output guardrails\n    - human-in-the-loop\n    - cloudflare workers agents\n    - nextjs openai agents\n    - react openai agents\n    - hono agents\n    - agent debugging\n    - Zod schema type error\n    - MCP tracing failure\n    - agent infinite loop\n    - tool call failures\n    - schema mismatch agents\n---\n# OpenAI Agents SDK Skill\n\nComplete skill for building AI applications with OpenAI Agents SDK (JavaScript\u002FTypeScript), covering text agents, realtime voice agents, multi-agent workflows, and production deployment patterns.\n\n---\n\n## Quick Start\n\n### Installation\n\n```bash\nbun add @openai\u002Fagents zod@3\nbun add @openai\u002Fagents-realtime  # For voice agents\n```\n\nSet environment variable:\n\n```bash\nexport OPENAI_API_KEY=\"your-api-key\"\n```\n\n### Basic Text Agent\n\n```typescript\nimport { Agent, run, tool } from '@openai\u002Fagents';\nimport { z } from 'zod';\n\nconst agent = new Agent({\n  name: 'Assistant',\n  instructions: 'You are helpful.',\n  tools: [tool({\n    name: 'get_weather',\n    parameters: z.object({ city: z.string() }),\n    execute: async ({ city }) => `Weather in ${city}: sunny`,\n  })],\n  model: 'gpt-4o-mini',\n});\n\nconst result = await run(agent, 'What is the weather in SF?');\n```\n\n### Voice Agent & Multi-Agent\n\n```typescript\n\u002F\u002F Voice agent\nconst voiceAgent = new RealtimeAgent({\n  voice: 'alloy',\n  model: 'gpt-4o-realtime-preview',\n});\n\n\u002F\u002F Browser session\nconst session = new RealtimeSession(voiceAgent, {\n  apiKey: sessionApiKey, \u002F\u002F From backend!\n  transport: 'webrtc',\n});\n\n\u002F\u002F Multi-agent handoffs\nconst triageAgent = Agent.create({\n  handoffs: [billingAgent, techAgent],\n});\n```\n\n**17 Templates**: `templates\u002F` directory has production-ready examples for all patterns.\n\n---\n\n## Top 3 Critical Errors\n\n### 1. Zod Schema Type Errors\n\n**Error**: Type errors with tool parameters even when structurally compatible.\n\n**Workaround**: Define schemas inline.\n\n```typescript\n\u002F\u002F ❌ Can cause type errors\nparameters: mySchema\n\n\u002F\u002F ✅ Works reliably\nparameters: z.object({ field: z.string() })\n```\n\n**Source**: [GitHub #188](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fissues\u002F188)\n\n### 2. MCP Tracing Errors\n\n**Error**: \"No existing trace found\" with MCP servers.\n\n**Workaround**:\n```typescript\nimport { initializeTracing } from '@openai\u002Fagents\u002Ftracing';\nawait initializeTracing();\n```\n\n**Source**: [GitHub #580](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fissues\u002F580)\n\n### 3. MaxTurnsExceededError\n\n**Error**: Agent loops infinitely.\n\n**Solution**: Increase maxTurns or improve instructions:\n\n```typescript\nconst result = await run(agent, input, {\n  maxTurns: 20,\n});\n\n\u002F\u002F Or improve instructions\ninstructions: `After using tools, provide a final answer.\nDo not loop endlessly.`\n```\n\n**All 9 Errors**: Load `references\u002Fcommon-errors.md` for complete error catalog with workarounds.\n\n---\n\n## When to Load References\n\nLoad reference files when working on specific aspects of agent development:\n\n### Agent Patterns (`references\u002Fagent-patterns.md`)\nLoad when:\n- Designing multi-agent orchestration strategies\n- Choosing between LLM-based vs code-based orchestration\n- Implementing parallel agent execution\n- Creating agents-as-tools patterns\n- Need to understand when to use which orchestration pattern\n\n### Common Errors (`references\u002Fcommon-errors.md`)\nLoad when:\n- Debugging agent issues beyond the top 3 errors above\n- Implementing comprehensive error handling\n- Encountering: GuardrailExecutionError, ToolCallError, Schema Mismatch, Ollama integration, webSearchTool failures, Agent Builder export bugs\n- Building production error recovery patterns\n\n### Realtime Transports (`references\u002Frealtime-transports.md`)\nLoad when:\n- Choosing between WebRTC vs WebSocket for voice agents\n- Optimizing voice agent latency\n- Debugging voice connection issues\n- Understanding network\u002Ffirewall requirements for voice\n- Implementing custom audio sources\u002Fsinks\n\n### Cloudflare Integration (`references\u002Fcloudflare-integration.md`)\nLoad when:\n- Deploying agents to Cloudflare Workers\n- Understanding Workers limitations (CPU, memory, no voice)\n- Implementing streaming in Workers\n- Debugging Workers-specific issues\n- Optimizing for Workers performance and costs\n\n### Official Links (`references\u002Fofficial-links.md`)\nLoad when:\n- Need official documentation links\n- Looking for examples or community resources\n- Checking latest SDK versions\n- Finding pricing information\n- Need migration guides\n\n---\n\n## Core Concepts Summary\n\n**Agents**: LLMs equipped with instructions and tools.\n\n**Tools**: Functions with Zod schemas that agents can call automatically.\n\n**Handoffs**: Multi-agent delegation where agents route tasks to specialists.\n\n**Guardrails**: Input\u002Foutput validation for safety (content filtering, PII detection).\n\n**Structured Outputs**: Type-safe responses using Zod schemas.\n\n**Streaming**: Real-time event streaming for progressive responses.\n\n**Human-in-the-Loop**: Require approval for specific tool executions (`requiresApproval: true`).\n\nFor detailed examples, see templates in `templates\u002Ftext-agents\u002F` and `templates\u002Frealtime-agents\u002F`.\n\n---\n\n## Text Agents Quick Reference\n\n```typescript\n\u002F\u002F Basic\nconst result = await run(agent, 'Your question');\n\n\u002F\u002F Streaming\nconst stream = await run(agent, input, { stream: true });\n\n\u002F\u002F Structured output\nconst agent = new Agent({\n  outputType: z.object({ sentiment: z.enum([...]), confidence: z.number() }),\n});\n```\n\n**Templates**: `templates\u002Ftext-agents\u002F` (8 templates)\n\n---\n\n## Realtime Voice Agents Quick Reference\n\n```typescript\nconst voiceAgent = new RealtimeAgent({\n  voice: 'alloy', \u002F\u002F alloy, echo, fable, onyx, nova, shimmer\n  model: 'gpt-4o-realtime-preview',\n});\n\nconst session = new RealtimeSession(voiceAgent, {\n  apiKey: sessionApiKey,\n  transport: 'webrtc', \u002F\u002F or 'websocket'\n});\n```\n\n**Voice handoff constraints**: Cannot change voice\u002Fmodel during handoff.\n\n**Templates**: `templates\u002Frealtime-agents\u002F` (3 templates) | **Details**: `references\u002Frealtime-transports.md`\n\n---\n\n## Framework Integration Quick Reference\n\n### Cloudflare Workers (Experimental)\n\n```typescript\nexport default {\n  async fetch(request: Request, env: Env) {\n    const { message } = await request.json();\n    process.env.OPENAI_API_KEY = env.OPENAI_API_KEY;\n\n    const agent = new Agent({\n      name: 'Assistant',\n      instructions: 'Be helpful and concise',\n      model: 'gpt-4o-mini',\n    });\n\n    const result = await run(agent, message, { maxTurns: 5 });\n\n    return new Response(JSON.stringify({\n      response: result.finalOutput,\n      tokens: result.usage.totalTokens,\n    }));\n  },\n};\n```\n\n**Limitations**: No realtime voice, CPU time limits (30s max), memory constraints (128MB).\n\n**Templates**: `templates\u002Fcloudflare-workers\u002F` (2 templates)\n\n**Details**: Load `references\u002Fcloudflare-integration.md` for complete Workers guide.\n\n### Next.js App Router\n\n```typescript\n\u002F\u002F app\u002Fapi\u002Fagent\u002Froute.ts\nimport { NextRequest, NextResponse } from 'next\u002Fserver';\nimport { Agent, run } from '@openai\u002Fagents';\n\nexport async function POST(request: NextRequest) {\n  const { message } = await request.json();\n  const agent = new Agent({ \u002F* ... *\u002F });\n  const result = await run(agent, message);\n  return NextResponse.json({ response: result.finalOutput });\n}\n```\n\n**Templates**: `templates\u002Fnextjs\u002F` (2 templates)\n\n---\n\n## Guardrails & Human-in-the-Loop\n\n```typescript\n\u002F\u002F Input\u002Foutput guardrails\nconst agent = new Agent({\n  inputGuardrails: [homeworkDetectorGuardrail],\n  outputGuardrails: [piiFilterGuardrail],\n});\n\n\u002F\u002F Human approval\nconst tool = tool({\n  requiresApproval: true,\n  execute: async ({ amount }) => `Refunded $${amount}`,\n});\n\n\u002F\u002F Handle approval loop\nwhile (result.interruption?.type === 'tool_approval') {\n  result = (await promptUser(result.interruption))\n    ? await result.state.approve(result.interruption)\n    : await result.state.reject(result.interruption);\n}\n```\n\n**Templates**: `templates\u002Ftext-agents\u002Fagent-guardrails-*.ts`, `agent-human-approval.ts`\n\n---\n\n## Orchestration Patterns Summary\n\n**LLM-Based**: Agent decides routing autonomously. Use for adaptive workflows.\n\n**Code-Based**: Explicit control flow. Use for predictable, deterministic workflows.\n\n**Parallel**: Run multiple agents concurrently. Use for independent tasks.\n\n**Agents as Tools**: Wrap agents as tools for manager LLM. Use for specialist delegation.\n\n**Details**: Load `references\u002Fagent-patterns.md` for comprehensive orchestration strategies with examples.\n\n**Template**: `templates\u002Ftext-agents\u002Fagent-parallel.ts`\n\n---\n\n## Debugging & Tracing\n\n```typescript\nprocess.env.DEBUG = '@openai\u002Fagents:*';\n\nconst result = await run(agent, input);\nconsole.log('Tokens:', result.usage.totalTokens, 'Turns:', result.history.length);\n```\n\n**Template**: `templates\u002Fshared\u002Ftracing-setup.ts`\n\n---\n\n## Production Checklist\n\n- [ ] Set `OPENAI_API_KEY` as environment secret\n- [ ] Implement error handling for all agent calls\n- [ ] Add guardrails for safety-critical applications\n- [ ] Set reasonable `maxTurns` to prevent runaway costs\n- [ ] Use `gpt-4o-mini` where possible for cost efficiency\n- [ ] Implement rate limiting\n- [ ] Log token usage for cost monitoring\n- [ ] Test handoff flows thoroughly\n- [ ] Never expose API keys to browsers (use session tokens)\n- [ ] Enable tracing\u002Fobservability for debugging\n\n---\n\n## When to Use This Skill\n\n✅ **Use when**:\n- Building multi-agent workflows\n- Creating voice AI applications\n- Implementing tool-calling patterns\n- Requiring input\u002Foutput validation (guardrails)\n- Needing human approval gates\n- Orchestrating complex AI tasks\n- Deploying to Cloudflare Workers or Next.js\n\n❌ **Don't use when**:\n- Simple OpenAI API calls (use `openai-api` skill instead)\n- Non-OpenAI models exclusively\n- Production voice at massive scale (consider LiveKit Agents)\n\n---\n\n## Token Efficiency\n\n**Estimated Savings**: ~60%\n\n| Task | Without Skill | With Skill | Savings |\n|------|---------------|------------|---------|\n| Multi-agent setup | ~12k tokens | ~5k tokens | 58% |\n| Voice agent | ~10k tokens | ~4k tokens | 60% |\n| Error debugging | ~8k tokens | ~3k tokens | 63% |\n| **Average** | **~10k** | **~4k** | **~60%** |\n\n**Errors Prevented**: 9 documented issues = 100% error prevention\n\n---\n\n## Templates Index\n\n**Text Agents** (8):\n1. `agent-basic.ts` - Simple agent with tools\n2. `agent-handoffs.ts` - Multi-agent triage\n3. `agent-structured-output.ts` - Zod schemas\n4. `agent-streaming.ts` - Real-time events\n5. `agent-guardrails-input.ts` - Input validation\n6. `agent-guardrails-output.ts` - Output filtering\n7. `agent-human-approval.ts` - HITL pattern\n8. `agent-parallel.ts` - Concurrent execution\n\n**Realtime Agents** (3):\n9. `realtime-agent-basic.ts` - Voice setup\n10. `realtime-session-browser.tsx` - React client\n11. `realtime-handoffs.ts` - Voice delegation\n\n**Framework Integration** (4):\n12. `worker-text-agent.ts` - Cloudflare Workers\n13. `worker-agent-hono.ts` - Hono framework\n14. `api-agent-route.ts` - Next.js API\n15. `api-realtime-route.ts` - Next.js voice\n\n**Utilities** (2):\n16. `error-handling.ts` - Comprehensive errors\n17. `tracing-setup.ts` - Debugging\n\n---\n\n## References\n\n1. `agent-patterns.md` - Orchestration strategies (LLM vs code, parallel, agents-as-tools)\n2. `common-errors.md` - All 9 errors with workarounds and sources\n3. `realtime-transports.md` - WebRTC vs WebSocket comparison, latency, debugging\n4. `cloudflare-integration.md` - Workers setup, limitations, performance, costs\n5. `official-links.md` - Documentation, GitHub, npm, community resources\n\n---\n\n## Official Resources\n\n- **Docs**: https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-js\u002F\n- **GitHub**: https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\n- **npm**: https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@openai\u002Fagents\n- **Issues**: https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fissues\n\n---\n\n**Version**: SDK v0.3.3\n**Last Verified**: 2025-11-21\n**Skill Author**: Claude Skills Maintainers\n**Production Tested**: Yes\n","# OpenAI Agents SDK Skill\n\nComplete skill for building AI applications with OpenAI Agents SDK (JavaScript\u002FTypeScript), covering text agents, realtime voice agents, multi-agent workflows, and production deployment patterns.\n\n---\n\n## Quick Start\n\n### Installation\n\n```bash\nbun add @openai\u002Fagents zod@3\nbun add @openai\u002Fagents-realtime  # For voice agents\n```\n\nSet environment variable:\n\n```bash\nexport OPENAI_API_KEY=\"your-api-key\"\n```\n\n### Basic Text Agent\n\n```typescript\nimport { Agent, run, tool } from '@openai\u002Fagents';\nimport { z } from 'zod';\n\nconst agent = new Agent({\n  name: 'Assistant',\n  instructions: 'You are helpful.',\n  tools: [tool({\n    name: 'get_weather',\n    parameters: z.object({ city: z.string() }),\n    execute: async ({ city }) => `Weather in ${city}: sunny`,\n  })],\n  model: 'gpt-4o-mini',\n});\n\nconst result = await run(agent, 'What is the weather in SF?');\n```\n\n### Voice Agent & Multi-Agent\n\n```typescript\n\u002F\u002F Voice agent\nconst voiceAgent = new RealtimeAgent({\n  voice: 'alloy',\n  model: 'gpt-4o-realtime-preview',\n});\n\n\u002F\u002F Browser session\nconst session = new RealtimeSession(voiceAgent, {\n  apiKey: sessionApiKey, \u002F\u002F From backend!\n  transport: 'webrtc',\n});\n\n\u002F\u002F Multi-agent handoffs\nconst triageAgent = Agent.create({\n  handoffs: [billingAgent, techAgent],\n});\n```\n\n**17 Templates**: `templates\u002F` directory has production-ready examples for all patterns.\n\n---\n\n## Top 3 Critical Errors\n\n### 1. Zod Schema Type Errors\n\n**Error**: Type errors with tool parameters even when structurally compatible.\n\n**Workaround**: Define schemas inline.\n\n```typescript\n\u002F\u002F ❌ Can cause type errors\nparameters: mySchema\n\n\u002F\u002F ✅ Works reliably\nparameters: z.object({ field: z.string() })\n```\n\n**Source**: [GitHub #188](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fissues\u002F188)\n\n### 2. MCP Tracing Errors\n\n**Error**: \"No existing trace found\" with MCP servers.\n\n**Workaround**:\n```typescript\nimport { initializeTracing } from '@openai\u002Fagents\u002Ftracing';\nawait initializeTracing();\n```\n\n**Source**: [GitHub #580](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fissues\u002F580)\n\n### 3. MaxTurnsExceededError\n\n**Error**: Agent loops infinitely.\n\n**Solution**: Increase maxTurns or improve instructions:\n\n```typescript\nconst result = await run(agent, input, {\n  maxTurns: 20,\n});\n\n\u002F\u002F Or improve instructions\ninstructions: `After using tools, provide a final answer.\nDo not loop endlessly.`\n```\n\n**All 9 Errors**: Load `references\u002Fcommon-errors.md` for complete error catalog with workarounds.\n\n---\n\n## When to Load References\n\nLoad reference files when working on specific aspects of agent development:\n\n### Agent Patterns (`references\u002Fagent-patterns.md`)\nLoad when:\n- Designing multi-agent orchestration strategies\n- Choosing between LLM-based vs code-based orchestration\n- Implementing parallel agent execution\n- Creating agents-as-tools patterns\n- Need to understand when to use which orchestration pattern\n\n### Common Errors (`references\u002Fcommon-errors.md`)\nLoad when:\n- Debugging agent issues beyond the top 3 errors above\n- Implementing comprehensive error handling\n- Encountering: GuardrailExecutionError, ToolCallError, Schema Mismatch, Ollama integration, webSearchTool failures, Agent Builder export bugs\n- Building production error recovery patterns\n\n### Realtime Transports (`references\u002Frealtime-transports.md`)\nLoad when:\n- Choosing between WebRTC vs WebSocket for voice agents\n- Optimizing voice agent latency\n- Debugging voice connection issues\n- Understanding network\u002Ffirewall requirements for voice\n- Implementing custom audio sources\u002Fsinks\n\n### Cloudflare Integration (`references\u002Fcloudflare-integration.md`)\nLoad when:\n- Deploying agents to Cloudflare Workers\n- Understanding Workers limitations (CPU, memory, no voice)\n- Implementing streaming in Workers\n- Debugging Workers-specific issues\n- Optimizing for Workers performance and costs\n\n### Official Links (`references\u002Fofficial-links.md`)\nLoad when:\n- Need official documentation links\n- Looking for examples or community resources\n- Checking latest SDK versions\n- Finding pricing information\n- Need migration guides\n\n---\n\n## Core Concepts Summary\n\n**Agents**: LLMs equipped with instructions and tools.\n\n**Tools**: Functions with Zod schemas that agents can call automatically.\n\n**Handoffs**: Multi-agent delegation where agents route tasks to specialists.\n\n**Guardrails**: Input\u002Foutput validation for safety (content filtering, PII detection).\n\n**Structured Outputs**: Type-safe responses using Zod schemas.\n\n**Streaming**: Real-time event streaming for progressive responses.\n\n**Human-in-the-Loop**: Require approval for specific tool executions (`requiresApproval: true`).\n\nFor detailed examples, see templates in `templates\u002Ftext-agents\u002F` and `templates\u002Frealtime-agents\u002F`.\n\n---\n\n## Text Agents Quick Reference\n\n```typescript\n\u002F\u002F Basic\nconst result = await run(agent, 'Your question');\n\n\u002F\u002F Streaming\nconst stream = await run(agent, input, { stream: true });\n\n\u002F\u002F Structured output\nconst agent = new Agent({\n  outputType: z.object({ sentiment: z.enum([...]), confidence: z.number() }),\n});\n```\n\n**Templates**: `templates\u002Ftext-agents\u002F` (8 templates)\n\n---\n\n## Realtime Voice Agents Quick Reference\n\n```typescript\nconst voiceAgent = new RealtimeAgent({\n  voice: 'alloy', \u002F\u002F alloy, echo, fable, onyx, nova, shimmer\n  model: 'gpt-4o-realtime-preview',\n});\n\nconst session = new RealtimeSession(voiceAgent, {\n  apiKey: sessionApiKey,\n  transport: 'webrtc', \u002F\u002F or 'websocket'\n});\n```\n\n**Voice handoff constraints**: Cannot change voice\u002Fmodel during handoff.\n\n**Templates**: `templates\u002Frealtime-agents\u002F` (3 templates) | **Details**: `references\u002Frealtime-transports.md`\n\n---\n\n## Framework Integration Quick Reference\n\n### Cloudflare Workers (Experimental)\n\n```typescript\nexport default {\n  async fetch(request: Request, env: Env) {\n    const { message } = await request.json();\n    process.env.OPENAI_API_KEY = env.OPENAI_API_KEY;\n\n    const agent = new Agent({\n      name: 'Assistant',\n      instructions: 'Be helpful and concise',\n      model: 'gpt-4o-mini',\n    });\n\n    const result = await run(agent, message, { maxTurns: 5 });\n\n    return new Response(JSON.stringify({\n      response: result.finalOutput,\n      tokens: result.usage.totalTokens,\n    }));\n  },\n};\n```\n\n**Limitations**: No realtime voice, CPU time limits (30s max), memory constraints (128MB).\n\n**Templates**: `templates\u002Fcloudflare-workers\u002F` (2 templates)\n\n**Details**: Load `references\u002Fcloudflare-integration.md` for complete Workers guide.\n\n### Next.js App Router\n\n```typescript\n\u002F\u002F app\u002Fapi\u002Fagent\u002Froute.ts\nimport { NextRequest, NextResponse } from 'next\u002Fserver';\nimport { Agent, run } from '@openai\u002Fagents';\n\nexport async function POST(request: NextRequest) {\n  const { message } = await request.json();\n  const agent = new Agent({ \u002F* ... *\u002F });\n  const result = await run(agent, message);\n  return NextResponse.json({ response: result.finalOutput });\n}\n```\n\n**Templates**: `templates\u002Fnextjs\u002F` (2 templates)\n\n---\n\n## Guardrails & Human-in-the-Loop\n\n```typescript\n\u002F\u002F Input\u002Foutput guardrails\nconst agent = new Agent({\n  inputGuardrails: [homeworkDetectorGuardrail],\n  outputGuardrails: [piiFilterGuardrail],\n});\n\n\u002F\u002F Human approval\nconst tool = tool({\n  requiresApproval: true,\n  execute: async ({ amount }) => `Refunded $${amount}`,\n});\n\n\u002F\u002F Handle approval loop\nwhile (result.interruption?.type === 'tool_approval') {\n  result = (await promptUser(result.interruption))\n    ? await result.state.approve(result.interruption)\n    : await result.state.reject(result.interruption);\n}\n```\n\n**Templates**: `templates\u002Ftext-agents\u002Fagent-guardrails-*.ts`, `agent-human-approval.ts`\n\n---\n\n## Orchestration Patterns Summary\n\n**LLM-Based**: Agent decides routing autonomously. Use for adaptive workflows.\n\n**Code-Based**: Explicit control flow. Use for predictable, deterministic workflows.\n\n**Parallel**: Run multiple agents concurrently. Use for independent tasks.\n\n**Agents as Tools**: Wrap agents as tools for manager LLM. Use for specialist delegation.\n\n**Details**: Load `references\u002Fagent-patterns.md` for comprehensive orchestration strategies with examples.\n\n**Template**: `templates\u002Ftext-agents\u002Fagent-parallel.ts`\n\n---\n\n## Debugging & Tracing\n\n```typescript\nprocess.env.DEBUG = '@openai\u002Fagents:*';\n\nconst result = await run(agent, input);\nconsole.log('Tokens:', result.usage.totalTokens, 'Turns:', result.history.length);\n```\n\n**Template**: `templates\u002Fshared\u002Ftracing-setup.ts`\n\n---\n\n## Production Checklist\n\n- [ ] Set `OPENAI_API_KEY` as environment secret\n- [ ] Implement error handling for all agent calls\n- [ ] Add guardrails for safety-critical applications\n- [ ] Set reasonable `maxTurns` to prevent runaway costs\n- [ ] Use `gpt-4o-mini` where possible for cost efficiency\n- [ ] Implement rate limiting\n- [ ] Log token usage for cost monitoring\n- [ ] Test handoff flows thoroughly\n- [ ] Never expose API keys to browsers (use session tokens)\n- [ ] Enable tracing\u002Fobservability for debugging\n\n---\n\n## When to Use This Skill\n\n✅ **Use when**:\n- Building multi-agent workflows\n- Creating voice AI applications\n- Implementing tool-calling patterns\n- Requiring input\u002Foutput validation (guardrails)\n- Needing human approval gates\n- Orchestrating complex AI tasks\n- Deploying to Cloudflare Workers or Next.js\n\n❌ **Don't use when**:\n- Simple OpenAI API calls (use `openai-api` skill instead)\n- Non-OpenAI models exclusively\n- Production voice at massive scale (consider LiveKit Agents)\n\n---\n\n## Token Efficiency\n\n**Estimated Savings**: ~60%\n\n| Task | Without Skill | With Skill | Savings |\n|------|---------------|------------|---------|\n| Multi-agent setup | ~12k tokens | ~5k tokens | 58% |\n| Voice agent | ~10k tokens | ~4k tokens | 60% |\n| Error debugging | ~8k tokens | ~3k tokens | 63% |\n| **Average** | **~10k** | **~4k** | **~60%** |\n\n**Errors Prevented**: 9 documented issues = 100% error prevention\n\n---\n\n## Templates Index\n\n**Text Agents** (8):\n1. `agent-basic.ts` - Simple agent with tools\n2. `agent-handoffs.ts` - Multi-agent triage\n3. `agent-structured-output.ts` - Zod schemas\n4. `agent-streaming.ts` - Real-time events\n5. `agent-guardrails-input.ts` - Input validation\n6. `agent-guardrails-output.ts` - Output filtering\n7. `agent-human-approval.ts` - HITL pattern\n8. `agent-parallel.ts` - Concurrent execution\n\n**Realtime Agents** (3):\n9. `realtime-agent-basic.ts` - Voice setup\n10. `realtime-session-browser.tsx` - React client\n11. `realtime-handoffs.ts` - Voice delegation\n\n**Framework Integration** (4):\n12. `worker-text-agent.ts` - Cloudflare Workers\n13. `worker-agent-hono.ts` - Hono framework\n14. `api-agent-route.ts` - Next.js API\n15. `api-realtime-route.ts` - Next.js voice\n\n**Utilities** (2):\n16. `error-handling.ts` - Comprehensive errors\n17. `tracing-setup.ts` - Debugging\n\n---\n\n## References\n\n1. `agent-patterns.md` - Orchestration strategies (LLM vs code, parallel, agents-as-tools)\n2. `common-errors.md` - All 9 errors with workarounds and sources\n3. `realtime-transports.md` - WebRTC vs WebSocket comparison, latency, debugging\n4. `cloudflare-integration.md` - Workers setup, limitations, performance, costs\n5. `official-links.md` - Documentation, GitHub, npm, community resources\n\n---\n\n## Official Resources\n\n- **Docs**: https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-js\u002F\n- **GitHub**: https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\n- **npm**: https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@openai\u002Fagents\n- **Issues**: https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fissues\n\n---\n\n**Version**: SDK v0.3.3\n**Last Verified**: 2025-11-21\n**Skill Author**: Claude Skills Maintainers\n**Production Tested**: Yes\n",{"name":5,"license":15,"metadata":24,"description":7},{"keywords":25,"packages":54,"frameworks":58,"last_verified":64,"token_savings":65,"errors_prevented":66,"production_tested":67},[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],"OpenAI Agents SDK","@openai\u002Fagents","@openai\u002Fagents-realtime","openai agents javascript","openai agents typescript","text agents","voice agents","realtime agents","multi-agent workflows","agent handoffs","agent tools","zod schemas agents","structured outputs agents","agent streaming","agent guardrails","input guardrails","output guardrails","human-in-the-loop","cloudflare workers agents","nextjs openai agents","react openai agents","hono agents","agent debugging","Zod schema type error","MCP tracing failure","agent infinite loop","tool call failures","schema mismatch agents",[55,56,57],"@openai\u002Fagents@0.3.3","@openai\u002Fagents-realtime@0.3.3","zod@^3.24.1",[59,60,61,62,63],"Cloudflare Workers","Next.js","React","Node.js","Hono","2025-11-21","~60%",9,true,"main","c475fc64e94e803b50d14a791dfee8853fbb2c5c","integrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents","https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory","https:\u002F\u002Fgithub.com\u002FElogic360","2026-11-08 22:21:22",{"source":8,"skillName":5,"commands":75,"prompt":85,"zipAvailable":67},[76,79,82],{"tool":77,"command":78},"npx","npx skills add Elogic360\u002Fsoftware-factory --skill openai-agents",{"tool":80,"command":81},"bunx","bunx skills add Elogic360\u002Fsoftware-factory --skill openai-agents",{"tool":83,"command":84},"pnpm","pnpm dlx skills add Elogic360\u002Fsoftware-factory --skill openai-agents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002FSKILL.md",[87,93,97,101,105,109,115,119,123,127,131,135,139,145,149,153,157,161,165,169,173,177,181,185,189],{"path":88,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fagent-patterns.md","REFERENCE","参考文档",6431,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Freferences\u002Fagent-patterns.md",{"path":94,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fcloudflare-integration.md",7389,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Freferences\u002Fcloudflare-integration.md",{"path":98,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fcommon-errors.md",9026,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Freferences\u002Fcommon-errors.md",{"path":102,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fofficial-links.md",5712,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Freferences\u002Fofficial-links.md",{"path":106,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Frealtime-transports.md",6129,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Freferences\u002Frealtime-transports.md",{"path":110,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":113,"sourceHtmlUrl":114},"scripts\u002Fcheck-versions.sh","SCRIPT","脚本",1969,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Fscripts\u002Fcheck-versions.sh",{"path":116,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":117,"sourceHtmlUrl":118},"templates\u002Fcloudflare-workers\u002Fworker-agent-hono.ts",5448,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Fcloudflare-workers\u002Fworker-agent-hono.ts",{"path":120,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":121,"sourceHtmlUrl":122},"templates\u002Fcloudflare-workers\u002Fworker-text-agent.ts",5119,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Fcloudflare-workers\u002Fworker-text-agent.ts",{"path":124,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":125,"sourceHtmlUrl":126},"templates\u002Fnextjs\u002Fapi-agent-route.ts",4621,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Fnextjs\u002Fapi-agent-route.ts",{"path":128,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":129,"sourceHtmlUrl":130},"templates\u002Fnextjs\u002Fapi-realtime-route.ts",5029,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Fnextjs\u002Fapi-realtime-route.ts",{"path":132,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":133,"sourceHtmlUrl":134},"templates\u002Frealtime-agents\u002Frealtime-agent-basic.ts",5232,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Frealtime-agents\u002Frealtime-agent-basic.ts",{"path":136,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":137,"sourceHtmlUrl":138},"templates\u002Frealtime-agents\u002Frealtime-handoffs.ts",6417,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Frealtime-agents\u002Frealtime-handoffs.ts",{"path":140,"resourceType":141,"resourceTypeDesc":142,"sizeBytes":143,"sourceHtmlUrl":144},"templates\u002Frealtime-agents\u002Frealtime-session-browser.tsx","OTHER","其他",9727,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Frealtime-agents\u002Frealtime-session-browser.tsx",{"path":146,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":147,"sourceHtmlUrl":148},"templates\u002Fshared\u002Ferror-handling.ts",4414,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Fshared\u002Ferror-handling.ts",{"path":150,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":151,"sourceHtmlUrl":152},"templates\u002Fshared\u002Fpackage.json",532,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Fshared\u002Fpackage.json",{"path":154,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":155,"sourceHtmlUrl":156},"templates\u002Fshared\u002Ftracing-setup.ts",4002,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Fshared\u002Ftracing-setup.ts",{"path":158,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":159,"sourceHtmlUrl":160},"templates\u002Ftext-agents\u002Fagent-basic.ts",1600,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Ftext-agents\u002Fagent-basic.ts",{"path":162,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":163,"sourceHtmlUrl":164},"templates\u002Ftext-agents\u002Fagent-guardrails-input.ts",6204,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Ftext-agents\u002Fagent-guardrails-input.ts",{"path":166,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":167,"sourceHtmlUrl":168},"templates\u002Ftext-agents\u002Fagent-guardrails-output.ts",6143,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Ftext-agents\u002Fagent-guardrails-output.ts",{"path":170,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":171,"sourceHtmlUrl":172},"templates\u002Ftext-agents\u002Fagent-handoffs.ts",3919,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Ftext-agents\u002Fagent-handoffs.ts",{"path":174,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":175,"sourceHtmlUrl":176},"templates\u002Ftext-agents\u002Fagent-human-approval.ts",6568,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Ftext-agents\u002Fagent-human-approval.ts",{"path":178,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":179,"sourceHtmlUrl":180},"templates\u002Ftext-agents\u002Fagent-parallel.ts",8053,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Ftext-agents\u002Fagent-parallel.ts",{"path":182,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":183,"sourceHtmlUrl":184},"templates\u002Ftext-agents\u002Fagent-streaming.ts",5065,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Ftext-agents\u002Fagent-streaming.ts",{"path":186,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":187,"sourceHtmlUrl":188},"templates\u002Ftext-agents\u002Fagent-structured-output.ts",4959,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Ftext-agents\u002Fagent-structured-output.ts",{"path":190,"resourceType":141,"resourceTypeDesc":142,"sizeBytes":191,"sourceHtmlUrl":192},"templates\u002Fwrangler.jsonc",778,"https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fintegrations\u002Fclaude-skills-secondsky\u002Fplugins\u002Fopenai-agents\u002Fskills\u002Fopenai-agents\u002Ftemplates\u002Fwrangler.jsonc",[194,202,209,216,223,230],{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":198,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":201,"publishedAt":19},"01M79G206MT3J6S0GY3C45P2KV","vss-summarize-video","Use to summarize a recorded video via the LVS summarization microservice (HITL-gated) with a VLM fallback. Not for report generation or live RTSP captioning.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fvss-summarize-video\u002FSKILL.md",[],[],{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":198,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":208,"publishedAt":19},"01M79G1WN63PGRE8CKD47WEBQ5","vss-setup-video-analytics-api","Use to deploy the vss-video-analytics-api REST service standalone (config-source, data-log bind, Elasticsearch, optional Kafka). Not for full warehouse deploy.","https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fvss-setup-video-analytics-api\u002FSKILL.md",[],[],{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":198,"licenseFileUrl":6,"sourceHtmlUrl":213,"categories":214,"keywords":215,"publishedAt":19},"01M79G1S9F7VY3EF6H53PRP5AN","vss-setup-behavior-analytics","Use to deploy the vss-behavior-analytics service standalone (entrypoint, config-source, optional calibration). Not for the full warehouse deploy.","https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fvss-setup-behavior-analytics\u002FSKILL.md",[],[],{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":198,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":222,"publishedAt":19},"01M79G1N1S1Y27PFZPYMNK1MTQ","vss-search-archive","Use this skill to run top-level VSS fusion search on archived video, or to ingest video files \u002F RTSP streams for search. Do NOT use for ad-hoc visual Q&A (use vss-ask-video), live captioning (use vss-deploy-dense-captioning), or video summarization and reports (use vss-summarize-video).","https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fvss-search-archive\u002FSKILL.md",[],[],{"skillNo":224,"name":225,"nameZh":6,"description":226,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":198,"licenseFileUrl":6,"sourceHtmlUrl":227,"categories":228,"keywords":229,"publishedAt":19},"01M79G1H6WN0Q6C0VCAXCZX6B7","vss-query-analytics","Use this skill when reading video-analytics metrics, incidents, alerts, and sensor data via the VA-MCP server (port 9901). Not for live VLM or incident-range narrative reports.","https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fvss-query-analytics\u002FSKILL.md",[],[],{"skillNo":231,"name":232,"nameZh":6,"description":233,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":198,"licenseFileUrl":6,"sourceHtmlUrl":234,"categories":235,"keywords":236,"publishedAt":19},"01M79G1DYPNXQS7QHZ0AAF5FX5","vss-manage-video-io-storage","Use to call the VIOS REST API (sensor list, timelines, clip extraction, snapshots, add\u002Fdelete sensors and streams). Not for VLM inference or search.","https:\u002F\u002Fgithub.com\u002FElogic360\u002Fsoftware-factory\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fvss-manage-video-io-storage\u002FSKILL.md",[],[]]