Skip to content
Documentation
Skill

/verify

Drive/evidence recipe for verifying wenlan changes at their real surfaces (daemon HTTP, CLI, MCP stdio). The handle file the built-in verify protocol expects; launch primitives live in the run-wenlan skill, deeper machinery (mutation audit, behavior trace, weekly sweep) in the

From plugin
wenlan
9421 skills3 agents1 MCP

Claude Code

$ npx -y skills add wenlan-app/wenlan --skill verify --agent claude-code

SKILL.md

verify.SKILL.md
name: verify
description: Drive/evidence recipe for verifying wenlan changes at their real surfaces (daemon HTTP, CLI, MCP stdio). The handle file the built-in verify protocol expects; launch primitives live in the run-wenlan skill, deeper machinery (mutation audit, behavior trace, weekly sweep) in the prove skill.

Verifying wenlan — drive the real surfaces

Launch: use the `run-wenlan` skill — build, isolated boot, stop, the port allocation (manual instance :17878, `smoke-cli.sh` :17881, `smoke-mcp.sh` :17882 — they are not interchangeable), and the daemon lifecycle checklist all live there. Never verify against the shared prod daemon on :7878.

Drive by surface — these scripts ARE the drive recipes (read them for the flow, run them for a full round-trip):

  • Daemon HTTP: curl the changed route on the isolated port; recipe in

`.claude/skills/prove/references/daemon.md`.

  • CLI: `bash scripts/smoke-cli.sh` (capture → memories → search, black-box).
  • MCP: `bash scripts/smoke-mcp.sh` (stdio JSON-RPC initialize → capture → recall).

Gotchas (drive-time):

  • Ingest is async (batcher + embedding): poll search up to ~60s before calling

a miss a failure.

  • Record evidence: prefix any check with `bash scripts/attest.sh`. It appends one

JSON line to `.claude/attest.jsonl` — the ledger the weekly sweep audits — and passes the command's exit status through unchanged. If it cannot write the ledger it exits non-zero even when the command passed: an unrecorded run reads to the sweep as "the smoke never ran", so it must never be reported as a pass. (`~/.claude/bin/attest.sh` is a personal macOS helper; it is optional, and it does not exist on Windows or in a fresh checkout. Use the repo script.)

  • `WENLAN_NO_AUTOSTART=1` on every command that talks to a daemon. Without it a

connect failure starts the user's registered background service, and the check then passes against the wrong instance.

Windows (Git Bash)

Both smokes run here as-is; the platform differences are handled inside them via `scripts/lib/host-process.sh`. What changes for hand-driven checks:

  • **No `lsof`.** Port checks go through `netstat -ano` (see `run-wenlan`). A

probe that could not run is not a free port — treat a failed probe as fatal, never as "nothing is listening".

  • **No `TMPDIR`.** Always give `mktemp -d` an explicit template.
  • **MSYS paths are not daemon paths.** Convert with `cygpath -m` at the daemon

boundary only, into a second variable; the shell keeps the MSYS spelling for its own cleanup.

  • **`$!` is not the OS pid**, and killing by pid alone can kill a recycled pid's

new owner. Resolve the WINPID and compare the image path before killing.

  • **`python3` may not exist** — `python` is the usual spelling. `scripts/smoke-mcp.sh`

resolves it; do the same in ad-hoc checks rather than assuming.

  • `bash scripts/attest.sh` works here, so Windows `/verify` satisfies its own

evidence contract. `.claude/skills/prove/SKILL.md` names the same repo wrapper.

Deeper verification — mutation audit (`suite`), behavior trace (`behaviors`), weekly verify-the-verifier (`sweep`): invoke the `prove` skill.

Read more
@7xuanlu
Ships withwenlan

Open-source Obsidian alternative that works with your existing vault. The knowledge base you don't have to maintain: your AI tools keep it organized and up to date, with no API keys or plugins to set up. For you and your team.

9421 skills3 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
94
Star history of 7xuanlu/wenlan on GitHub, a chart by star-history.com

Other skills on wenlan.

prove

prove

Per-surface verification loops for wenlan — daemon, cli, mcp, plugin, suite strength (mutation), behavior trace, weekly sweep.…

@7xuanlu@7xuanluInstall Skill
run-wenlan-app

run-wenlan-app

Build, launch, screenshot, and drive the wenlan-app Tauri desktop app in dev mode on macOS (WKWebView) or Windows (WebView2). Use…

@7xuanlu@7xuanluInstall Skill
run-wenlan

run-wenlan

Build, launch, and stop the wenlan daemon (wenlan-server) for local dev and verification. Use when asked to run or restart the…

@7xuanlu@7xuanluInstall Skill
wenlan-brief

wenlan-brief

Read the current Space-owned project Brief from Wenlan. With an optional topic, appends separately labeled related context from…

@7xuanlu@7xuanluInstall Skill
wenlan-capture

wenlan-capture

Save a memory to Wenlan in flow, or save something from this conversation as one note when the user asks for a note. Use…

@7xuanlu@7xuanluInstall Skill
wenlan-handoff

wenlan-handoff

End a work session. Stores durable captures, writes a narrative session log, and automatically applies typed item-level deltas to…

@7xuanlu@7xuanluInstall Skill

More skills from other plugins.

context7-cli

context7-cli

Use the ctx7 CLI to fetch library documentation and configure Context7 MCP. Activate when the user mentions "ctx7" or "context7",…

context712d64k
@upstash@upstashInstall Skill
docs-components

docs-components

Comprehensive MDX component patterns (Note, Pitfall, DeepDive, Recipes, etc.) for all documentation types. Authoritative source…

@reactjs@reactjsInstall Skill
codebase-wiki

codebase-wiki

How to work in a Codebase Wiki project (the `codebase-wiki` starter pack): an agent-authored, source-grounded wiki of the…

@inkeep@inkeepInstall Skill

Questions about verify.

Which coding agents can use verify?
verify installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.