Все скиллы
01Скилл
Реализация
адапт. из anthropics/claude-cookbooks + ruvnet/ruflo
Multi-agent orchestratorКоманда из нескольких AI-агентов
Паттерн orchestrator-workers: один главный агент разбивает задачу, раздаёт суб-агентам с разными ролями, собирает результат. Базовая структура для AI-команд.
01aКогда брать
Когда задача слишком большая для одного агента и состоит из подзадач разной природы. Например: «сделай ревью PR» = security-агент + performance-агент + style-агент работают параллельно, главный собирает выводы.
02Куда положить
<project>/lib/multi-agent.tsСоздай эту папку и файл (если их нет), вставь содержимое ниже. Затем в Claude Code: /exit и запусти claude заново — команда появится.
03Содержимое
Скопируй всё что внутри блока и вставь в файл по пути выше.
multi-agent.ts
1// Orchestrator-Workers паттерн для multi-agent работы2 3import Anthropic from "@anthropic-ai/sdk";4const claude = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });5 6// ─── Worker — специализированный агент ───7async function worker(role: string, task: string): Promise<string> {8 const response = await claude.messages.create({9 model: "claude-sonnet-4-6",10 max_tokens: 1024,11 system: `Ты — ${role}. Отвечай в своей роли, не выходи за рамки.`,12 messages: [{ role: "user", content: task }],13 });14 return response.content.find(c => c.type === "text")?.text ?? "";15}16 17// ─── Orchestrator — главный агент ───18export async function review(code: string) {19 // Параллельно запускаем 3 worker-а20 const [security, performance, style] = await Promise.all([21 worker(22 "Senior security engineer. Параноишь насчёт ввода, SQL injection, XSS",23 `Код-ревью с точки зрения безопасности:\n\n${code}`24 ),25 worker(26 "Performance engineer. Ищешь O(n^2) циклы, N+1 запросы, лишние allocations",27 `Код-ревью с точки зрения производительности:\n\n${code}`28 ),29 worker(30 "Code style reviewer. Чистота, читаемость, соответствие конвенциям",31 `Код-ревью с точки зрения стиля:\n\n${code}`32 ),33 ]);34 35 // Финальный agent — синтезирует36 const finalResponse = await claude.messages.create({37 model: "claude-sonnet-4-6",38 max_tokens: 2048,39 system: "Ты — senior lead. Синтезируй 3 ревью в один отчёт. Приоритизируй: критичные баги > security > performance > style.",40 messages: [{41 role: "user",42 content: `43SECURITY REVIEW:44${security}45 46PERFORMANCE REVIEW:47${performance}48 49STYLE REVIEW:50${style}51 52Сделай итоговое ревью с приоритетами.`,53 }],54 });55 56 return finalResponse.content.find(c => c.type === "text")?.text ?? "";57}04Как использовать
Примеры команд
- 01
Code review разделённый на security/performance/style - 02
Контент-генерация: writer + editor + fact-checker - 03
Анализ резюме: skills-matcher + culture-fit + interview-prep