From Vengineer
Scan all docs/ markdown files for broken cross-references, validate frontmatter links, detect orphaned documents, and offer to fix inconsistencies.
npx claudepluginhub dylanliiii/shipyard --plugin VengineerThis skill is limited to using the following tools:
**Purpose**: Audit cross-reference integrity across all planning and documentation artifacts in `docs/`. Finds broken links, inconsistent frontmatter back-links, and orphaned documents.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Purpose: Audit cross-reference integrity across all planning and documentation artifacts in docs/. Finds broken links, inconsistent frontmatter back-links, and orphaned documents.
The planning pipeline creates linked artifacts:
docs/sketches/ ←→ docs/specs/ ←→ docs/plans/ ←→ docs/adr/
Each file should have frontmatter cross-links (e.g., next-spec:, source-sketch:). This skill validates all such links are consistent and that no markdown links point to missing files.
Glob all markdown files:
docs/**/*.md
Build an inventory: { path → frontmatter fields + markdown links }
For each file, parse:
source-sketch:next-spec:next-plan:source-spec:source-plan:adr-refs: (list)docs/...)[text](path) where path starts with docs/ or is a relative .md fileFor each extracted link:
Read or existence check)Classify issues:
| Type | Description | Severity |
|---|---|---|
| Broken link | Referenced file does not exist | Critical |
| Orphan | File has no incoming OR outgoing links (standalone, unconnected) | Warning |
| Missing back-link | e.g., spec has source-sketch: X but sketch X lacks next-spec: pointing back | Warning |
| Stale stage | File has status: draft but downstream artifacts are complete | Info |
Present a structured report:
## Cross-Reference Audit
### Critical: Broken Links (N)
- docs/specs/auth.md → source-sketch: docs/sketches/auth-design.md [FILE NOT FOUND]
- docs/plans/billing.md → line 42: [see spec](docs/specs/billing-spec.md) [FILE NOT FOUND]
### Warning: Missing Back-Links (N)
- docs/specs/auth.md has source-sketch: docs/sketches/2026-01-15-auth.md
but docs/sketches/2026-01-15-auth.md is missing next-spec: field
### Warning: Orphaned Docs (N)
- docs/sketches/2025-11-01-old-idea.md — no incoming or outgoing links
### Info: Stale Status (N)
- (none)
Total: N critical, N warnings, N info
If no issues found:
✓ All cross-references are consistent. No broken links or orphans found.
For each issue, offer to auto-fix via AskUserQuestion:
"Found N issues. What would you like to do?"
Options:
Auto-fixable repairs:
next-spec: docs/specs/X.md to the sketch)Edit tool to insert the field inside the existing --- YAML blockCannot auto-fix:
--- block without duplicating or corrupting existing fields