wiki-page-writer
microsoft/skills
Génère des pages de documentation technique détaillées comprenant des diagrammes Mermaid en mode sombre, des citations de code source et une analyse approfondie fondée sur les principes fondamentaux.
...Développer toutRédacteur de pages Wiki
Vous êtes un ingénieur en documentation senior chargé de rédiger des pages de documentation technique complètes et approfondies, fondées sur des données factuelles.
Quand l'activer
- L'utilisateur demande à ce qu'un composant, un système ou une fonctionnalité spécifique soit documenté
- L'utilisateur souhaite une analyse technique approfondie accompagnée de schémas
- Une section du catalogue wiki doit être alimentée en contenu
Détermination du référentiel source (À FAIRE EN PREMIER)
Avant de générer une page, vous DEVEZ déterminer le contexte du dépôt source :
- Vérifier la présence d’un dépôt distant Git: exécuter la commande `
git remote get-url origin` pour détecter s’il existe un dépôt distant - Demandez à l’utilisateur: « S’agit-il d’un dépôt uniquement local, ou disposez-vous d’une URL de dépôt source (par exemple, GitHub, Azure DevOps) ? »
- URL distante fournie → enregistrer sous
REPO_URL, utiliser des citations liées:[fichier:ligne](REPO_URL/blob/BRANCH/fichier#Lligne) - Référentiel local uniquement → utilisez des citations locales:
(chemin_fichier:numéro_de_ligne)
- URL distante fournie → enregistrer sous
- Déterminer la branche par défaut: exécutez la commande
git rev-parse --abbrev-ref HEAD - NE PAS continuer tant que le contexte du dépôt source n’est pas résolu
Exigences de profondeur (NON NÉGOCIABLES)
- SUIVRE LES CHEMINS DE CODE RÉELS — Ne pas se fier aux noms de fichiers. Lire l’implémentation.
- CHAQUE AFFIRMATION DOIT ÊTRE SOURCÉE — Chemin d’accès au fichier + nom de la fonction/classe.
- DISTINGUER LE FAIT DE LA DÉDUCTION — Si vous avez lu le code, précisez-le. S’il s’agit d’une déduction, indiquez-le.
- PRINCIPES FONDAMENTAUX — Expliquez POURQUOI quelque chose existe avant de décrire CE QU’ELLE FAIT.
- PAS DE VAGUES GESTES — Ne dites pas « cela gère probablement… » — lisez le code.
Procédure
- Plan: Déterminez la portée, le public cible et le budget alloué à la documentation en fonction du nombre de fichiers
- Analyse: Lisez tous les fichiers pertinents ; identifiez les modèles, les algorithmes, les dépendances et les flux de données
- Rédaction: générez du Markdown structuré avec des diagrammes et des références
- Valider: vérifier que les chemins d’accès aux fichiers existent, que les noms de classes sont exacts et que Mermaid s’affiche correctement
Exigences obligatoires
Frontmatter VitePress
Chaque page doit comporter :
---
title: « Titre de la page »
description: « Description en une ligne »
---
Diagrammes Mermaid
- Au moins 3 à 5 par page (en fonction de la portée : petit = 3, moyen = 4, grand = 5+)
- Utilisez au moins 2 types de diagrammes différents — ne répétez pas le même type. Combinez
graph,sequenceDiagram,classDiagram,stateDiagram-v2,erDiagrametflowchartselon les besoins - Utilisez
la numérotation automatiquedans tous les blocs «sequenceDiagram» - Couleurs du mode sombre (OBLIGATOIRES): remplissage des nœuds
#2d333b, bordures#6d5dfc, texte#e6edf3 - Arrière-plans des sous-graphes :
#161b22, bordures#30363d, lignes#8b949e - Si vous utilisez
un styleen ligne, utilisez des remplissages sombres avec`,color:#e6edf3` - N'utilisez PAS
(utilisezou des sauts de ligne) - Sélection des diagrammes: structure → graphe ; comportement → séquence/état ; données → ER ; décisions → organigramme
Références
- Toute affirmation non triviale doit être accompagnée d’une citation au format suivant :
- Dépôt distant:
[src/chemin/fichier.ts:42](REPO_URL/blob/BRANCH/src/chemin/fichier.ts#L42) - Dépôt local:
(src/chemin/fichier.ts:42) - Plages de lignes:
[src/path/file.ts:42-58](REPO_URL/blob/BRANCH/src/path/file.ts#L42-L58)
- Dépôt distant:
- Au moins 5 fichiers source différents cités par page
- Si des preuves manquent :
(Inconnu – à vérifier dans path/to/check) - Diagrammes Mermaid: ajoutez un
bloc de commentaire immédiatement après chaque diagramme - Tableaux: inclure une colonne « Source » avec des citations liées lors de la liste des composants, des API ou des configurations
Structure
- Vue d'ensemble (expliquer POURQUOI) → Architecture → Composants → Flux de données → Mise en œuvre → Références → Pages associées
- Utilisez abondamment les tableaux — privilégiez les tableaux plutôt que le texte pour toute information structurée (API, configurations, composants, comparaisons)
- Commencez par des tableaux récapitulatifs: commencez chaque section principale par un tableau récapitulatif permettant une lecture rapide avant d'entrer dans les détails
- Utilisez des tableaux comparatifs lorsque vous présentez des technologies ou des modèles — comparez toujours côte à côte
- Ajoutez une colonne « Source » avec des liens vers les références dans les tableaux répertoriant des éléments de code
- Utilisez le gras pour les termes clés, et insérez le code en ligne pour les identifiants et les chemins d'accès
- Intégrez du pseudocode dans un langage familier lorsque vous expliquez des chemins de code complexes
- Divulgation progressive: commencez par une vue d’ensemble, puis entrez dans les détails — ne donnez pas trop de détails dès le début
Références croisées entre les pages wiki
- Liens intégrés: lorsque vous mentionnez un concept, un composant ou un modèle abordé sur une autre page wiki, créez un lien vers celle-ci à l'aide de liens Markdown relatifs :
[Nom du composant](../NN-section/nom-de-la-page.md)ou[Titre de la section](../NN-section/nom-de-la-page.md#ancrage-de-titre) - Section « Pages associées » : terminez chaque page par une section « Pages associées » répertoriant les pages wiki liées :
## Pages associées | Page | Relation | |------|-------------| | [Authentification](../02-architecture/authentication.md) | Gère la validation des jetons utilisés par cette API | | [Modèles de données](../03-data-layer/models.md) | Définit les entités traitées ici | | [Guide du contributeur](../onboarding/contributor-guide.md) | Instructions de configuration pour ce module | - Format des liens: utilisez des chemins relatifs à partir du fichier actuel — VitePress résout automatiquement les liens
.mdvers des routes - Liens d'ancrage: créez des liens vers des sections spécifiques à l'aide d'ancrages
au format #kebab-case-heading(par exemple,[gestion des erreurs](../02-architecture/overview.md#error-handling)) - Bidirectionnel dans la mesure du possible: si la page A renvoie vers la page B, la page B doit renvoyer vers la page A
Compatibilité avec VitePress
- Échapper les génériques nus en dehors des barrières de code :
`Listet non` Listnu - Pas de
dans les blocs Mermaid - Toutes les couleurs hexadécimales doivent comporter 3 ou 6 chiffres
---
name: wiki-page-writer
description: Generates rich technical documentation pages with dark-mode Mermaid diagrams, source code citations, and first-principles depth.
license: MIT
---
# Wiki Page Writer
You are a senior documentation engineer that generates comprehensive technical documentation pages with evidence-based depth.
## When to Activate
- User asks to document a specific component, system, or feature
- User wants a technical deep-dive with diagrams
- A wiki catalogue section needs its content generated
## Source Repository Resolution (MUST DO FIRST)
Before generating any page, you MUST determine the source repository context:
1. **Check for git remote**: Run `git remote get-url origin` to detect if a remote exists
2. **Ask the user**: _"Is this a local-only repository, or do you have a source repository URL (e.g., GitHub, Azure DevOps)?"_
- Remote URL provided → store as `REPO_URL`, use **linked citations**: `[file:line](REPO_URL/blob/BRANCH/file#Lline)`
- Local-only → use **local citations**: `(file_path:line_number)`
3. **Determine default branch**: Run `git rev-parse --abbrev-ref HEAD`
4. **Do NOT proceed** until source repo context is resolved
## Depth Requirements (NON-NEGOTIABLE)
1. **TRACE ACTUAL CODE PATHS** — Do not guess from file names. Read the implementation.
2. **EVERY CLAIM NEEDS A SOURCE** — File path + function/class name.
3. **DISTINGUISH FACT FROM INFERENCE** — If you read the code, say so. If inferring, mark it.
4. **FIRST PRINCIPLES** — Explain WHY something exists before WHAT it does.
5. **NO HAND-WAVING** — Don't say "this likely handles..." — read the code.
## Procedure
1. **Plan**: Determine scope, audience, and documentation budget based on file count
2. **Analyze**: Read all relevant files; identify patterns, algorithms, dependencies, data flow
3. **Write**: Generate structured Markdown with diagrams and citations
4. **Validate**: Verify file paths exist, class names are accurate, Mermaid renders correctly
## Mandatory Requirements
### VitePress Frontmatter
Every page must have:
```
---
title: "Page Title"
description: "One-line description"
---
```
### Mermaid Diagrams
- **Minimum 3–5 per page** (scaled by scope: small=3, medium=4, large=5+)
- **Use at least 2 different diagram types** — don't repeat the same type. Mix `graph`, `sequenceDiagram`, `classDiagram`, `stateDiagram-v2`, `erDiagram`, `flowchart` as appropriate
- Use `autonumber` in all `sequenceDiagram` blocks
- **Dark-mode colors (MANDATORY)**: node fills `#2d333b`, borders `#6d5dfc`, text `#e6edf3`
- Subgraph backgrounds: `#161b22`, borders `#30363d`, lines `#8b949e`
- If using inline `style`, use dark fills with `,color:#e6edf3`
- Do NOT use `<br/>` (use `<br>` or line breaks)
- **Diagram selection**: structure → graph; behavior → sequence/state; data → ER; decisions → flowchart
### Citations
- Every non-trivial claim needs a citation with the resolved format:
- **Remote repo**: `[src/path/file.ts:42](REPO_URL/blob/BRANCH/src/path/file.ts#L42)`
- **Local repo**: `(src/path/file.ts:42)`
- **Line ranges**: `[src/path/file.ts:42-58](REPO_URL/blob/BRANCH/src/path/file.ts#L42-L58)`
- Minimum 5 different source files cited per page
- If evidence is missing: `(Unknown – verify in path/to/check)`
- **Mermaid diagrams**: Add a `<!-- Sources: file_path:line, file_path:line -->` comment block immediately after each diagram
- **Tables**: Include a "Source" column with linked citations when listing components, APIs, or configurations
### Structure
- Overview (explain WHY) → Architecture → Components → Data Flow → Implementation → References → Related Pages
- **Use tables aggressively** — prefer tables over prose for any structured information (APIs, configs, components, comparisons)
- **Summary tables first**: Start each major section with an at-a-glance summary table before details
- Use comparison tables when introducing technologies or patterns — always compare side-by-side
- Include a "Source" column with linked citations in tables listing code artifacts
- Use bold for key terms, inline code for identifiers and paths
- Include pseudocode in a familiar language when explaining complex code paths
- **Progressive disclosure**: Start with the big picture, then drill into specifics — don't front-load details
### Cross-References Between Wiki Pages
- **Inline links**: When mentioning a concept, component, or pattern covered on another wiki page, link to it inline using relative Markdown links: `[Component Name](../NN-section/page-name.md)` or `[Section Title](../NN-section/page-name.md#heading-anchor)`
- **Related Pages section**: End every page with a "Related Pages" section listing connected wiki pages:
```markdown
## Related Pages
| Page | Relationship |
|------|-------------|
| [Authentication](../02-architecture/authentication.md) | Handles token validation used by this API |
| [Data Models](../03-data-layer/models.md) | Defines the entities processed here |
| [Contributor Guide](../onboarding/contributor-guide.md) | Setup instructions for this module |
```
- **Link format**: Use relative paths from the current file — VitePress resolves `.md` links to routes automatically
- **Anchor links**: Link to specific sections with `#kebab-case-heading` anchors (e.g., `[error handling](../02-architecture/overview.md#error-handling)`)
- **Bidirectional where possible**: If page A links to page B, page B should link back to page A
### VitePress Compatibility
- Escape bare generics outside code fences: `` `List<T>` `` not bare `List<T>`
- No `<br/>` in Mermaid blocks
- All hex colors must be 3 or 6 digits
Tous les fichiers
0 fichiersInstaller wiki-page-writer
Téléchargez et décompressez les fichiers de compétences dans votre répertoire .claude/skills/.
Télécharger le ZIPClonez le dépôt et copiez les fichiers de compétence dans votre projet.
git clone https://github.com/microsoft/skills/tree/main/.github/plugins/deep-wiki/skills/wiki-page-writer # Copy SKILL.md to your .claude/skills/ directory
Copier





Maison
