create-verification-skill
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
Skill by painhardcore
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/painhardcore-create-verification-skill-2874fb
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
create-verification-skill- Description
- Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform. Use for /create-verification-skill, "make a control skill for this repo", or when a project has no scripted way to prove UI/CLI/service behavior.
- License
- MIT
- Instructions
- 40 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- host-paths.md · references/
SKILL.md (first lines)
# Create a verification skill Every serious project needs a scripted way to drive the real app and prove behavior: launch it, exercise a feature the way a user would, and capture evidence. This skill generates a project-local `verify-<app>` skill tailored to the repo. Read [references/host-paths.md](references/host-paths.md), choose the active host's one project skill root, and call it `<skill-root>` below. Write for the next agent, which will read the result cold and mid-task. ## 1. Interview the repo, not the user Answer these from the codebase and only ask the user what you cannot observe: - **Surface:** what does a user actually touch? A web UI, a CLI/TUI, a desktop app, an API, a mobile app, a library? A repo can have several; pick the primary one and note the rest. - **Run:** how does the app start locally? Prefer the repo's own documented dev command (package scripts, Makefile, README quickstart). Note ports, env vars, seed data, auth. - **Drive:** how can an agent interact with it programmatically? Existing harnesses first — Playwright/Cypress specs, expect scripts, PTY helpers, curl-able endpoints, a debug port. Only then pick a generic recipe: browser/CDP for web and Electron, a tmux/PTY harness for CLI/TUI, plain HTTP for services. - **Observe:** what evidence can be captured? Screenshots, terminal transcripts, response bodies, logs, exit codes, DB state. - **Isolate:** can two instances run side by side (ports, data dirs, profiles)? If not, say so in the generated skill: refusing to double-drive a shared instance beats corrupting the user's session. If the checkout doesn't build or start as-is, fix that first (or report it precisely) before generating; a skill written against a broken base teaches wrong steps. When an irrelevant missing asset blocks startup (a static dir the API never serves, a sample config), the generated skill may create it, clearly marked as verification scaffolding, and remove it in cleanup. ## 2. Generate the skill Write `<skill-root>/verify-<app>/SKILL.md` with YAML frontmatter (`name: verify-<app>` and a `description` that names the app, the surface, and when to reach for it — without frontmatter the skill never registers) and these sections, each grounded in what the interview actually found (no placeholders left): - **Launch:** the exact command that starts the app for verification, and how to tell it's ready (a log line, a port answering, a prompt). Include teardown. For a short-lived CLI or TUI there is no server to keep alive: launch means build the binary (or install deps) once, then start each drive in its own isolated PTY or tmux session. - **Doctor:** one read-only check that answers "is this instance worth driving?" — process up, right version/build, port owned by us, auth valid. An agent runs this first whenever anything looks off. - **Drive:** the harness recipe with real selectors/commands from this repo, not examples. Prefer stable handles (ARIA labels, data attributes, prompt strings, route paths) over coordinates and tab order. - **Evidence:** what to capture for a proof and where it goes. State the proof standards: exercise the real user path, not internal setters or test-only endpoints; capture the action and the resulting state, not just the final screen; verify side effects (files written, rows inserted, messages sent) alongside what's visible; mocks only where a production boundary already isolates the external system. When the safe path is a dry-run or test mode, verify what it actually skips by observing (files, network, git refs) rather than trusting its name: some dry-runs still touch the network or open a browser. - **Cleanup:** how to tear down instances the run created. Never kill by process name; kill what you started. Cleanup removes instances and scratch state, never the evidence: proof artifacts survive the teardown, in a location the skill names. - **Helpers:** any script the skill ships is executable and its invocation is shown in the skill body. A helper the reader has to reverse-engineer is not a helper. ## 3. Seed the feature map Create `<skill-root>/verify-<app>/features/README.md` plus one file per user-facing feature you can identify (aim for the top 3-5 to start, from routes, commands, menus, or docs), with a README index and one file per feature. Each file answers, from the user's point of view: what the feature is, how to reach it, how to drive it with the harness, and what observable end state proves it works. The four H2s are `Sub-features`, `How to get to it (user POV)`, `Driving it with <harness>`, and `Gotchas`. The map is the repo's maintained verification source; a proof that drives one convenient entry point is incomplete when the map lists others. ## 4. Prove the generated skill before handing it over Run its own instructions end to end once: launch, doctor, drive ONE mapped feature (one is enough; the map exists so later runs can cover the rest), capture evidence, clean up. After cleanup, confirm the evidence still exists at the named location — a cleanup that eats the proof fails this step. Fix what fails, and run the generated cleanup after every failed iteration too, so broken attempts don't strand processes and ports. A generated skill that was never executed is a draft, not a deliverable. ## 5. Offer the maintenance loop Point the user at **maintain-verification-skill** for keeping the map honest as the app changes. Suggest a cadence only if they ask.
From painhardcore/pstack, MIT.
More from painhardcore/pstack
- 0.596score
how
painhardcore
Explain how a subsystem works, trace a runtime flow, or determine where code and ownership belong before making a change.
SkillBFreshness: B★ 12Claude Code +9 - 0.596score
poteto-mode
painhardcore
Apply poteto's rigorous engineering workflow to non-trivial coding, investigation, review, migration, and verification tasks.
SkillBFreshness: B★ 12Claude Code +9 - 0.593score
no-comments
painhardcore
Use before review when the user asks to strip, remove, or clean up comments in code.
SkillBFreshness: B★ 12Claude Code +9 - 0.591score
swarm
painhardcore
Fan out N independent workers, collect their results, and return one report for coverage, races, gauntlets, or exploration.
SkillBFreshness: B★ 12Claude Code +9 - 0.571score
interrogate
painhardcore
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillBFreshness: B★ 12Claude Code +9 - 0.571score
create-verification-skill
painhardcore
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillBFreshness: B★ 12Claude Code +9 - 0.571score
architect
painhardcore
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillBFreshness: B★ 12Claude Code +9 - 0.569score
figure-it-out
painhardcore
Design an auditable playbook when no narrower one fits: a large migration, an ambitious multi-part change, or work a human reviews after stepping away.
SkillBFreshness: B★ 12Claude Code +9 - 0.566score
blast-radius
painhardcore
Find what a change could break somewhere else before it ships, beyond the diff, and prove the one fact it's safe because of by running real code instead of…
SkillBFreshness: B★ 12Claude Code +9 - 0.566score
arena
painhardcore
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it.
SkillBFreshness: B★ 12Claude Code +9 - 0.566score
maintain-verification-skill
painhardcore
Periodic pass that keeps a project's verification skill and feature map honest: parallel source readers per feature, one live session driving every feature…
SkillBFreshness: B★ 12Claude Code +9 - 0.561score
principle-build-the-lever
painhardcore
Apply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks.
SkillBFreshness: B★ 12Claude Code +9
Signals
- Stars
- 12
- Forks
- 3
- Open issues
- 0
- Last commit (this folder)
- Aug 27, 2026 (2 months ago)
- Last release
- Aug 26, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/painhardcore/pstack
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from painhardcore
- 0.596score
poteto-mode
painhardcore
Apply poteto's rigorous engineering workflow to non-trivial coding, investigation, review, migration, and verification tasks.
SkillBFreshness: B★ 12Claude Code +9 - 0.596score
how
painhardcore
Explain how a subsystem works, trace a runtime flow, or determine where code and ownership belong before making a change.
SkillBFreshness: B★ 12Claude Code +9 - 0.593score
no-comments
painhardcore
Use before review when the user asks to strip, remove, or clean up comments in code.
SkillBFreshness: B★ 12Claude Code +9 - 0.591score
swarm
painhardcore
Fan out N independent workers, collect their results, and return one report for coverage, races, gauntlets, or exploration.
SkillBFreshness: B★ 12Claude Code +9 - 0.571score
create-verification-skill
painhardcore
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillBFreshness: B★ 12Claude Code +9 - 0.571score
architect
painhardcore
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillBFreshness: B★ 12Claude Code +9
Cite this page
create-verification-skill. Agent Mart. https://agentmart.dev/skills/painhardcore-create-verification-skill-2874fb (last updated 2026-10-24)