[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSVJPFAND7Y7DWF27JR4YQ":3,"skill-same:01M6CSVJPFAND7Y7DWF27JR4YQ":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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":14,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6CSVJPFAND7Y7DWF27JR4YQ","documenter:claude-question",null,"Interroger la documentation Claude Code locale pour répondre à une question","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\u002Fclaude-question\u002FSKILL.md",[],[19,20,21,22,23,24,25],"question","documenter:claude question","documentation","code","Bash","grep","read","2026-11-10 10:12:30",false,"---\nname: documenter:claude-question\ndescription: Interroger la documentation Claude Code locale pour répondre à une question\nallowed-tools: [Read, Grep, Glob, Bash]\nargument-hint: \u003Cquestion>\nmodel: sonnet\nversion: 1.0.0\nlicense: MIT\n---\n\n# Interrogation de la Documentation Claude Code\n\n## Instructions à Exécuter\n\n**IMPORTANT : Exécute ce workflow étape par étape :**\n\n\nRépondre à une question technique sur Claude Code en utilisant la documentation locale présente dans `docs\u002Fclaude\u002F`.\n\n## Purpose\nFournir des réponses précises et contextualisées aux questions Claude Code en s'appuyant sur la documentation officielle stockée localement, sans nécessiter d'accès web.\n\n## Variables\n- QUESTION: La question technique posée par l'utilisateur\n- DOCS_PATH: `docs\u002Fclaude\u002F` - Chemin vers la documentation locale\n- SEARCH_KEYWORDS: Mots-clés extraits de la question pour la recherche\n\n## Relevant Files\n- `docs\u002Fclaude\u002F` - Documentation Claude Code locale\n- `docs\u002Fclaude\u002FREADME.md` - Index de la documentation chargée\n\n## Workflow\n\n### Étape 1: Vérification de la documentation locale\n- Vérifier l'existence de `docs\u002Fclaude\u002F`\n- Si le répertoire n'existe pas ou est vide :\n  - Informer l'utilisateur\n  - Suggérer d'exécuter `\u002Fdocumenter:claude-load` pour charger la documentation\n  - Arrêter l'exécution avec message explicite\n- Si la documentation existe :\n  - Lire `docs\u002Fclaude\u002FREADME.md` pour connaître le contenu disponible\n  - Continuer vers l'étape 2\n\n### Étape 2: Analyse de la question\n- Extraire les mots-clés principaux de QUESTION\n- Identifier le contexte technique (composant, feature, concept)\n- Exemples de mots-clés :\n  - \"slash command\" → chercher dans commands.md, custom-commands.md\n  - \"agent\" → chercher dans agents.md, subagents.md\n  - \"hook\" → chercher dans hooks.md, lifecycle.md\n  - \"tool\" → chercher dans tools.md, permissions.md\n\n### Étape 3: Recherche dans la documentation\n- Utiliser Grep pour rechercher les mots-clés dans `docs\u002Fclaude\u002F`\n- Paramètres de recherche :\n  - Case insensitive (`-i`)\n  - Afficher le contexte (3 lignes avant\u002Faprès avec `-C 3`)\n  - Limiter les résultats pertinents\n- Lire les fichiers markdown pertinents identifiés\n- Si aucun résultat :\n  - Élargir la recherche avec des termes associés\n  - Suggérer des termes de recherche alternatifs\n\n### Étape 4: Analyse et synthèse\n- Extraire les sections pertinentes de la documentation\n- Organiser les informations par ordre de pertinence\n- Identifier :\n  - Concept principal\n  - Exemples de code\n  - Bonnes pratiques\n  - Warnings et notes importantes\n  - Liens vers documentation connexe\n\n### Étape 5: Construction de la réponse\n- Réponse structurée en format bullet points\n- Inclure :\n  - Explication concise du concept\n  - Exemples de code si disponibles\n  - Références aux fichiers de documentation sources\n  - Liens internes vers sections connexes\n- Format markdown enrichi avec :\n  - Blocs de code Markdown\u002FPython\u002FShell selon contexte\n  - Sections info\u002Fwarning si pertinent\n  - Liste hiérarchique pour les étapes\n\n### Étape 6: Rapport final avec timing\n- Présenter la réponse formatée\n- Calculer et afficher la durée totale\n- Afficher le timestamp de fin\n\n## Report Format\n```markdown\n## Réponse : [Sujet principal]\n\n### Concept\n- Explication principale\n- Points clés\n\n### Exemple de Code\n[Bloc de code si disponible]\n\n### Documentation de Référence\n- `docs\u002Fclaude\u002F[fichier].md` - [Section]\n- Autres fichiers pertinents\n\n### Voir Aussi\n- Concepts connexes\n- Autres commandes utiles\n```\n\n## Error Handling\n- **Documentation manquante** : Message clair + suggestion `\u002Fdocumenter:claude-load`\n- **Aucun résultat trouvé** : Suggérer termes alternatifs ou reformulation\n- **Question trop vague** : Demander précisions avec exemples\n- **Fichiers corrompus** : Signaler et suggérer rechargement\n\n## Examples\n\n### Exemple 1 - Question simple\n```bash\n\u002Fdocumenter:claude-question \"Comment créer une slash command ?\"\n```\n**Résultat attendu** :\n- Recherche dans commands.md, custom-commands.md\n- Format de fichier de commande\n- Exemples de frontmatter YAML\n- Références aux fichiers sources\n\n### Exemple 2 - Question sur composant\n```bash\n\u002Fdocumenter:claude-question \"Comment utiliser les hooks ?\"\n```\n**Résultat attendu** :\n- Recherche hooks.md, lifecycle.md\n- Types de hooks disponibles\n- Exemples Python\n- Cas d'usage\n\n## Best Practices\n- Toujours vérifier la présence de la documentation avant recherche\n- Privilégier la précision sur l'exhaustivité\n- Citer les sources (fichiers markdown consultés)\n- Fournir des exemples de code concrets\n- Suggérer des commandes connexes si pertinent\n- Garder les réponses concises mais complètes\n- **Afficher le timing au début et à la fin**\n\n## Notes\n- Cette commande fonctionne 100% offline une fois la documentation chargée\n- La documentation doit être rafraîchie périodiquement avec `\u002Fdocumenter:claude-load`\n- Supporte toutes les versions de Claude Code présentes dans `docs\u002Fclaude\u002F`\n","# Interrogation de la Documentation Claude Code\n\n## Instructions à Exécuter\n\n**IMPORTANT : Exécute ce workflow étape par étape :**\n\n\nRépondre à une question technique sur Claude Code en utilisant la documentation locale présente dans `docs\u002Fclaude\u002F`.\n\n## Purpose\nFournir des réponses précises et contextualisées aux questions Claude Code en s'appuyant sur la documentation officielle stockée localement, sans nécessiter d'accès web.\n\n## Variables\n- QUESTION: La question technique posée par l'utilisateur\n- DOCS_PATH: `docs\u002Fclaude\u002F` - Chemin vers la documentation locale\n- SEARCH_KEYWORDS: Mots-clés extraits de la question pour la recherche\n\n## Relevant Files\n- `docs\u002Fclaude\u002F` - Documentation Claude Code locale\n- `docs\u002Fclaude\u002FREADME.md` - Index de la documentation chargée\n\n## Workflow\n\n### Étape 1: Vérification de la documentation locale\n- Vérifier l'existence de `docs\u002Fclaude\u002F`\n- Si le répertoire n'existe pas ou est vide :\n  - Informer l'utilisateur\n  - Suggérer d'exécuter `\u002Fdocumenter:claude-load` pour charger la documentation\n  - Arrêter l'exécution avec message explicite\n- Si la documentation existe :\n  - Lire `docs\u002Fclaude\u002FREADME.md` pour connaître le contenu disponible\n  - Continuer vers l'étape 2\n\n### Étape 2: Analyse de la question\n- Extraire les mots-clés principaux de QUESTION\n- Identifier le contexte technique (composant, feature, concept)\n- Exemples de mots-clés :\n  - \"slash command\" → chercher dans commands.md, custom-commands.md\n  - \"agent\" → chercher dans agents.md, subagents.md\n  - \"hook\" → chercher dans hooks.md, lifecycle.md\n  - \"tool\" → chercher dans tools.md, permissions.md\n\n### Étape 3: Recherche dans la documentation\n- Utiliser Grep pour rechercher les mots-clés dans `docs\u002Fclaude\u002F`\n- Paramètres de recherche :\n  - Case insensitive (`-i`)\n  - Afficher le contexte (3 lignes avant\u002Faprès avec `-C 3`)\n  - Limiter les résultats pertinents\n- Lire les fichiers markdown pertinents identifiés\n- Si aucun résultat :\n  - Élargir la recherche avec des termes associés\n  - Suggérer des termes de recherche alternatifs\n\n### Étape 4: Analyse et synthèse\n- Extraire les sections pertinentes de la documentation\n- Organiser les informations par ordre de pertinence\n- Identifier :\n  - Concept principal\n  - Exemples de code\n  - Bonnes pratiques\n  - Warnings et notes importantes\n  - Liens vers documentation connexe\n\n### Étape 5: Construction de la réponse\n- Réponse structurée en format bullet points\n- Inclure :\n  - Explication concise du concept\n  - Exemples de code si disponibles\n  - Références aux fichiers de documentation sources\n  - Liens internes vers sections connexes\n- Format markdown enrichi avec :\n  - Blocs de code Markdown\u002FPython\u002FShell selon contexte\n  - Sections info\u002Fwarning si pertinent\n  - Liste hiérarchique pour les étapes\n\n### Étape 6: Rapport final avec timing\n- Présenter la réponse formatée\n- Calculer et afficher la durée totale\n- Afficher le timestamp de fin\n\n## Report Format\n```markdown\n## Réponse : [Sujet principal]\n\n### Concept\n- Explication principale\n- Points clés\n\n### Exemple de Code\n[Bloc de code si disponible]\n\n### Documentation de Référence\n- `docs\u002Fclaude\u002F[fichier].md` - [Section]\n- Autres fichiers pertinents\n\n### Voir Aussi\n- Concepts connexes\n- Autres commandes utiles\n```\n\n## Error Handling\n- **Documentation manquante** : Message clair + suggestion `\u002Fdocumenter:claude-load`\n- **Aucun résultat trouvé** : Suggérer termes alternatifs ou reformulation\n- **Question trop vague** : Demander précisions avec exemples\n- **Fichiers corrompus** : Signaler et suggérer rechargement\n\n## Examples\n\n### Exemple 1 - Question simple\n```bash\n\u002Fdocumenter:claude-question \"Comment créer une slash command ?\"\n```\n**Résultat attendu** :\n- Recherche dans commands.md, custom-commands.md\n- Format de fichier de commande\n- Exemples de frontmatter YAML\n- Références aux fichiers sources\n\n### Exemple 2 - Question sur composant\n```bash\n\u002Fdocumenter:claude-question \"Comment utiliser les hooks ?\"\n```\n**Résultat attendu** :\n- Recherche hooks.md, lifecycle.md\n- Types de hooks disponibles\n- Exemples Python\n- Cas d'usage\n\n## Best Practices\n- Toujours vérifier la présence de la documentation avant recherche\n- Privilégier la précision sur l'exhaustivité\n- Citer les sources (fichiers markdown consultés)\n- Fournir des exemples de code concrets\n- Suggérer des commandes connexes si pertinent\n- Garder les réponses concises mais complètes\n- **Afficher le timing au début et à la fin**\n\n## Notes\n- Cette commande fonctionne 100% offline une fois la documentation chargée\n- La documentation doit être rafraîchie périodiquement avec `\u002Fdocumenter:claude-load`\n- Supporte toutes les versions de Claude Code présentes dans `docs\u002Fclaude\u002F`\n",{"name":5,"model":31,"license":15,"version":32,"description":7,"allowed-tools":33,"argument-hint":37},"sonnet","1.0.0",[34,35,36,23],"Read","Grep","Glob","\u003Cquestion>","main","bb0335112ea0991dc1dc6a29fa5a861397a5a6f6","documenter\u002Fskills\u002Fclaude-question","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 \"documenter:claude-question\"",{"tool":52,"command":53},"bunx","bunx skills add atournayre\u002Fclaude-personas --skill \"documenter:claude-question\"",{"tool":55,"command":56},"pnpm","pnpm dlx skills add atournayre\u002Fclaude-personas --skill \"documenter:claude-question\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fatournayre\u002Fclaude-personas\u002Fblob\u002Fmain\u002Fdocumenter\u002Fskills\u002Fclaude-question\u002FSKILL.md",true,[60,66,70,74,78],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"examples\u002F3p-updates.md","REFERENCE","参考文档",3275,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Finternal-comms\u002Fexamples\u002F3p-updates.md",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"examples\u002Fcompany-newsletter.md",3296,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Finternal-comms\u002Fexamples\u002Fcompany-newsletter.md",{"path":71,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":72,"sourceHtmlUrl":73},"examples\u002Ffaq-answers.md",2367,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Finternal-comms\u002Fexamples\u002Ffaq-answers.md",{"path":75,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":76,"sourceHtmlUrl":77},"examples\u002Fgeneral-comms.md",603,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Finternal-comms\u002Fexamples\u002Fgeneral-comms.md",{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"LICENSE.txt","LICENSE","许可证",11358,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Finternal-comms\u002FLICENSE.txt",[85,99,139,146,154,165],{"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":26},"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,25,94,95,96,24,97,98,23],"twig:make component","component","edit","write","ux","template","php",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":121,"publishedAt":26},"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",[105,110,113,116],{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":111,"categoryName":112,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":114,"categoryName":115,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[122,123,124,125,126,127,128,129,130,131,132,23,133,134,135,136,25,95,137,138],"test","ui","tester","ui test","tester:ui test","MCP","debug","create","update","validation","messages","plan","tool","page","find","javascript","chrome",{"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":26},"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",[],[141,23,24,25,95,94],{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":26},"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",[],[148,153,23,24,25,95,94],"message",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":163,"publishedAt":26},"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",[160],{"categoryNo":161,"categoryName":162,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000005","邮件与沟通",[156,94,164,23,97,24,25,95],"email",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":26},"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",[],[167,23,24,25,95,94,172,131],"options"]