[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSVNMXACM0752XHS61A64W":3,"skill-same:01M6CSVNMXACM0752XHS61A64W":91},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":14,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6CSVNMXACM0752XHS61A64W","documenter:load",null,"Charge la documentation d'un framework depuis son site web dans des fichiers markdown locaux. Supporte Symfony, API Platform, Meilisearch, atournayre-framework et Claude Code.","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\u002Fdocumenter\u002Fskills\u002Fload\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31],"web","documentation","code","framework","api","Bash","markdown","site","read","write","edit","webfetch","task","2026-11-10 10:12:30",false,"---\nname: documenter:load\ndescription: >\n  Charge la documentation d'un framework depuis son site web dans des fichiers markdown locaux.\n  Supporte Symfony, API Platform, Meilisearch, atournayre-framework et Claude Code.\nallowed-tools: [Task, WebFetch, Write, Edit, Bash, Read, Glob]\nmodel: sonnet\nversion: 1.0.0\nlicense: MIT\n---\n\n# Documentation Loader Skill\n\n## Instructions à Exécuter\n\n**IMPORTANT : Exécute ce workflow étape par étape :**\n\n\n## Usage\n```\n\u002Fdocumenter:load \u003Cframework> [version]\n```\n\n## Frameworks supportés\n\n| Framework | Agent | Path |\n|-----------|-------|------|\n| symfony | symfony-docs-scraper | docs\u002Fsymfony\u002F[version]\u002F |\n| api-platform | api-platform-docs-scraper | docs\u002Fapi-platform\u002F[version]\u002F |\n| meilisearch | meilisearch-docs-scraper | docs\u002Fmeilisearch\u002F[version]\u002F |\n| atournayre-framework | atournayre-framework-docs-scraper | docs\u002Fatournayre-framework\u002F[version]\u002F |\n| claude | claude-docs-scraper | docs\u002Fclaude\u002F |\n\n## Workflow\n\n1. Parser arguments (framework, version)\n2. Vérifier README contenant les URLs\n3. Gérer cache (24h par défaut)\n4. Déléguer à agent scraper spécialisé\n5. Générer statistiques finales\n\n## Cache\n\n- Fichiers \u003C 24h : ignorés\n- Fichiers > 24h : supprimés et rechargés\n- Délai 2s entre requêtes (anti rate-limit)\n\n## Error Handling\n\n- Framework non supporté → ARRÊT\n- README introuvable → ARRÊT\n- Échec scraping URL → WARNING (continue)\n\n## References\n\n- [Scripts de workflow](references\u002Fworkflow-scripts.md) - Scripts bash et gestion rate limiting\n\n## Notes\n- Fichiers markdown nommés depuis URL\n- Support multi-version\n","# Documentation Loader Skill\n\n## Instructions à Exécuter\n\n**IMPORTANT : Exécute ce workflow étape par étape :**\n\n\n## Usage\n```\n\u002Fdocumenter:load \u003Cframework> [version]\n```\n\n## Frameworks supportés\n\n| Framework | Agent | Path |\n|-----------|-------|------|\n| symfony | symfony-docs-scraper | docs\u002Fsymfony\u002F[version]\u002F |\n| api-platform | api-platform-docs-scraper | docs\u002Fapi-platform\u002F[version]\u002F |\n| meilisearch | meilisearch-docs-scraper | docs\u002Fmeilisearch\u002F[version]\u002F |\n| atournayre-framework | atournayre-framework-docs-scraper | docs\u002Fatournayre-framework\u002F[version]\u002F |\n| claude | claude-docs-scraper | docs\u002Fclaude\u002F |\n\n## Workflow\n\n1. Parser arguments (framework, version)\n2. Vérifier README contenant les URLs\n3. Gérer cache (24h par défaut)\n4. Déléguer à agent scraper spécialisé\n5. Générer statistiques finales\n\n## Cache\n\n- Fichiers \u003C 24h : ignorés\n- Fichiers > 24h : supprimés et rechargés\n- Délai 2s entre requêtes (anti rate-limit)\n\n## Error Handling\n\n- Framework non supporté → ARRÊT\n- README introuvable → ARRÊT\n- Échec scraping URL → WARNING (continue)\n\n## References\n\n- [Scripts de workflow](references\u002Fworkflow-scripts.md) - Scripts bash et gestion rate limiting\n\n## Notes\n- Fichiers markdown nommés depuis URL\n- Support multi-version\n",{"name":5,"model":37,"license":15,"version":38,"description":39,"allowed-tools":40},"sonnet","1.0.0","Charge la documentation d'un framework depuis son site web dans des fichiers markdown locaux. Supporte Symfony, API Platform, Meilisearch, atournayre-framework et Claude Code.\n",[41,42,43,44,24,45,46],"Task","WebFetch","Write","Edit","Read","Glob","main","bb0335112ea0991dc1dc6a29fa5a861397a5a6f6","documenter\u002Fskills\u002Fload","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":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add atournayre\u002Fclaude-personas --skill \"documenter:load\"",{"tool":61,"command":62},"bunx","bunx skills add atournayre\u002Fclaude-personas --skill \"documenter:load\"",{"tool":64,"command":65},"pnpm","pnpm dlx skills add atournayre\u002Fclaude-personas --skill \"documenter:load\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Fdocumenter\u002Fskills\u002Fload\u002FSKILL.md",true,[69,75,81,85],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"assets\u002Fexample_asset.txt","ASSET","资产文件",866,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fisms-audit-expert\u002Fassets\u002Fexample_asset.txt",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fapi_reference.md","REFERENCE","参考文档",969,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fisms-audit-expert\u002Freferences\u002Fapi_reference.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fworkflow-scripts.md",4651,"https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Fdocumenter\u002Fskills\u002Fload\u002Freferences\u002Fworkflow-scripts.md",{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Fexample.py","SCRIPT","脚本",594,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fisms-audit-expert\u002Fscripts\u002Fexample.py",[92,105,145,152,160,171],{"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":98,"publishedAt":32},"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",[],[99,100,27,29,28,101,102,103,104,24],"twig:make component","component","ux","grep","template","php",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":127,"publishedAt":32},"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",[111,116,119,122],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":120,"categoryName":121,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[128,129,130,131,132,133,134,135,136,137,138,24,139,140,141,142,27,28,143,144],"test","ui","tester","ui test","tester:ui test","MCP","debug","create","update","validation","messages","plan","tool","page","find","javascript","chrome",{"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":32},"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",[],[147,24,102,27,28,29],{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":32},"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",[],[154,159,24,102,27,28,29],"message",{"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":169,"publishedAt":32},"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",[166],{"categoryNo":167,"categoryName":168,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000005","邮件与沟通",[162,29,170,24,103,102,27,28],"email",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":32},"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",[],[173,24,102,27,28,29,178,137],"options"]