Agent skill
wiki-page-writer
Generates rich technical documentation pages with dark-mode Mermaid diagrams, source code citations, and first-principles depth. Use when writing documentation, generating wiki pages, creating technical deep-dives, or documenting specific components or systems.
Install this agent skill to your Project
npx add-skill https://github.com/microsoft/skills/tree/main/.github/plugins/deep-wiki/skills/wiki-page-writer
SKILL.md
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:
- Check for git remote: Run
git remote get-url originto detect if a remote exists - 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)
- Remote URL provided → store as
- Determine default branch: Run
git rev-parse --abbrev-ref HEAD - Do NOT proceed until source repo context is resolved
Depth Requirements (NON-NEGOTIABLE)
- TRACE ACTUAL CODE PATHS — Do not guess from file names. Read the implementation.
- EVERY CLAIM NEEDS A SOURCE — File path + function/class name.
- DISTINGUISH FACT FROM INFERENCE — If you read the code, say so. If inferring, mark it.
- FIRST PRINCIPLES — Explain WHY something exists before WHAT it does.
- NO HAND-WAVING — Don't say "this likely handles..." — read the code.
Procedure
- Plan: Determine scope, audience, and documentation budget based on file count
- Analyze: Read all relevant files; identify patterns, algorithms, dependencies, data flow
- Write: Generate structured Markdown with diagrams and citations
- 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,flowchartas appropriate - Use
autonumberin allsequenceDiagramblocks - 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)
- Remote repo:
- 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
.mdlinks to routes automatically - Anchor links: Link to specific sections with
#kebab-case-headinganchors (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 bareList<T> - No
<br/>in Mermaid blocks - All hex colors must be 3 or 6 digits
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
podcast-generation
Generate AI-powered podcast-style audio narratives using Azure OpenAI's GPT Realtime Mini model via WebSocket. Use when building text-to-speech features, audio narrative generation, podcast creation from content, or integrating with Azure OpenAI Realtime API for real audio output. Covers full-stack implementation from React frontend to Python FastAPI backend with WebSocket streaming.
mcp-builder
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP), Node/TypeScript (MCP SDK), or C#/.NET (Microsoft MCP SDK).
frontend-design-review
Review and create distinctive, production-grade frontend interfaces with high design quality and design system compliance. Evaluates using three pillars: frictionless insight-to-action, quality craft, and trustworthy building. USE FOR: PR reviews, design reviews, accessibility audits, design system compliance checks, creative frontend design, UI code review, component reviews, responsive design checks, theme testing, and creating memorable UI. DO NOT USE FOR: Backend API reviews, database schema reviews, infrastructure or DevOps work, pure business logic without UI, or non-frontend code.
entra-agent-id
Microsoft Entra Agent ID (preview) for creating OAuth2-capable AI agent identities via Microsoft Graph beta API. Covers Agent Identity Blueprints, BlueprintPrincipals, Agent Identities, required permissions, sponsors, and Workload Identity Federation. Includes Microsoft Entra SDK for AgentID (containerized sidecar) for polyglot agent authentication (Docker/Kubernetes), 3P agent integration, autonomous and interactive agent patterns. Triggers: "agent identity", "agent id", "Agent Identity Blueprint", "BlueprintPrincipal", "entra agent", "agent identity provisioning", "Graph agent identity", "entra sidecar", "agent id sidecar", "auth sidecar", "3P agent", "third-party agent identity", "polyglot agent auth".
github-issue-creator
Convert raw notes, error logs, voice dictation, or screenshots into crisp GitHub-flavored markdown issue reports. Use when the user pastes bug info, error messages, or informal descriptions and wants a structured GitHub issue. Supports images/GIFs for visual evidence.
copilot-sdk
Build applications powered by GitHub Copilot using the Copilot SDK. Use when creating programmatic integrations with Copilot across Node.js/TypeScript, Python, Go, or .NET. Covers session management, custom tools, streaming, hooks, MCP servers, BYOK providers, session persistence, custom agents, skills, and deployment patterns. Requires GitHub Copilot CLI installed and a GitHub Copilot subscription (unless using BYOK).
Didn't find tool you were looking for?