[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSWKNAP83BZNS1WWPCERRP":3,"skill-same:01M6CSWKNAP83BZNS1WWPCERRP":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":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":14,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6CSWKNAP83BZNS1WWPCERRP","infra:alias-add",null,"Crée un alias de slash command qui délègue à une autre slash command existante. Valide les arguments, crée le fichier d'alias, et met à jour la documentation.","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\u002Falias-add\u002FSKILL.md",[],[19,20,21,22,23,24],"infra","infra:alias add","documentation","command","read","write","2026-11-10 10:12:30",false,"---\nname: infra:alias-add\ndescription: Crée un alias de slash command qui délègue à une autre slash command existante. Valide les arguments, crée le fichier d'alias, et met à jour la documentation.\nallowed-tools: [Skill, Write, Read, Glob]\nargument-hint: \u003Calias> \u003Ccommande>\nmodel: sonnet\nversion: 1.0.0\nlicense: MIT\n---\n\n# infra:alias-add\n\nCréer un alias de slash command délégant à une commande existante.\n\n## Instructions à Exécuter\n\n### 1. Validation des arguments\n\n- Vérifier que 2 arguments ont été fournis (alias et commande cible)\n- Valider le format de l'alias (format kebab-case)\n- Valider le format de la commande cible\n- Vérifier que l'alias n'existe pas déjà\n- Vérifier que la commande cible existe\n\n### 2. Création du fichier d'alias\n\nCréer dans le répertoire des skills\u002Fcommands approprié :\n\n```markdown\n---\nallowed-tools:\n  - Skill\ndescription: Alias vers [TARGET_COMMAND]\nargument-hint: [arguments de la commande cible]\nmodel: haiku\n---\n\n# [ALIAS]\n\nAlias vers `[TARGET_COMMAND]`.\n\n## Workflow\n- Exécuter la commande cible via Skill\n```\n\n### 3. Exécution de la commande cible\n\nUtiliser l'outil Skill pour exécuter TARGET_COMMAND avec les arguments fournis.\n\n### 4. Mise à jour de la documentation\n\nAjouter l'alias dans la documentation avec :\n- Nom de l'alias\n- Description\n- Commande cible\n- Usage\n\n### 5. Rapport final\n\n```\nAlias créé avec succès\n\nFichier : {chemin}\nCible : {TARGET_COMMAND}\nUsage : \u002F{alias} [arguments]\n```\n\n## Bonnes pratiques\n\n- Noms d'alias courts et mémorisables\n- Éviter les conflits avec les commandes existantes\n- Documenter clairement la commande cible\n- Utiliser Haiku pour les alias (simple délégation)\n- Transmettre tous les arguments à la commande cible\n\n## Exemples\n\n```bash\n\u002Finfra:alias-add status \u002Fgit:status\n\u002Finfra:alias-add doc \u002Fdoc:update\n```\n","# infra:alias-add\n\nCréer un alias de slash command délégant à une commande existante.\n\n## Instructions à Exécuter\n\n### 1. Validation des arguments\n\n- Vérifier que 2 arguments ont été fournis (alias et commande cible)\n- Valider le format de l'alias (format kebab-case)\n- Valider le format de la commande cible\n- Vérifier que l'alias n'existe pas déjà\n- Vérifier que la commande cible existe\n\n### 2. Création du fichier d'alias\n\nCréer dans le répertoire des skills\u002Fcommands approprié :\n\n```markdown\n---\nallowed-tools:\n  - Skill\ndescription: Alias vers [TARGET_COMMAND]\nargument-hint: [arguments de la commande cible]\nmodel: haiku\n---\n\n# [ALIAS]\n\nAlias vers `[TARGET_COMMAND]`.\n\n## Workflow\n- Exécuter la commande cible via Skill\n```\n\n### 3. Exécution de la commande cible\n\nUtiliser l'outil Skill pour exécuter TARGET_COMMAND avec les arguments fournis.\n\n### 4. Mise à jour de la documentation\n\nAjouter l'alias dans la documentation avec :\n- Nom de l'alias\n- Description\n- Commande cible\n- Usage\n\n### 5. Rapport final\n\n```\nAlias créé avec succès\n\nFichier : {chemin}\nCible : {TARGET_COMMAND}\nUsage : \u002F{alias} [arguments]\n```\n\n## Bonnes pratiques\n\n- Noms d'alias courts et mémorisables\n- Éviter les conflits avec les commandes existantes\n- Documenter clairement la commande cible\n- Utiliser Haiku pour les alias (simple délégation)\n- Transmettre tous les arguments à la commande cible\n\n## Exemples\n\n```bash\n\u002Finfra:alias-add status \u002Fgit:status\n\u002Finfra:alias-add doc \u002Fdoc:update\n```\n",{"name":5,"model":30,"license":15,"version":31,"description":7,"allowed-tools":32,"argument-hint":37},"sonnet","1.0.0",[33,34,35,36],"Skill","Write","Read","Glob","\u003Calias> \u003Ccommande>","main","bb0335112ea0991dc1dc6a29fa5a861397a5a6f6","infra\u002Fskills\u002Falias-add","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":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add atournayre\u002Fclaude-personas --skill \"infra:alias-add\"",{"tool":52,"command":53},"bunx","bunx skills add atournayre\u002Fclaude-personas --skill \"infra:alias-add\"",{"tool":55,"command":56},"pnpm","pnpm dlx skills add atournayre\u002Fclaude-personas --skill \"infra:alias-add\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Finfra\u002Fskills\u002Falias-add\u002FSKILL.md",true,[60,66,72],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"assets\u002Fexample_asset.txt","ASSET","资产文件",866,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fquality-documentation-manager\u002Fassets\u002Fexample_asset.txt",{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Fapi_reference.md","REFERENCE","参考文档",981,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fquality-documentation-manager\u002Freferences\u002Fapi_reference.md",{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"scripts\u002Fexample.py","SCRIPT","脚本",618,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fquality-documentation-manager\u002Fscripts\u002Fexample.py",[79,94,134,141,149,160],{"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":25},"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,23,88,24,89,90,91,92,93],"twig:make component","component","edit","ux","grep","template","php","Bash",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":116,"publishedAt":25},"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",[100,105,108,111],{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":106,"categoryName":107,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":109,"categoryName":110,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[117,118,119,120,121,122,123,124,125,126,127,93,128,129,130,131,23,24,132,133],"test","ui","tester","ui test","tester:ui test","MCP","debug","create","update","validation","messages","plan","tool","page","find","javascript","chrome",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":25},"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",[],[136,93,90,23,24,88],{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":25},"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",[],[143,148,93,90,23,24,88],"message",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":158,"publishedAt":25},"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",[155],{"categoryNo":156,"categoryName":157,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000005","邮件与沟通",[151,88,159,93,91,90,23,24],"email",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":25},"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",[],[162,93,90,23,24,88,167,126],"options"]