ported/20260305-085418/dev-tools/skills/docs-manager/SKILL.md
Documentation management workflow for MkDocs sites and standalone markdown files -- initialize, generate, update docs, and create change summaries. Use when asked to "create docs", "write README", "update documentation", "generate docs site", "write CONTRIBUTING", "manage documentation", or "docs changelog".
npx skillsauth add sequenzia/agent-alchemy docs-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Execute a structured 6-phase workflow for managing documentation. Supports two documentation formats (MkDocs sites and standalone markdown files) and three action types (generate, update, change summary).
Execute these phases in order:
agents/docs-writer.md) -- Generates MkDocs-flavored or standard GitHub-flavored Markdown documentation from codebase analysis findings. Used in Phase 5.../../core-tools/skills/deep-analysis/agents/code-explorer.md from the core-tools package) -- Used in Phase 3 for change-summary path analysis.Goal: Determine through user interaction what documentation to create and in what format.
$ARGUMENTSParse the user's input to pre-fill selections:
basic-markdownmkdocschange-summaryIf the intent is clear, present a summary for quick confirmation before proceeding (skip to Step 4). If ambiguous, proceed to Step 2.
If the documentation type is ambiguous or needs confirmation, prompt the user to choose:
What type of documentation would you like to create?
1. "MkDocs documentation site" -- Full docs site with mkdocs.yml, Material theme
2. "Basic markdown files" -- Standalone files like README.md, CONTRIBUTING.md, ARCHITECTURE.md
3. "Change summary" -- Changelog, release notes, commit message
Store as DOC_TYPE = mkdocs | basic-markdown | change-summary.
If DOC_TYPE = mkdocs:
Q2: Prompt the user -- Existing project or new setup?
MKDOCS_MODE = existingMKDOCS_MODE = newQ3 (if existing): Prompt the user -- What to do?
ACTION.Q3 (if new): Prompt the user -- Scope?
MKDOCS_SCOPE. If custom, ask for desired pages (free text).If DOC_TYPE = basic-markdown:
Q2: Prompt the user (multiSelect) -- Which files?
MARKDOWN_FILES. If "Other" is selected, ask for custom file paths/descriptions.If DOC_TYPE = change-summary:
Q2: Prompt the user -- What range?
Present a summary of all selections and prompt the user to choose:
If the user wants to change, loop back to the relevant question.
Proceed to Phase 2.
Goal: Detect project context automatically, conditionally scaffold MkDocs.
package.json, pyproject.toml, Cargo.toml, go.mod, pom.xmlgit remote get-url origin 2>/dev/nulldocs/**/*.md, README.md, CONTRIBUTING.md, ARCHITECTURE.mdmkdocs.yml/mkdocs.yaml, read if foundDOC_TYPE = mkdocs AND MKDOCS_MODE = new)mkdocs.yml, create docs/index.md and docs/getting-started.mdIf MKDOCS_SCOPE = minimal (getting started only): write the scaffold files and skip to Phase 6.
For update modes, determine the approach:
For change-summary, run git log and git diff --stat for the determined range.
Proceed to Phase 3.
Goal: Deep codebase exploration using the deep-analysis skill.
Skip conditions:
change-summary (uses git-based analysis instead -- see below)MKDOCS_SCOPE = minimal)Construct a specific context string based on Phase 1 selections:
| Selection | Analysis Context | |-----------|-----------------| | MkDocs generate | "Documentation generation -- find all public APIs, architecture, integration points, and existing documentation..." | | MkDocs update | "Documentation update -- identify changes to public APIs, outdated references, documentation gaps..." | | Basic markdown README | "Project overview -- understand purpose, architecture, setup, key features, configuration, and dependencies..." | | Basic markdown ARCHITECTURE | "Architecture documentation -- map system structure, components, data flow, design decisions, key dependencies..." | | Basic markdown API docs | "API documentation -- find all public functions, classes, methods, types, their signatures and usage patterns..." | | Basic markdown CONTRIBUTING | "Contribution guidelines -- find dev workflow, testing setup, code style rules, commit conventions, CI process..." | | Multiple files | Combine relevant contexts from above |
Refer to the deep-analysis skill (from the core-tools package) and follow its workflow.
Pass the documentation-focused analysis context from Step 1.
Deep-analysis handles all agent orchestration (reconnaissance, team planning, team creation, explorers + synthesizer).
After deep-analysis, additionally:
git diff --name-only [base-ref] for changed filesgit log --oneline [range] and git diff --stat [range]../../core-tools/skills/deep-analysis/agents/code-explorer.md) to analyze the changed files:
Analysis context: Change summary for [range]
Focus area: These files changed in the specified range:
[list from git diff --stat]
For each significant change, identify:
- What was added, modified, or removed
- Impact on public APIs and user-facing behavior
- Whether any changes are breaking
Return a structured report of your findings.
Proceed to Phase 4.
Goal: Translate analysis findings into a concrete documentation plan.
MkDocs:
docs/ paths)mkdocs.yml nav updatesBasic Markdown:
Change Summary:
Prompt the user to choose:
Proceed to Phase 5.
Goal: Generate content using docs-writer agents.
DOC_TYPE = change-summary: Use the change summary templates (see below)DOC_TYPE = basic-markdown: See references/markdown-file-templates.md for structural templatesDelegate to documentation writer agents (see agents/docs-writer.md for instructions).
Launch independent pages/files in parallel, then sequential for dependent ones (include generated content from independent pages in the prompt context).
MkDocs prompt template:
Documentation task: [page type -- API reference / architecture / how-to / change summary]
Target file: [docs/path/to/page.md]
Output format: MkDocs
Project: [project name] at [project root]
MkDocs site context:
- Theme: Material for MkDocs
- Extensions available: admonitions, code highlighting, tabbed content, Mermaid diagrams
- Diagram guidance: Follow the technical-diagrams skill conventions -- use Mermaid for all diagrams with dark text on nodes.
- Existing pages: [list of current doc pages]
Exploration findings:
[Relevant findings from Phase 3 for this page]
Existing page content (if updating):
[Current content of the page, or "New page -- no existing content"]
Generate the complete page content in MkDocs-flavored Markdown.
Basic Markdown prompt template:
Documentation task: [file type -- README / CONTRIBUTING / ARCHITECTURE / API docs]
Target file: [path/to/file.md]
Output format: Basic Markdown
Project: [project name] at [project root]
File type guidance:
[Relevant structural template from markdown-file-templates.md]
Exploration findings:
[Relevant findings from Phase 3 for this file]
Existing file content (if updating):
[Current content, or "New file -- no existing content"]
Generate the complete file content in standard GitHub-flavored Markdown.
Do NOT use MkDocs-specific extensions (admonitions, tabbed content, code block titles).
Diagram guidance: Follow the technical-diagrams skill conventions -- use Mermaid for all diagrams with dark text on nodes. GitHub renders Mermaid natively.
Proceed to Phase 6.
Goal: Write files, validate, present results.
MkDocs:
docs/mkdocs.yml nav -- read current config, add new pages in logical positions, preserve existing structureBasic Markdown:
Change Summary:
MkDocs:
nav exist on diskmkdocs CLI is available, run mkdocs build --strict 2>&1 to check for warnings (non-blocking)Basic Markdown:
Summarize what was done:
For change-summary, present generated outputs directly inline.
Prompt the user to choose from relevant options:
MkDocs:
mkdocs serve is available)Basic Markdown:
If any phase fails:
If the project is not a git repository:
repo_url and repo_name from mkdocs.yml)update action with git-diff mode is unavailable -- fall back to full-scan or targeted modechange-summary action is unavailable -- inform the user and suggest alternativesUse this template when scaffolding a new MkDocs project in Phase 2.
site_name: PROJECT_NAME
site_description: PROJECT_DESCRIPTION
site_url: ""
repo_url: REPO_URL
repo_name: REPO_NAME
theme:
name: material
features:
- navigation.tabs
- navigation.sections
- navigation.expand
- navigation.top
- search.suggest
- search.highlight
- content.code.copy
- content.tabs.link
palette:
- scheme: default
primary: indigo
accent: indigo
toggle:
icon: material/brightness-7
name: Switch to dark mode
- scheme: slate
primary: indigo
accent: indigo
toggle:
icon: material/brightness-4
name: Switch to light mode
markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_guess: false
- pymdownx.inlinehilite
- pymdownx.tabbed:
alternate_style: true
- pymdownx.snippets
- attr_list
- md_in_html
- toc:
permalink: true
nav:
- Home: index.md
- Getting Started: getting-started.md
| Field | Description | How to Set |
|-------|-------------|------------|
| site_name | Display name in header and browser tab | Use the project name from package.json, pyproject.toml, Cargo.toml, or directory name |
| site_description | Meta description for SEO | Use the project description from manifest file, or summarize from README |
| repo_url | Link to source repository | Detect from git remote get-url origin |
| repo_name | Display text for repo link | Extract owner/repo from the remote URL |
| site_url | Production URL for the docs site | Leave empty during scaffolding -- user can set later |
Use this approach to populate repo_url and repo_name:
# Get the remote URL
REMOTE_URL=$(git remote get-url origin 2>/dev/null)
# Convert SSH to HTTPS if needed
# [email protected]:owner/repo.git -> https://github.com/owner/repo
if [[ "$REMOTE_URL" == git@* ]]; then
REMOTE_URL=$(echo "$REMOTE_URL" | sed 's|git@\(.*\):\(.*\)\.git|https://\1/\2|')
fi
# Extract owner/repo for repo_name
REPO_NAME=$(echo "$REMOTE_URL" | sed 's|.*/\([^/]*/[^/]*\)$|\1|' | sed 's|\.git$||')
If not a git repository or no remote is configured, omit repo_url and repo_name from the config.
docs/index.md# PROJECT_NAME
PROJECT_DESCRIPTION
## Overview
Brief overview of what the project does and who it's for.
## Quick Start
Minimal steps to get started:
1. Install the project
2. Run a basic example
3. Explore further documentation
## Documentation
| Section | Description |
|---------|-------------|
| [Getting Started](getting-started.md) | Installation and first steps |
docs/getting-started.md# Getting Started
## Prerequisites
List prerequisites here (language runtime, tools, etc.).
## Installation
Installation instructions for the project.
## Basic Usage
A minimal working example demonstrating core functionality.
## Next Steps
Links to further documentation sections.
Use these templates when generating change summaries in Phase 5.
Follows Keep a Changelog conventions. Reference the changelog-format skill for additional guidance.
## [Unreleased]
### Added
- Add [feature] with [key capability]
- Add [new component] for [purpose]
### Changed
- Update [component] to [new behavior]
- Refactor [module] for [improvement]
### Fixed
- Fix [bug] that caused [symptom]
### Removed
- Remove [deprecated feature] in favor of [replacement]
Follows Conventional Commits style.
type(scope): summary of changes
Detailed description of what changed and why. Cover the motivation
for the change and contrast with previous behavior.
Changes:
- List specific modifications
- Include file paths for significant changes
- Note any breaking changes
BREAKING CHANGE: Description of breaking change (if applicable)
| Type | Use For |
|------|---------|
| feat | New features |
| fix | Bug fixes |
| docs | Documentation changes |
| refactor | Code restructuring without behavior change |
| perf | Performance improvements |
| test | Adding or updating tests |
| chore | Build, CI, or tooling changes |
BREAKING CHANGE: footer for breaking changesCloses #123Scope: This format applies only when the documentation target is an MkDocs site. For basic markdown projects, use Format 1 (Markdown Changelog) as the primary change summary output.
A full documentation page suitable for a changelog or release notes section.
# Changes: VERSION_OR_RANGE
Summary of changes for this release or period.
## Highlights
!!! tip "Key Changes"
Brief summary of the most important changes in this release.
### New Features
#### Feature Name
Description of the new feature and its purpose.
### Improvements
- **Component**: Description of improvement
- **Performance**: Description of optimization
### Bug Fixes
- Fix [issue description] that affected [scenario] (#issue-number)
### Breaking Changes
!!! warning "Breaking Changes"
The following changes require action when upgrading.
#### Change Description
**Before:**
```language
// Old API or behavior
After:
// New API or behavior
Migration: Steps to update existing code.
| File | Change Type | Description |
|------|-------------|-------------|
| path/to/file | Modified | Brief description |
#### Guidelines
- Use admonitions to highlight breaking changes and key features
- Include before/after code examples for API changes
- Provide migration guidance for breaking changes
- Link to relevant documentation pages for new features
- List affected files with change types (Added, Modified, Removed)
### Choosing Formats
When the user requests a change summary, present the three format options:
| Format | Best For |
|--------|----------|
| **Markdown Changelog** | Appending to an existing CHANGELOG.md |
| **Git Commit Message** | Describing changes in a commit or PR |
| **MkDocs Page** | Publishing release notes in the documentation site |
The user may select multiple formats. Generate each independently -- they serve different audiences and purposes.
## Integration Notes
This skill uses agents from two sources:
**From this package (dev-tools):**
- **docs-writer** -- Launched in Phase 5 to generate documentation content. Supports both MkDocs-flavored and standard GitHub-flavored Markdown. This agent draws on knowledge from the **technical-diagrams** skill (from the core-tools package) for Mermaid diagram conventions.
**From the core-tools package (cross-reference):**
- **deep-analysis** -- Used in Phase 3 for codebase exploration and synthesis. Orchestrates its own explorer and synthesizer agents internally.
- **code-explorer** -- Used in Phase 3 (change-summary path) for analyzing changed files.
development
Systematic, hypothesis-driven debugging workflow with triage-based track routing. Use when asked to "fix this bug", "debug this", "why is this failing", "this is broken", "investigate this error", "track down this issue", or any debugging situation. Supports --deep flag to force full investigation.
development
Executes diagnostic investigation tasks to test debugging hypotheses. Runs tests, traces execution, checks git history, and reports evidence. (converted from agent)
content-media
Provides architectural pattern knowledge for designing feature implementations including MVC, event-driven, microservices, and CQRS patterns. Use when designing system architecture or choosing implementation patterns.
documentation
Provides Mermaid diagram syntax, best practices, and styling rules for technical visualizations. Use when creating diagrams, flowcharts, sequence diagrams, class diagrams, state diagrams, ER diagrams, architecture diagrams, C4 diagrams, or any visual documentation in markdown.