Test Docs - Dry Run
Fast CRD schema validation for all ToolHive documentation YAML blocks. Extracts every YAML block containing toolhive.stacklok.dev resources, runs kubectl apply --dry-run=server on each, and reports pass/fail in a per-doc table. No resources are created. Under 5 minutes for all docs.
Workflow
Follow these steps in order. Each step references a procedure file in the procedures/ directory - read that file and follow its instructions exactly. Do NOT improvise inline bash when a procedure exists.
1. Determine scope
Ask what to validate:
- Kubernetes Operator - all
.mdxindocs/toolhive/guides-k8s/ - Virtual MCP Server - all
.mdxindocs/toolhive/guides-vmcp/ - All - both sections
2. Cluster setup
Follow procedures/cluster-setup.md. Key points:
- Check for existing
toolhivekind cluster FIRST - Only create if missing
- Only CRDs needed, not the operator
- Default to KEEPING the cluster after the run
3. Extract YAML
Follow procedures/extract.md. Key points:
- Always use
scripts/extract-yaml.pywith the--prefixflag - Use
--prefix k8sfor K8s docs,--prefix vmcpfor vMCP docs - This prevents filename collisions between sections
4. Validate
Follow procedures/validate.md. Key points:
- Write results to a CSV file (not bash variables)
- Classify as pass/fail/expected/skip per the procedure
- One CSV line per YAML block
5. Report
Follow procedures/report.md. Key points:
- Always output the per-doc breakdown table to the user
- The table is the PRIMARY output of this skill
- Bold non-zero fail counts
- List real failures with error messages and fix suggestions
- Write results to
TEST_DRYRUN_*.md