.cursor/skills/doc-audit/SKILL.md
Audit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage. Produces a structured markdown report at project root. Use when docs may have drifted from the codebase, before a release, or on a regular cadence.
npx skillsauth add PackmindHub/packmind doc-auditInstall 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.
Detect outdated, broken, or misleading documentation by cross-referencing MDX pages against the actual codebase. Produces a structured doc-audit-report.md at the project root.
This skill only detects issues — it does not fix them.
Before launching any sub-agents, build a concise ground truth summary by gathering these four data sources:
apps/doc/docs.json and extract all navigation groups with their page listsapps/cli/src/infra/commands/ to get current command filespackages/ to get current package namesapps/doc/**/*.mdx to get all actual pages on diskCompile these into a ground truth summary string formatted as:
## Ground Truth
### Navigation Groups (from docs.json)
- Getting Started: index, getting-started/gs-install-cloud, ...
- Concepts: concepts/standards-management, ...
[list all groups]
### CLI Commands (from apps/cli/src/infra/commands/)
[list all *Command.ts and *Handler.ts files]
### Domain Packages (from packages/)
[list all package directory names]
### MDX Files on Disk (from apps/doc/**/*.mdx)
[list all .mdx file paths relative to apps/doc/]
### Current Date
{today's date}
Launch 5 Explore sub-agents in parallel (subagent_type: Explore), one per section group. Each agent receives:
references/section-audit-instructions.md (read this file and include its contents in each prompt)| Agent | Sections | Pages to Audit |
|-------|----------|----------------|
| 1 | Getting Started + root pages | index.mdx, home.mdx + all getting-started/*.mdx |
| 2 | Concepts | All concepts/*.mdx + tools/import-from-knowledge-base.mdx |
| 3 | Tools & Integrations | tools/cli.mdx |
| 4 | Governance + Playbook Maintenance + Linter | All governance/*.mdx + playbook-maintenance/*.mdx + linter/*.mdx |
| 5 | Administration + Security | All administration/*.mdx + security/*.mdx |
Each agent's prompt should follow this structure:
You are auditing the {section_name} section of the Packmind documentation.
## Your Assigned Pages
{list of MDX file paths to read and audit}
## Ground Truth
{ground truth summary from Phase 1}
## Audit Instructions
{full contents of references/section-audit-instructions.md}
Read each assigned MDX page completely and apply all detection categories. Return your findings in the exact format specified in the instructions.
If the Agent tool is unavailable, perform the audit sequentially: read each section's pages one by one and apply the same checks from references/section-audit-instructions.md directly.
After all sub-agents complete:
doc-audit-report.md at the project root# Documentation Audit Report
Generated: {date} | Pages audited: {count}
## Summary
| Severity | Count |
|----------|-------|
| ERROR | N |
| WARNING | N |
| INFO | N |
## Errors
### [A] Broken Internal Links
- **{page}** (line ~{N}): Link to `{target}` — no matching MDX file exists
[... more findings]
### [B] Outdated CLI Commands
- **{page}** (line ~{N}): References `packmind-cli {cmd}` — command not found in CLI source
[... more findings]
### [C] Non-Existent Concepts
- **{page}** (line ~{N}): References `{concept}` — not found in codebase
[... more findings]
## Warnings
### [D] Misleading Information
- **{page}** (line ~{N}): "{quoted text}" — {reason}
[... more findings]
## Info
### [E] Missing Documentation Coverage
- CLI command `{cmd}` has no documentation
- Package `{pkg}` has no documentation page
[... more findings]
Omit any category section that has zero findings. Only include sections with actual results.
After writing the report, print a brief summary:
tools
Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros. Produces an HD WebM video with chapter markers, a mandatory animated cursor overlay, and a mandatory subtitle bar that narrates each step (positioned deliberately so it never masks the UI being demonstrated), plus full-page screenshots at each step. Use this whenever the user asks to "record a demo", "create a screencast", "make a UI walkthrough video", "document this feature with video", "show the client how X works", "capture screenshots of the app", or anything similar — even when the user only says "make a video" or "take screenshots" in the context of a running frontend. Also use it when the user wants to demonstrate a workflow, generate marketing-quality footage of an app, or produce repeatable visual documentation.
tools
The canonical recipe for starting, checking, and stopping the Packmind local dev stack with Docker Compose — the single source of truth other skills and the Michel agent defer to. Covers bringing the full stack (PostgreSQL, Redis, NestJS API, React/Vite frontend on :4200, MCP server, nginx) up in the background, the init services (dependency install + TypeORM migrations) you must wait on, the critical host-port trap that the API on container port 3000 is NOT exposed to the host and must be reached via the frontend Vite proxy at localhost:4200/api/v0, confirming the API and frontend are actually serving before you depend on them, the persistent-volume gotcha that leaves stale Postgres schema and node_modules behind between runs, building the CLI, and tearing everything down so no container is left blocking the run. Use this whenever you need Packmind running locally — to verify a change, record a UI or CLI demo, hit the API, seed data, or reproduce a bug — and whenever you are about to start or stop `docker compose`. If you are an autonomous agent (e.g. Michel) that started the stack, you MUST use the teardown half before finishing. Prefer this over running `nx serve` on the host for anything that needs the real, containerized stack.
tools
Best practices for creating GitHub pull requests that include inline images — CLI terminal screenshots (from cli-demo-recorder), UI screenshots/videos (from ui-demo-recorder), or any other visual artifact. Use this skill whenever opening or updating a PR that has visual artifacts to embed, or when images aren't rendering in a PR description. Also use it when asked "how do I add screenshots to a PR", "why isn't my image showing", or "embed a demo in the PR".
tools
--- name: michel-create-packmind-dataset description: Seed a local Packmind instance with a realistic dataset — one organization populated with standards, commands, and skills — so an autonomous agent can exercise its own changes against lifelike data instead of an empty app. Use this whenever you need populated Packmind data to verify a change end-to-end: reproducing a bug that only shows with existing artifacts, recording a UI/CLI demo that needs content on screen, smoke-testing a new endpoint