with one click
Generate comprehensive documentation for the project
npx skills add https://github.com/0-CODE/viepilot --skill vp-docsCopy and paste this command into Claude Code to install the skill
Generate comprehensive documentation for the project
npx skills add https://github.com/0-CODE/viepilot --skill vp-docsCopy and paste this command into Claude Code to install the skill
| name | vp-docs |
| description | Generate comprehensive documentation for the project |
| version | 0.2.1 |
Output this banner as the first thing on every invocation — before questions, work, or any other output:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VIEPILOT ► VP-DOCS v0.2.1 (fw 2.19.0)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## Version Update Check (ENH-072)
After displaying the greeting banner, run:
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" check-update --silent
If exit code = 1 (update available — new version printed to stdout): Display notice banner before any other output:
┌──────────────────────────────────────────────────────────────────┐
│ ✨ ViePilot {latest_version} available (installed: {current}) │
│ npm i -g viepilot && vp-tools install --target {adapter_id} │
└──────────────────────────────────────────────────────────────────┘
Replace {latest_version} with stdout from the command, {current} with the installed
version, {adapter_id} with the active adapter (claude-code / cursor / antigravity / codex / copilot).
If exit code = 0 or command unavailable: silent, continue.
Suppression rules:
--no-update-check flag on skill invocation → skip this step entirelyconfig.json → update.check: false → skip this step entirelyupdate_check_done session guard)
</version_check>
<persona_context>At skill start, run:
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" persona auto-switch
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" persona context
Inject the output as ## User Persona context before any task execution.
Silent if command unavailable or errors.
</persona_context>
Prompt user conversationally with options.
Use Claude Code tools: Bash (shell), Read (file), Edit + Write (file write/patch),
Grep (search), Glob (file patterns), LS, WebSearch, WebFetch,
Agent (spawn subagent — multi-level nesting supported)
Interactive: AskUserQuestion (deferred — preload via ToolSearch before first call)
Use Cursor tools: run_terminal_cmd (shell), read_file (read), edit_file (write/edit),
grep_search (search), web_search, codebase_search, list_dir, file_search
Interactive: text list fallback (AskQuestion available in Plan Mode only; Agent Mode = text)
Subagent: /multitask (user command, single-level only — not a callable tool)
MCP limit: 40 tools
Use Antigravity tools: shell (cmd), file_read, file_write, MCP plugins
Interactive: text fallback (TUI-based; no formal AskUserQuestion)
Skill path: .agents/skills/<skill>/SKILL.md (project) or ~/.gemini/antigravity/skills/ (global)
Note: Gemini CLI deprecated June 18, 2026 — use Antigravity CLI.
Use Codex tools: container.exec (sandboxed shell), apply_patch (file write), web_search
Interactive: text fallback (TUI Tab/Enter injection)
Config: ~/.codex/config.toml
Use Copilot tools: runCommands (shell), read/readfile (read), edit/editFiles (write),
code_search, find_references
Interactive: askQuestions (main agent only — NOT available in subagents; VS Code issue #293745)
Skill path: .github/agents/<name>.agent.md
<scope_policy>
vp-* skills in ViePilot workflows.non vp-*) are out of framework scope unless user explicitly opts in.vp-* skill.
</scope_policy><implementation_routing_guard>
docs/, index, README related to docs — does not implement lib/, tests/, default product logic; that is /vp-auto. Explicit override required. See workflows/request.md.
</implementation_routing_guard>Creates/Updates:
docs/
├── api/
│ ├── rest-api.md
│ ├── graphql-schema.md
│ ├── kafka-events.md
│ └── websocket-api.md
├── dev/
│ ├── getting-started.md
│ ├── architecture.md
│ ├── contributing.md
│ ├── testing.md
│ └── deployment.md
├── user/
│ ├── quick-start.md
│ └── features/
└── README.md (index)
docs/skills-reference.md (incremental update — add missing skills by scanning skills/ dir)
README.md (Documentation table, Project Structure section)
CHANGELOG.md (updated)
Context resolved at runtime (never hardcoded):
git remote get-url originls skills/*/SKILL.md | wc -lls workflows/*.md | wc -l.viepilot/META.md + ~/.viepilot/profiles/ for attribution/tone (workflows/documentation.md §0A)
<execution_context> @$HOME/{envToolDir}/workflows/documentation.md </execution_context>
Optional flags: - `--all` : Generate all documentation - `--api` : API documentation only - `--dev` : Developer guide only - `--user` : User guide only - `--changelog` : Update changelog only# Forge-agnostic remote URL parser — supports GitHub, GitLab, Bitbucket, Azure DevOps, Gitea, self-hosted
REMOTE_URL=$(git remote get-url origin 2>/dev/null || echo "")
if echo "$REMOTE_URL" | grep -q 'dev\.azure\.com'; then
GIT_HOST="dev.azure.com"
GIT_OWNER=$(echo "$REMOTE_URL" | sed 's|.*dev\.azure\.com/||; s|/.*||')
GIT_REPO=$(echo "$REMOTE_URL" | sed 's|.*/_git/||; s|\.git$||; s|/$||')
elif echo "$REMOTE_URL" | grep -q '^git@'; then
GIT_HOST=$(echo "$REMOTE_URL" | sed 's|^git@||; s|:.*||')
GIT_OWNER=$(echo "$REMOTE_URL" | sed 's|^git@[^:]*:||; s|/.*||')
GIT_REPO=$(echo "$REMOTE_URL" | sed 's|^git@[^:]*:[^/]*/||; s|\.git$||')
else
GIT_HOST=$(echo "$REMOTE_URL" | sed 's|^https\?://||; s|/.*||')
GIT_OWNER=$(echo "$REMOTE_URL" | sed 's|^https\?://[^/]*/||; s|/.*||')
GIT_REPO=$(echo "$REMOTE_URL" | sed 's|^https\?://[^/]*/[^/]*/||; s|\.git$||; s|/$||')
fi
# Fallback: use searchable placeholder, not 'your-org'
[ -z "$GIT_OWNER" ] && GIT_HOST="{GIT_HOST}" && GIT_OWNER="{GIT_OWNER}" && GIT_REPO="{GIT_REPO}"
ACTUAL_SKILLS=$(ls skills/*/SKILL.md 2>/dev/null | wc -l | tr -d ' ')
ACTUAL_WORKFLOWS=$(ls workflows/*.md 2>/dev/null | wc -l | tr -d ' ')
Use
$GIT_HOST,$GIT_OWNER,$GIT_REPOin all generated files. Use$ACTUAL_SKILLSand$ACTUAL_WORKFLOWSfor counts. Never writeyour-org,YOUR_USERNAME,YOUR_ORGinto generated files.
After Step 0: resolve .viepilot/META.md → global profile file (same rules as workflows/crystallize.md). Keep working notes (org, website, audience, branding) for prose docs; do not fail if missing. Details: workflows/documentation.md §0A.
Which documentation would you like to generate?
1. All - Generate complete documentation
2. API - REST, GraphQL, Kafka, WebSocket docs
3. Developer Guide - Setup, architecture, contributing
4. User Guide - Quick start, feature guides
5. Changelog - Update from git history
sources:
- Code annotations (@OpenAPI, @GraphQL)
- .viepilot/schemas/api-contracts.yaml
- Controller/Resolver classes
- Kafka topic definitions
generate:
rest-api.md:
- Endpoints grouped by resource
- Request/Response examples
- Authentication requirements
- Error codes
graphql-schema.md:
- Types and queries
- Mutations
- Subscriptions
- Example queries
kafka-events.md:
- Topic list with descriptions
- Message schemas
- Producer/Consumer examples
websocket-api.md:
- Connection flow
- Event types
- Message formats
sources:
- .viepilot/ARCHITECTURE.md
- .viepilot/SYSTEM-RULES.md
- .viepilot/PROJECT-CONTEXT.md
- README.md
- Docker/deployment configs
generate:
getting-started.md:
- Prerequisites
- Local setup steps
- Running the project
- Common issues
architecture.md:
- System overview (from ARCHITECTURE.md)
- Service descriptions
- Data flow diagrams
contributing.md:
- Development workflow
- Code standards
- PR process
- Testing requirements
testing.md:
- Test structure
- Running tests
- Writing new tests
- Coverage requirements
deployment.md:
- Environments
- Deployment steps
- Configuration
- Monitoring
sources:
- Feature specs from phases
- UI components (if frontend)
- Business rules from PROJECT-CONTEXT.md
generate:
quick-start.md:
- Getting started
- Basic usage
- Common tasks
features/:
- One file per major feature
- Screenshots if UI
- Step-by-step guides
faq.md:
- Common questions
- Troubleshooting
sources:
- Git commits since last version
- .viepilot/TRACKER.md decision log
- Phase SUMMARY.md files
process:
1. Parse commits by type (feat, fix, etc.)
2. Group by category (Added, Changed, Fixed, etc.)
3. Add to [Unreleased] section
4. Include commit references
Use templates and extracted content to generate markdown files.
# Scan skills/ directory — source of truth
SKILLS=$(ls skills/*/SKILL.md 2>/dev/null | sed 's|skills/||; s|/SKILL.md||' | sort)
DOCUMENTED=$(grep "^## /vp-" docs/skills-reference.md 2>/dev/null | sed 's|## /||' | sort)
MISSING=$(comm -23 <(echo "$SKILLS") <(echo "$DOCUMENTED"))
For each skill in $MISSING: append section to docs/skills-reference.md.
Do NOT overwrite existing sections (preserve manual edits).
Update docs/README.md with:
Also update root README.md:
docs/ tree: reflect actual subdirectoriesgit add docs/ CHANGELOG.md
git commit -m "docs: update documentation"
✓ Documentation generated
Files created/updated:
- docs/api/ ({count} files)
- docs/dev/ ({count} files)
- docs/user/ ({count} files)
- CHANGELOG.md
View at: docs/README.md
<success_criteria>
your-org/YOUR_USERNAME placeholders)LLM-driven QA agent team generator — research codebase, generate context-aware QA scanning agents
Autonomous execution loop with control points and recovery
Brainstorm session to collect ideas and decisions for the project
Convert brainstorm sessions into executable artifacts
Import and triage tickets from Excel/M365 Online, Google Sheets, or CSV/TSV files — classify as BUG/ENH, accept/decline via AskUserQuestion, write back to source, generate TRIAGE report
Audit state, docs drift, and stack best-practice compliance — works on any project