[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSWV19PY9A7ARGVCAM5HJB":3,"skill-same:01M6CSWV19PY9A7ARGVCAM5HJB":84},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6CSWV19PY9A7ARGVCAM5HJB","infra:init",null,"Initialise le marketplace et vérifie toutes les dépendances nécessaires aux plugins (git, gh, node, npm, bun). Génère un rapport avec les dépendances installées\u002Fmanquantes et les commandes d'installation.","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\u002Finfra\u002Fskills\u002Finit\u002FSKILL.md",[],[19,20,5,21,22,23,24,25,26,27,28,29,30,31,32],"init","infra","git","npm","plugins","marketplace","Bash","gh","haiku","grep","node","read","write","bun","2026-11-10 10:12:30",false,"---\nname: infra:init\ndescription: Initialise le marketplace et vérifie toutes les dépendances nécessaires aux plugins (git, gh, node, npm, bun). Génère un rapport avec les dépendances installées\u002Fmanquantes et les commandes d'installation.\nmodel: haiku\nallowed-tools: [Bash, Read, Write, Glob, Grep]\nversion: 1.0.0\nlicense: MIT\n---\n\n# infra:init\n\nInitialisation du marketplace et vérification des dépendances système.\n\n## Instructions à Exécuter\n\n### Étape 1 : Vérifier les dépendances système\n\n```bash\nwhich git && echo \"git OK\" || echo \"git MANQUANT\"\nwhich gh && echo \"gh OK\" || echo \"gh MANQUANT\"\nwhich node && echo \"node OK\" || echo \"node MANQUANT\"\nwhich npm && echo \"npm OK\" || echo \"npm MANQUANT\"\nwhich bun && echo \"bun OK\" || echo \"bun MANQUANT\"\nwhich pnpm && echo \"pnpm OK\" || echo \"pnpm MANQUANT (optionnel)\"\n```\n\n### Étape 2 : Afficher les versions\n\nPour chaque dépendance installée, afficher la version.\n\n### Étape 3 : Analyser les plugins installés\n\nLire `.claude-plugin\u002Fmarketplace.json` pour obtenir la liste des plugins.\nVérifier les dépendances de chaque plugin.\n\n### Étape 4 : Générer le rapport\n\n```\nMarketplace Claude Plugin - Rapport de dépendances\n\nDépendances installées (X\u002FY)\n  - git v2.x.x\n  - gh v2.x.x\n  - node v20.x.x\n\nDépendances manquantes (X\u002FY)\n  - biome (optionnel)\n\nPlugins affectés par les dépendances manquantes\n  - plugin-name : raison\n\nRésumé par plugin\n  plugin1 : Toutes les dépendances satisfaites\n  plugin2 : biome optionnel manquant\n```\n\n### Étape 5 : Proposer l'installation des dépendances manquantes\n\nSi dépendances critiques manquent, afficher les commandes d'installation :\n\n```bash\n# bun\ncurl -fsSL https:\u002F\u002Fbun.sh\u002Finstall | bash\n\n# gh (Linux)\nsudo apt install gh\n\n# biome\nnpm install -g @biomejs\u002Fbiome\n```\n\n### Étape 6 : Installer les packages NPM des plugins si nécessaire\n\nPour chaque plugin avec packages NPM requis, proposer :\n\n```bash\ncd {plugin}\u002Fscripts && bun install\n```\n\n## Dépendances système\n\n- `git` - Gestion de version (requis : git, dev)\n- `gh` - GitHub CLI (requis : git, github)\n- `node` - Runtime JavaScript\n- `npm` - Package manager Node\n- `bun` - Runtime JavaScript moderne\n\n**Optionnelles :**\n- `pnpm` - Package manager Node alternatif\n- `biome` - Linter\u002Fformatter\n\n## Format de sortie\n\nRapport formaté avec :\n- Icônes succès\u002Ferreur\u002Favertissement\n- Sections claires\n- Commandes d'installation prêtes à copier\n","# infra:init\n\nInitialisation du marketplace et vérification des dépendances système.\n\n## Instructions à Exécuter\n\n### Étape 1 : Vérifier les dépendances système\n\n```bash\nwhich git && echo \"git OK\" || echo \"git MANQUANT\"\nwhich gh && echo \"gh OK\" || echo \"gh MANQUANT\"\nwhich node && echo \"node OK\" || echo \"node MANQUANT\"\nwhich npm && echo \"npm OK\" || echo \"npm MANQUANT\"\nwhich bun && echo \"bun OK\" || echo \"bun MANQUANT\"\nwhich pnpm && echo \"pnpm OK\" || echo \"pnpm MANQUANT (optionnel)\"\n```\n\n### Étape 2 : Afficher les versions\n\nPour chaque dépendance installée, afficher la version.\n\n### Étape 3 : Analyser les plugins installés\n\nLire `.claude-plugin\u002Fmarketplace.json` pour obtenir la liste des plugins.\nVérifier les dépendances de chaque plugin.\n\n### Étape 4 : Générer le rapport\n\n```\nMarketplace Claude Plugin - Rapport de dépendances\n\nDépendances installées (X\u002FY)\n  - git v2.x.x\n  - gh v2.x.x\n  - node v20.x.x\n\nDépendances manquantes (X\u002FY)\n  - biome (optionnel)\n\nPlugins affectés par les dépendances manquantes\n  - plugin-name : raison\n\nRésumé par plugin\n  plugin1 : Toutes les dépendances satisfaites\n  plugin2 : biome optionnel manquant\n```\n\n### Étape 5 : Proposer l'installation des dépendances manquantes\n\nSi dépendances critiques manquent, afficher les commandes d'installation :\n\n```bash\n# bun\ncurl -fsSL https:\u002F\u002Fbun.sh\u002Finstall | bash\n\n# gh (Linux)\nsudo apt install gh\n\n# biome\nnpm install -g @biomejs\u002Fbiome\n```\n\n### Étape 6 : Installer les packages NPM des plugins si nécessaire\n\nPour chaque plugin avec packages NPM requis, proposer :\n\n```bash\ncd {plugin}\u002Fscripts && bun install\n```\n\n## Dépendances système\n\n- `git` - Gestion de version (requis : git, dev)\n- `gh` - GitHub CLI (requis : git, github)\n- `node` - Runtime JavaScript\n- `npm` - Package manager Node\n- `bun` - Runtime JavaScript moderne\n\n**Optionnelles :**\n- `pnpm` - Package manager Node alternatif\n- `biome` - Linter\u002Fformatter\n\n## Format de sortie\n\nRapport formaté avec :\n- Icônes succès\u002Ferreur\u002Favertissement\n- Sections claires\n- Commandes d'installation prêtes à copier\n",{"name":5,"model":27,"license":15,"version":38,"description":7,"allowed-tools":39},"1.0.0",[25,40,41,42,43],"Read","Write","Glob","Grep","main","bb0335112ea0991dc1dc6a29fa5a861397a5a6f6","infra\u002Fskills\u002Finit","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 \"infra:init\"",{"tool":58,"command":59},"bunx","bunx skills add atournayre\u002Fclaude-personas --skill \"infra:init\"",{"tool":61,"command":62},"pnpm","pnpm dlx skills add atournayre\u002Fclaude-personas --skill \"infra:init\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Finfra\u002Fskills\u002Finit\u002FSKILL.md",true,[66,72,78],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"assets\u002Fexample_asset.txt","ASSET","资产文件",866,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fquality-manager-qmr\u002Fassets\u002Fexample_asset.txt",{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fapi_reference.md","REFERENCE","参考文档",971,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fquality-manager-qmr\u002Freferences\u002Fapi_reference.md",{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"scripts\u002Fexample.py","SCRIPT","脚本",598,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fquality-manager-qmr\u002Fscripts\u002Fexample.py",[85,98,138,145,153,164],{"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":91,"publishedAt":33},"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",[],[92,93,30,94,31,95,28,96,97,25],"twig:make component","component","edit","ux","template","php",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":120,"publishedAt":33},"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",[104,109,112,115],{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":110,"categoryName":111,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":113,"categoryName":114,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[121,122,123,124,125,126,127,128,129,130,131,25,132,133,134,135,30,31,136,137],"test","ui","tester","ui test","tester:ui test","MCP","debug","create","update","validation","messages","plan","tool","page","find","javascript","chrome",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":33},"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",[],[140,25,28,30,31,94],{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":33},"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",[],[147,152,25,28,30,31,94],"message",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":162,"publishedAt":33},"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",[159],{"categoryNo":160,"categoryName":161,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000005","邮件与沟通",[155,94,163,25,96,28,30,31],"email",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":33},"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",[],[166,25,28,30,31,94,171,130],"options"]