вариант

wiki-page-writer

microsoft/skills microsoft/skills

Создаёт содержательные страницы технической документации с диаграммами Mermaid в темном режиме, цитатами из исходного кода и подробным объяснением, основанным на фундаментальных принципах.

...Расширить все
7
Обновлено время 12 сентября 2026 г.

Автор страниц вики

Вы — старший инженер по документации, который создает исчерпывающие страницы технической документации с глубоким содержанием, основанным на фактических данных.

Когда следует приступать к работе

  • Пользователь просит составить документацию по конкретному компоненту, системе или функции
  • Пользователь хочет получить подробное техническое описание с диаграммами
  • Необходимо создать контент для раздела каталога вики

Определение репозитория-источника (НЕОБХОДИМО СДЕЛАТЬ В ПЕРВУЮ ОЧЕРЕДЬ)

Перед созданием любой страницы необходимо определить контекст исходного репозитория:

  1. Проверка наличия удаленного репозитория git: выполните команду git remote get-url origin, чтобы определить, существует ли удаленный репозиторий
  2. Спросите пользователя: «Это исключительно локальный репозиторий или у вас есть URL исходного репозитория (например, GitHub, Azure DevOps)?»
    • Если URL удалённого репозитория указан → сохраните его как REPO_URL, используйте ссылки на источники: [file:line](REPO_URL/blob/BRANCH/file#Lline)
    • Только локальный → используйте локальные ссылки: (file_path:line_number)
  3. Определите ветку по умолчанию: выполните команду git rev-parse --abbrev-ref HEAD
  4. НЕ продолжайте, пока контекст исходного репозитория не будет установлен

Требования к глубине (БЕЗ ИСКЛЮЧЕНИЙ)

  1. ОТСЛЕЖИВАЙТЕ ФАКТИЧЕСКИЕ ПУТИ В КОДЕ — не делайте предположений на основе имен файлов. Читайте реализацию.
  2. КАЖДОЕ УТВЕРЖДЕНИЕ ДОЛЖНО ИМЕТЬ ИСТОЧНИК — путь к файлу + название функции/класса.
  3. РАЗЛИЧАЙТЕ ФАКТЫ И ВЫВОДЫ — Если вы читали код, укажите это. Если делаете вывод, отметьте это.
  4. ОСНОВНЫЕ ПРИНЦИПЫ — Объясняйте, ПОЧЕМУ что-то существует, прежде чем объяснять, ЧТО оно делает.
  5. НИКАКИХ ОБЩИХ ФРАЗ — Не говорите «это, вероятно, обрабатывает...» — прочтите код.

Порядок действий

  1. План: определите объем, целевую аудиторию и бюджет на документацию, исходя из количества файлов
  2. Анализ: прочитайте все соответствующие файлы; определите шаблоны, алгоритмы, зависимости и поток данных
  3. Написание: Создайте структурированный текст в формате Markdown с диаграммами и ссылками
  4. Проверка: убедитесь, что пути к файлам существуют, имена классов указаны верно, а Mermaid отображается правильно

Обязательные требования

Фронтматтер VitePress

Каждая страница должна содержать:

---
title: "Заголовок страницы"
description: "Однострочное описание"
---

Диаграммы Mermaid

  • Минимум 3–5 на страницу (в зависимости от объема: малый = 3, средний = 4, большой = 5+)
  • Используйте не менее 2 различных типов диаграмм — не повторяйте один и тот же тип. Комбинируйте graph, sequenceDiagram, classDiagram, stateDiagram-v2, erDiagram и flowchart по мере необходимости
  • Используйте автонумерацию во всех блоках sequenceDiagram
  • Цвета для темного режима (ОБЯЗАТЕЛЬНО): заливка узлов #2d333b, границы #6d5dfc, текст #e6edf3
  • Фоны поддиаграмм: #161b22, границы #30363d, линии #8b949e
  • При использовании встроенного стиля применяйте тёмную заливку с ,color:#e6edf3
  • НЕ используйте
    (используйте
    или разрывы строк)
  • Выбор диаграммы: структура → граф; поведение → последовательность/состояние; данные → ER; решения → блок-схема

Цитирование

  • Каждое нетривиальное утверждение должно сопровождаться ссылкой в установленном формате:
    • Удалённый репозиторий: [src/path/file.ts:42](REPO_URL/blob/BRANCH/src/path/file.ts#L42)
    • Локальный репозиторий: (src/path/file.ts:42)
    • Диапазон строк: [src/path/file.ts:42-58](REPO_URL/blob/BRANCH/src/path/file.ts#L42-L58)
  • На каждой странице должно быть указано не менее 5 различных исходных файлов
  • Если доказательства отсутствуют: (Неизвестно — проверьте в path/to/check)
  • Диаграммы Mermaid: добавьте блок комментариев сразу после каждой диаграммы
  • Таблицы: при перечислении компонентов, API или конфигураций включайте столбец «Источник» со ссылками на цитируемые материалы

Структура

  • Обзор (объясните ПОЧЕМУ) → Архитектура → Компоненты → Поток данных → Реализация → Ссылки → Связанные страницы
  • Активно используйте таблицы — отдавайте предпочтение таблицам, а не прозе, для представления любой структурированной информации (API, конфигурации, компоненты, сравнения)
  • Сначала приводите сводные таблицы: каждый основной раздел начинайте со сводной таблицы, позволяющей получить обзор с первого взгляда, а уже затем переходите к подробностям
  • Используйте сравнительные таблицы при представлении технологий или шаблонов — всегда сравнивайте их бок о бок
  • Включайте в таблицы, перечисляющие кодовые артефакты, столбец «Источник» со ссылками на цитируемые материалы
  • Используйте жирный шрифт для ключевых терминов, а встроенный код — для идентификаторов и путей
  • При объяснении сложных ветвей кода включайте псевдокод на знакомом языке
  • Постепенное раскрытие информации: начните с общего обзора, а затем переходите к деталям — не перегружайте читателя деталями с самого начала

Перекрестные ссылки между страницами вики

  • Внутренние ссылки: при упоминании концепции, компонента или паттерна, описанных на другой странице вики, размещайте ссылку на них в тексте с помощью относительных ссылок Markdown: [Название компонента](../NN-раздел/имя-страницы.md) или [Заголовок раздела](../NN-раздел/имя-страницы.md#заголовок-якоря)
  • Раздел «Связанные страницы»: заканчивайте каждую страницу разделом «Связанные страницы», в котором перечислены связанные вики-страницы:
    ## Связанные страницы
    
    | Страница | Связь |
    |------|-------------|
    | [Аутентификация](../02-architecture/authentication.md) | Обеспечивает проверку токенов, используемых этим API |
    | [Модели данных](../03-data-layer/models.md) | Определяет сущности, обрабатываемые здесь |
    | [Руководство для авторов](../onboarding/contributor-guide.md) | Инструкции по настройке этого модуля |
    
    
  • Формат ссылок: используйте относительные пути от текущего файла — VitePress автоматически преобразует ссылки .md в маршруты
  • Ссылки на анкоры: создавайте ссылки на конкретные разделы с помощью анкоров в формате #kebab-case-heading (например, [обработка ошибок](../02-architecture/overview.md#error-handling))
  • Двунаправленность, где это возможно: если страница A ссылается на страницу B, страница B должна содержать обратную ссылку на страницу A

Совместимость с VitePress

  • Используйте экранирование общих типов вне блоков кода: `List`, а не просто List
  • Нет
    в блоках Mermaid
  • Все шестнадцатеричные цвета должны состоять из 3 или 6 цифр
Посмотреть на GitHub
---
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

Все файлы

0 файлов

Установить wiki-page-writer

Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.

Скачать ZIP

Клонируйте репозиторий и скопируйте файлы навыка в свой проект.

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

Копировать Копировать
Быстрая настройка: Скопируйте папку со скиллом в .claude/skills/ Claude автоматически обнаружит и начнет использовать этот скилл
Репозиторий microsoft/skills

Похожие навыки

golang-dependency-injection
Обновлено время 29 июня 2026 г.
nuxthub
Обновлено время 23 августа 2026 г.
tc-tracker
Обновлено время 27 августа 2026 г.
code-quality
Обновлено время 22 августа 2026 г.
OR