[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSXM5BZQ0KZVAXFARD21EE":3,"skill-same:01M6CSXM5BZQ0KZVAXFARD21EE":78},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":14,"repositoryHtmlUrl":59,"repositoryHomepageUrl":60,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M6CSXM5BZQ0KZVAXFARD21EE","orchestrator:team",null,"Orchestre une équipe d'agents spécialisés pour les tâches complexes. Auto-détecte le type (feature\u002Frefactor\u002Fapi\u002Ffix), compose l'équipe, coordonne les phases analyse -> challenge -> implémentation -> QA.","atournayre\u002Fclaude-personas","atournayre","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4262077?v=4","01M6CSSGYW0E0D0M3E2T6J9X2Z","Aurélien Tournayre","01M6CSSH3DENJF2XWZ41H0F43K",0,"MIT","https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Forchestrator\u002Fskills\u002Fteam\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"team","orchestrator","read","task","compose","auto","implementer","fix","write","safe","challenge","grep","Bash","api","refactor","qa","2026-11-10 10:12:30",false,"---\nname: orchestrator:team\ndescription: Orchestre une équipe d'agents spécialisés pour les tâches complexes. Auto-détecte le type (feature\u002Frefactor\u002Fapi\u002Ffix), compose l'équipe, coordonne les phases analyse -> challenge -> implémentation -> QA.\nargument-hint: \"[type] \u003Cdescription> [--agents=analyst,implementer] [--safe]\"\nmodel: sonnet\nallowed-tools: [Task, TaskCreate, TaskUpdate, TaskList, TeamCreate, TeamDelete, SendMessage, AskUserQuestion, Read, Write, Grep, Glob, Bash]\nversion: 1.0.0\nlicense: MIT\n---\n\n# orchestrator:team\n\nOrchestration d'une équipe d'agents natifs pour les tâches de développement complexes. Tu es le **team lead** : tu crées l'équipe, distribues les tâches, coordonnes les phases et rapportes les résultats.\n\n## Invocation\n\n```\n\u002Forchestrator:team \"\u003Cdescription>\"\n\u002Forchestrator:team \u003Ctype> \"\u003Cdescription>\"\n\u002Forchestrator:team \"\u003Cdescription>\" --agents=analyst,implementer\n\u002Forchestrator:team \"\u003Cdescription>\" --safe\n```\n\n## Architecture des agents\n\n| Agent | Rôle | Outils |\n|-------|------|--------|\n| **analyst** | Architecture + design | Read, Grep, Glob, Bash |\n| **challenger** | Challenge + QA review | Read, Grep, Glob, Bash |\n| **implementer** | Développement + tests | Read, Write, Edit, Grep, Glob, Bash |\n\n## Fichiers intermédiaires\n\n```\n{scratchpad}\u002Fprompt-{slug}\u002F\n  01-analysis.md\n  02-challenge.md\n  03-plan.md\n  04-implementation.md\n  05-qa-report.md\n```\n\n## Modes d'exécution\n\n| Mode | Condition | Comportement |\n|------|-----------|-------------|\n| **Normal** | RAM >= 4 GB | Parallèle intra-phase (max 2 agents) |\n| **Safe** | RAM 2-4 GB ou `--safe` | Séquentiel strict (1 agent) |\n| **Abort** | RAM \u003C 2 GB | Abandon, proposer alternative |\n\n## Workflow\n\n### Phase 0 : Initialisation\n\n1. Parser les arguments (description, type, --agents, --safe)\n2. Auto-détecter le type si absent (feature\u002Frefactor\u002Fapi\u002Ffix)\n3. Composer l'équipe selon le type :\n   - `feature` : analyst + challenger + implementer\n   - `refactor` : analyst + implementer\n   - `api` : analyst + challenger + implementer\n   - `fix` : challenger + implementer\n4. Health check RAM\n5. `TeamCreate(\"prompt-{slug}\")`\n6. Créer les tâches avec dépendances (TaskCreate #1 à #6)\n\n### Phase 1 : Analyse\n\nAgent analyst (+ challenger en parallèle si mode Normal).\nOutput : `{scratchpad}\u002Fprompt-{slug}\u002F01-analysis.md`\n\n### Phase 2 : Challenge\n\nAgent challenger lit `01-analysis.md`, produit `02-challenge.md`.\nShutdown de tous les agents d'analyse après cette phase.\n\n### Phase 3 : Synthèse + validation\n\nTeam lead (pas d'agent) :\n1. Lire `01-analysis.md` et `02-challenge.md`\n2. Produire synthèse courte\n3. Demander validation via AskUserQuestion (Valider \u002F Ajuster \u002F Arrêter)\n4. Écrire `03-plan.md`\n\n### Phase 4 : Implémentation\n\nAgent implementer lit `03-plan.md` + `01-analysis.md` + `02-challenge.md`.\nOutput : `{scratchpad}\u002Fprompt-{slug}\u002F04-implementation.md`\nShutdown après.\n\n### Phase 5 : QA + Review\n\nAgent challenger-qa (nouvelle instance) :\n- Lit `02-challenge.md` + `04-implementation.md`\n- Exécute `git diff` + outils QA (PHPStan, tests, linters)\n- Output : `{scratchpad}\u002Fprompt-{slug}\u002F05-qa-report.md`\nShutdown après.\n\n### Phase 6 : Cleanup + rapport\n\nTeam lead :\n1. Lire `05-qa-report.md`\n2. Afficher rapport final\n3. Vérifier processus orphelins\n4. `TeamDelete()`\n\n## Limites\n\n| Règle | Valeur |\n|-------|--------|\n| Max agents simultanés (Normal) | 2 |\n| Max agents simultanés (Safe) | 1 |\n| Max turns analyse | 15 |\n| Max turns QA\u002Freview | 20 |\n| Max turns implementer | 30 |\n| RAM minimum | 2 GB |\n\n## Résultat\n\n```markdown\n## Rapport final — [Description de la tâche]\n\n### Équipe mobilisée\n- analyst : [durée]\n- challenger : [durée]\n- implementer : [durée]\n\n### Fichiers créés\n- [fichier] : [description]\n\n### Fichiers modifiés\n- [fichier] : [nature de la modification]\n\n### Concerns adressés\n- [concern BLOQUANT] : résolu via [approche]\n\n### QA\n- PHPStan : PASS \u002F FAIL (X erreurs)\n- Tests : PASS \u002F FAIL (X\u002FY)\n\n### Points d'attention\n- [Élément nécessitant une vérification manuelle]\n```\n\n## Règles\n\n- Fichiers intermédiaires pour communication inter-agents\n- Shutdown entre les phases (0 agent en mémoire entre phases)\n- Health check RAM entre chaque phase\n- Validation utilisateur OBLIGATOIRE en Phase 3 avant implémentation\n- Ne jamais créer de commits Git\n","# orchestrator:team\n\nOrchestration d'une équipe d'agents natifs pour les tâches de développement complexes. Tu es le **team lead** : tu crées l'équipe, distribues les tâches, coordonnes les phases et rapportes les résultats.\n\n## Invocation\n\n```\n\u002Forchestrator:team \"\u003Cdescription>\"\n\u002Forchestrator:team \u003Ctype> \"\u003Cdescription>\"\n\u002Forchestrator:team \"\u003Cdescription>\" --agents=analyst,implementer\n\u002Forchestrator:team \"\u003Cdescription>\" --safe\n```\n\n## Architecture des agents\n\n| Agent | Rôle | Outils |\n|-------|------|--------|\n| **analyst** | Architecture + design | Read, Grep, Glob, Bash |\n| **challenger** | Challenge + QA review | Read, Grep, Glob, Bash |\n| **implementer** | Développement + tests | Read, Write, Edit, Grep, Glob, Bash |\n\n## Fichiers intermédiaires\n\n```\n{scratchpad}\u002Fprompt-{slug}\u002F\n  01-analysis.md\n  02-challenge.md\n  03-plan.md\n  04-implementation.md\n  05-qa-report.md\n```\n\n## Modes d'exécution\n\n| Mode | Condition | Comportement |\n|------|-----------|-------------|\n| **Normal** | RAM >= 4 GB | Parallèle intra-phase (max 2 agents) |\n| **Safe** | RAM 2-4 GB ou `--safe` | Séquentiel strict (1 agent) |\n| **Abort** | RAM \u003C 2 GB | Abandon, proposer alternative |\n\n## Workflow\n\n### Phase 0 : Initialisation\n\n1. Parser les arguments (description, type, --agents, --safe)\n2. Auto-détecter le type si absent (feature\u002Frefactor\u002Fapi\u002Ffix)\n3. Composer l'équipe selon le type :\n   - `feature` : analyst + challenger + implementer\n   - `refactor` : analyst + implementer\n   - `api` : analyst + challenger + implementer\n   - `fix` : challenger + implementer\n4. Health check RAM\n5. `TeamCreate(\"prompt-{slug}\")`\n6. Créer les tâches avec dépendances (TaskCreate #1 à #6)\n\n### Phase 1 : Analyse\n\nAgent analyst (+ challenger en parallèle si mode Normal).\nOutput : `{scratchpad}\u002Fprompt-{slug}\u002F01-analysis.md`\n\n### Phase 2 : Challenge\n\nAgent challenger lit `01-analysis.md`, produit `02-challenge.md`.\nShutdown de tous les agents d'analyse après cette phase.\n\n### Phase 3 : Synthèse + validation\n\nTeam lead (pas d'agent) :\n1. Lire `01-analysis.md` et `02-challenge.md`\n2. Produire synthèse courte\n3. Demander validation via AskUserQuestion (Valider \u002F Ajuster \u002F Arrêter)\n4. Écrire `03-plan.md`\n\n### Phase 4 : Implémentation\n\nAgent implementer lit `03-plan.md` + `01-analysis.md` + `02-challenge.md`.\nOutput : `{scratchpad}\u002Fprompt-{slug}\u002F04-implementation.md`\nShutdown après.\n\n### Phase 5 : QA + Review\n\nAgent challenger-qa (nouvelle instance) :\n- Lit `02-challenge.md` + `04-implementation.md`\n- Exécute `git diff` + outils QA (PHPStan, tests, linters)\n- Output : `{scratchpad}\u002Fprompt-{slug}\u002F05-qa-report.md`\nShutdown après.\n\n### Phase 6 : Cleanup + rapport\n\nTeam lead :\n1. Lire `05-qa-report.md`\n2. Afficher rapport final\n3. Vérifier processus orphelins\n4. `TeamDelete()`\n\n## Limites\n\n| Règle | Valeur |\n|-------|--------|\n| Max agents simultanés (Normal) | 2 |\n| Max agents simultanés (Safe) | 1 |\n| Max turns analyse | 15 |\n| Max turns QA\u002Freview | 20 |\n| Max turns implementer | 30 |\n| RAM minimum | 2 GB |\n\n## Résultat\n\n```markdown\n## Rapport final — [Description de la tâche]\n\n### Équipe mobilisée\n- analyst : [durée]\n- challenger : [durée]\n- implementer : [durée]\n\n### Fichiers créés\n- [fichier] : [description]\n\n### Fichiers modifiés\n- [fichier] : [nature de la modification]\n\n### Concerns adressés\n- [concern BLOQUANT] : résolu via [approche]\n\n### QA\n- PHPStan : PASS \u002F FAIL (X erreurs)\n- Tests : PASS \u002F FAIL (X\u002FY)\n\n### Points d'attention\n- [Élément nécessitant une vérification manuelle]\n```\n\n## Règles\n\n- Fichiers intermédiaires pour communication inter-agents\n- Shutdown entre les phases (0 agent en mémoire entre phases)\n- Health check RAM entre chaque phase\n- Validation utilisateur OBLIGATOIRE en Phase 3 avant implémentation\n- Ne jamais créer de commits Git\n",{"name":5,"model":40,"license":15,"version":41,"description":7,"allowed-tools":42,"argument-hint":55},"sonnet","1.0.0",[43,44,45,46,47,48,49,50,51,52,53,54,31],"Task","TaskCreate","TaskUpdate","TaskList","TeamCreate","TeamDelete","SendMessage","AskUserQuestion","Read","Write","Grep","Glob","[type] \u003Cdescription> [--agents=analyst,implementer] [--safe]","main","bb0335112ea0991dc1dc6a29fa5a861397a5a6f6","orchestrator\u002Fskills\u002Fteam","https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas","https:\u002F\u002Fatournayre.github.io\u002Fclaude-personas\u002F","https:\u002F\u002Fgithub.com\u002Fatournayre","🔵, Back End Developer, @symfony  :heart:, @rectorphp :heart:,  \r\n:bug: fixer (creator sometimes 🤫), member of @afup","2026-03-02 23:42:20",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add atournayre\u002Fclaude-personas --skill \"orchestrator:team\"",{"tool":70,"command":71},"bunx","bunx skills add atournayre\u002Fclaude-personas --skill \"orchestrator:team\"",{"tool":73,"command":74},"pnpm","pnpm dlx skills add atournayre\u002Fclaude-personas --skill \"orchestrator:team\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Forchestrator\u002Fskills\u002Fteam\u002FSKILL.md",true,[],[79,92,132,139,147,158],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":35},"01M6CSZPR0W1K1S9BX3247CZJ1","twig:make-component","Génère un Twig Component Symfony UX (classe PHP + template Twig)","https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Ftwig\u002Fskills\u002Fmake-component\u002FSKILL.md",[],[86,87,21,88,27,89,30,90,91,31],"twig:make component","component","edit","ux","template","php",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":114,"publishedAt":35},"01M6CSZKCYYT4EAW4CDSTS3TSH","tester:ui-test","Teste automatiquement une interface utilisateur dans Chrome : navigation, clics, validation visuelle, tests fonctionnels, responsive, comportement et debug. Génère un rapport détaillé avec screenshots et optionnellement un GIF du parcours.","https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Ftester\u002Fskills\u002Fui-test\u002FSKILL.md",[98,103,106,109],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":107,"categoryName":108,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[115,116,117,118,119,120,121,122,123,124,125,31,126,127,128,129,21,27,130,131],"test","ui","tester","ui test","tester:ui test","MCP","debug","create","update","validation","messages","plan","tool","page","find","javascript","chrome",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":35},"01M6CSZGQ8X9XNXRBYX0AA3CYE","symfony:voter","Genere un Voter de securite Symfony pour le controle d'acces granulaire","https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Fsymfony\u002Fskills\u002Fvoter\u002FSKILL.md",[],[134,31,30,21,27,88],{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":35},"01M6CSZEJ3BNHCNZT18SYFGDME","symfony:message","Genere un Message Symfony Messenger avec son Handler pour traitement asynchrone","https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Fsymfony\u002Fskills\u002Fmessage\u002FSKILL.md",[],[141,146,31,30,21,27,88],"message",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":156,"publishedAt":35},"01M6CSZBWSK9M6YMJX886BVWYF","symfony:mailer","Genere un email Symfony (TemplatedEmail ou Notification) avec template Twig","https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Fsymfony\u002Fskills\u002Fmailer\u002FSKILL.md",[153],{"categoryNo":154,"categoryName":155,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000005","邮件与沟通",[149,88,157,31,90,30,21,27],"email",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":35},"01M6CSZ9DXMYZ9HTRE8A324AWG","symfony:form","Genere un FormType Symfony avec contraintes de validation et options","https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Fsymfony\u002Fskills\u002Fform\u002FSKILL.md",[],[160,31,30,21,27,88,165,124],"options"]