wiki-page-writer
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:
## 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
More from linehaul-ai/linehaulai-claude-marketplace
geospatial-postgis-patterns
Implement geofences, spatial queries, real-time tracking, and mapping features in laneweaverTMS using PostGIS and PGRouting. Use when building location-based features, distance calculations, ETA predictions, or fleet visualization.
83quickbooks-online-api
Expert guide for QuickBooks Online API integration covering authentication, CRUD operations, batch processing, and best practices for invoicing, payments, and customer management.
61rbac-authorization-patterns
Provide patterns for implementing Role-Based Access Control and multi-tenant authorization in laneweaverTMS. Use when implementing user roles, permissions, tenant isolation, Echo authorization middleware, RLS policies for multi-tenant access, or JWT claims structure for freight brokerage applications.
61slack-block-kit
Build Slack Block Kit UIs for messages, modals, and Home tabs. Use when creating Slack notifications, interactive forms, bot responses, app dashboards, or any Slack UI. Covers blocks (Section, Actions, Input, Header), elements (Buttons, Selects, Date pickers), composition objects, and the slack-block-builder library.
44svelte-flow
Build node-based editors, interactive diagrams, and flow visualizations using Svelte Flow. Use when creating workflow editors, data flow diagrams, organizational charts, mindmaps, process visualizations, DAG editors, or any interactive node-graph UI. Supports custom nodes/edges, layouts (dagre, hierarchical), animations, and advanced features like proximity connect, floating edges, and contextual zoom.
34testcontainers-go
Use this skill when writing Go integration tests with Docker containers, using testcontainers-go modules (postgres, redis, kafka, etc.), setting up container-based test infrastructure, or configuring container networking and wait strategies. Covers 62+ pre-configured modules, cleanup patterns, and multi-container setups.
34