[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSWED4PVD5EFSB304WBJ3A":3,"skill-same:01M6CSWED4PVD5EFSB304WBJ3A":72},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6CSWED4PVD5EFSB304WBJ3A","implementer:oneshot",null,"Implémentation ultra-rapide d'une feature ciblée — Explore, Code, Test","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\u002Fimplementer\u002Fskills\u002Foneshot\u002FSKILL.md",[],[19,5,20,21,22,23,24,25,26,27,28],"implementer","test","code","Bash","explore","grep","read","write","edit","task","2026-11-10 10:12:30",false,"---\nname: implementer:oneshot\ndescription: Implémentation ultra-rapide d'une feature ciblée — Explore, Code, Test\nargument-hint: \u003Cfeature-description>\nmodel: sonnet\nallowed-tools: [Task, Read, Write, Edit, Grep, Glob, Bash]\nversion: 1.0.0\nlicense: MIT\n---\n\n# OneShot — Implémentation rapide\n\nImplémenter `$ARGUMENTS` à vitesse maximale. Ship fast, iterate later.\n\n## Instructions à Exécuter\n\n**IMPORTANT : Exécute ce workflow en 3 phases :**\n\n### Phase 1 : EXPLORE (minimal)\n\nRassembler le contexte minimum viable :\n- Utiliser `Glob` pour trouver 2-3 fichiers clés par pattern\n- Utiliser `Grep` pour chercher des patterns spécifiques\n- `WebSearch` uniquement si connaissance d'une API externe requise\n- Pas de tour d'exploration — trouver des exemples et avancer\n\n### Phase 2 : CODE (phase principale)\n\nExécuter les changements immédiatement :\n- Suivre exactement les patterns existants du codebase\n- Nommage clair plutôt que commentaires\n- Rester STRICTEMENT dans le scope — ne modifier que ce qui est nécessaire\n- Pas de commentaires sauf si vraiment complexe\n- Pas de refactoring au-delà des exigences\n- Lancer les formateurs si disponibles (`make fix`)\n\n### Phase 3 : TEST (validation)\n\nVérifier la qualité :\n- Lancer : `make phpstan` (ou équivalent)\n- Si échec : corriger uniquement ce qui est cassé, relancer\n- Pas de suite de tests complète sauf si explicitement demandé\n\n## Sortie\n\n```\n## Terminé\n\n**Tâche :** {ce qui a été implémenté}\n**Fichiers modifiés :** {liste}\n**Validation :** PHPStan OK\n```\n\n## Contraintes\n\n- UNE seule tâche — pas d'améliorations tangentielles\n- Pas de fichiers de documentation sauf si demandé\n- Pas de refactoring hors du scope immédiat\n- Pas d'ajouts \"tant qu'on y est\"\n- Si bloqué plus de 2 tentatives : signaler le blocage et s'arrêter\n- Ne JAMAIS créer de commits Git\n","# OneShot — Implémentation rapide\n\nImplémenter `$ARGUMENTS` à vitesse maximale. Ship fast, iterate later.\n\n## Instructions à Exécuter\n\n**IMPORTANT : Exécute ce workflow en 3 phases :**\n\n### Phase 1 : EXPLORE (minimal)\n\nRassembler le contexte minimum viable :\n- Utiliser `Glob` pour trouver 2-3 fichiers clés par pattern\n- Utiliser `Grep` pour chercher des patterns spécifiques\n- `WebSearch` uniquement si connaissance d'une API externe requise\n- Pas de tour d'exploration — trouver des exemples et avancer\n\n### Phase 2 : CODE (phase principale)\n\nExécuter les changements immédiatement :\n- Suivre exactement les patterns existants du codebase\n- Nommage clair plutôt que commentaires\n- Rester STRICTEMENT dans le scope — ne modifier que ce qui est nécessaire\n- Pas de commentaires sauf si vraiment complexe\n- Pas de refactoring au-delà des exigences\n- Lancer les formateurs si disponibles (`make fix`)\n\n### Phase 3 : TEST (validation)\n\nVérifier la qualité :\n- Lancer : `make phpstan` (ou équivalent)\n- Si échec : corriger uniquement ce qui est cassé, relancer\n- Pas de suite de tests complète sauf si explicitement demandé\n\n## Sortie\n\n```\n## Terminé\n\n**Tâche :** {ce qui a été implémenté}\n**Fichiers modifiés :** {liste}\n**Validation :** PHPStan OK\n```\n\n## Contraintes\n\n- UNE seule tâche — pas d'améliorations tangentielles\n- Pas de fichiers de documentation sauf si demandé\n- Pas de refactoring hors du scope immédiat\n- Pas d'ajouts \"tant qu'on y est\"\n- Si bloqué plus de 2 tentatives : signaler le blocage et s'arrêter\n- Ne JAMAIS créer de commits Git\n",{"name":5,"model":34,"license":15,"version":35,"description":7,"allowed-tools":36,"argument-hint":43},"sonnet","1.0.0",[37,38,39,40,41,42,22],"Task","Read","Write","Edit","Grep","Glob","\u003Cfeature-description>","main","bb0335112ea0991dc1dc6a29fa5a861397a5a6f6","implementer\u002Fskills\u002Foneshot","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":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add atournayre\u002Fclaude-personas --skill \"implementer:oneshot\"",{"tool":58,"command":59},"bunx","bunx skills add atournayre\u002Fclaude-personas --skill \"implementer:oneshot\"",{"tool":61,"command":62},"pnpm","pnpm dlx skills add atournayre\u002Fclaude-personas --skill \"implementer:oneshot\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Fimplementer\u002Fskills\u002Foneshot\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"evals\u002Ftriggers.json","REFERENCE","参考文档",1169,"https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Frepomix-packer\u002Fevals\u002Ftriggers.json",[73,85,124,131,139,150],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":29},"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",[],[80,81,25,27,26,82,24,83,84,22],"twig:make component","component","ux","template","php",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":107,"publishedAt":29},"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",[91,96,99,102],{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":97,"categoryName":98,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":100,"categoryName":101,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[20,108,109,110,111,112,113,114,115,116,117,22,118,119,120,121,25,26,122,123],"ui","tester","ui test","tester:ui test","MCP","debug","create","update","validation","messages","plan","tool","page","find","javascript","chrome",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":29},"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",[],[126,22,24,25,26,27],{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":29},"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",[],[133,138,22,24,25,26,27],"message",{"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":148,"publishedAt":29},"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",[145],{"categoryNo":146,"categoryName":147,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000005","邮件与沟通",[141,27,149,22,83,24,25,26],"email",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":29},"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",[],[152,22,24,25,26,27,157,116],"options"]