원클릭으로
uw-verify
Use after layer analysis to detect gaps in documentation. Runs a deterministic coverage diff and outputs a work list for uw-complete.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use after layer analysis to detect gaps in documentation. Runs a deterministic coverage diff and outputs a work list for uw-complete.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use after unwind:uw-plan to EXECUTE the rebuild — interview the user about scope/order/target, dispatch technology-agnostic per-layer builder agents that reproduce the [MUST] contracts in the target stack, hold rebuild state in a local file, and maintain a source→target verification graph that measures completeness. Supports a loop-until-verified mode.
Use to visually explore the rebuild knowledge graph. Builds and launches the Unwind dashboard (React + React Flow + ELK) pointed at docs/unwind/rebuild-graph.json with coverage, priority, and contract views.
Optional. Publish the Unwind dashboard to the scanned project's GitHub Pages gh-pages branch so it's viewable at https://<owner>.github.io/<repo>/unwind/. Builds the dashboard at the correct sub-path and commits it into an `unwind/` subdir — never blatting an existing gh-pages branch. Confirms the target, then pushes.
Use when dispatched by unwind:uw-build to rebuild ONE layer/slice of a codebase in the target stack. Technology-agnostic builder that reproduces the layer's [MUST] contracts (API surface, data model, business rules) as idiomatic target-stack code and records the source→target mapping for verification.
Use when starting any reverse engineering task - establishes how to find and use Unwind skills for codebase analysis, service mapping, and documentation
Use after layer analysis is complete to interview the user about the rebuild strategy (target stack, what to keep vs rebuild, phasing, risk) and generate a data-grounded REBUILD-PLAN.md that records those decisions.
| name | uw-verify |
| description | Use after layer analysis to detect gaps in documentation. Runs a deterministic coverage diff and outputs a work list for uw-complete. |
| allowed-tools | ["Read","Grep","Glob","Bash(mkdir:*, ls:*)","Bash(node:*)","Bash(pnpm:*)","Bash(source:*)","Read(docs/unwind/.cache/**)","Write(docs/unwind/**)"] |
Purpose: Detect gaps between documentation and source code. Output is a work list for the next skill to fix.
This is now a deterministic check. Completeness is verified by set arithmetic
(manifest − docs), not a subjective LLM comparison. The scanner already knows
the ground-truth set of items per layer; this skill diffs that against what the
docs actually contain (matched by anchor id, then by name).
Output:
docs/unwind/.cache/coverage/{layer}.json - per-layer coverage reportdocs/unwind/layers/{layer}/gaps.md - missing items work list (only when gaps exist)# Locate the installed Unwind plugin, then load the core helper.
# $0/BASH_SOURCE are unreliable under `bash -c`, so glob the install cache.
UNWIND_PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-${UNWIND_PLUGIN_ROOT:-}}"
[ -f "$UNWIND_PLUGIN_ROOT/skills/scripts/_resolve-plugin-root.sh" ] || \
UNWIND_PLUGIN_ROOT="$(ls -dt "$HOME"/.claude/plugins/cache/*/unwind/*/ 2>/dev/null | head -1)"
source "${UNWIND_PLUGIN_ROOT%/}/skills/scripts/_resolve-plugin-root.sh"
ensure_unwind_core || echo "core unavailable — using legacy LLM gap detection"
node "$UNWIND_PLUGIN_ROOT/skills/scripts/verify-coverage.mjs" "$(pwd)"
The script:
docs/unwind/.cache/scan-manifest.json (the ground-truth candidate set)..md under each docs/unwind/layers/{layer}/ folder and
extracts documented item ids (from <!-- id: ... --> anchors, then fuzzy by
name).coverage/{layer}.json and a gaps.md work list for any layer with
missing items.Report the per-layer coverage table the script prints (covered/total = pct%),
and point the user/orchestrator at the generated gaps.md files. Then hand off
to uw-complete to fill them.
# {layer} Documentation Gaps
> Generated by verify-coverage. Coverage: 36/37 (97.3%).
## Missing Items
### users
- **Type:** table
- **Location:** src/db/schema.ts:12-34
- **Id:** `table:src/db/schema.ts:users`
uw-complete reads this verbatim, documents each item under
the correct section using the anchor-id heading format, and deletes gaps.md.
@unwind/core)When the deterministic core is unavailable (no Node/pnpm, or build failed),
fall back to the subjective comparison: for each layer, read the docs and the
source entry points from architecture.md, build the two item lists by hand, and
write the gaps the LLM finds to docs/unwind/layers/{layer}/gaps.md in the same
format. This is slower and not reproducible — it exists only so the plugin still
functions without the deterministic engine.
The branch depends on the coverage table just printed:
unwind:uw-complete to fill them.unwind:uw-plan.Use AskUserQuestion to confirm:
unwind:uw-complete (gaps remain) or
unwind:uw-plan (100%).Act in the same turn; if they pause, tell them how to resume: "Run
unwind:uw-complete (type /uw-complete) to fill gaps, or unwind:uw-plan if
coverage is already 100%."
Pipeline: scan → analyze → verify ✓ → complete → plan → dashboard.