一键导入
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.