Skip to content
cccskills
FreePublished on GitHub

create-verification-skill

Generate a project-local skill that launches and operates an app through real user workflows. It documents feature checks, captures evidence, and cleans up created instances, then proves the generated instructions work with one end-to-end run.

OriginalShow the original 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.

See how to install

Good for

  • Creating a verification skill tailored to a repository
  • Documenting how to operate a UI, CLI, or service
  • Mapping features to observable proof of correct behavior
  • Verifying evidence capture and cleanup in a real run

Files included (6)

  • SKILL.md6.9 KB
  • agents/openai.yaml43 B
  • NOTICE.md2.1 KB
  • references/feature-map-example/create-note.md2.9 KB
  • references/feature-map-example/README.md2.5 KB
  • references/feature-map-example/search.md3.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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 that as a project-local skill (.agents/skills/verify-<app>/) tailored to the repo. You write the generator's output for the next agent, not for a human: it will be read cold, mid-task, by an agent that has never seen the app.

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 .agents/skills/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

For Paperclip, read the map contract and use the sibling maps/feature-map/ and maps/agent-access-map/ directories. The generated verification skill consumes both maps and reports drift; maintenance owns their updates. Reuse existing feature files and preserve Poteto's product format. Every new feature file needs a same-named agent access companion with matching stable sub-feature IDs. Record APIs, actual agent entry points, policy, evidence and gaps using the contract. Mark representative source inventory as baseline / source-only; enumerate operations before claiming full access coverage. Reuse Paperclip's APIs, admitted tools and existing verification infrastructure. Run node scripts/check-maps.mjs after map changes. Do not create maps inside a skill directory or generate a second runtime.

For Paperclip, add navigation metadata to each feature recipe as described in the map contract. Discovery generates the indexes; do not register new features in a central table or commit generated catalogs. Keep review/run evidence in the PR or evidence report and use Git for source history.

For other projects, create .agents/skills/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). Follow the shape in references/feature-map-example/, 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.

Origin and license: NOTICE.md.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Add or extend Paperclip end-to-end evaluations that exercise real browser workflows across the server, database, and runner. Define expected outcomes, check independent evidence, and connect results to the existing reporting pipeline for local or Daytona execution.

  • Adding an evaluation for a complete user workflow
  • Updating test data and outcome checks
  • Including screenshots and artifacts in evaluation reports
paperclipai/paperclip104.1KUpdated Oct 18, 2026

add-runner-eval

FreeSummary

Add or extend Paperclip Runner evaluations that test real sessions against a mock control service. Define observable pass conditions, validate cases and run selections, and retain source revisions, evidence, and costs for authorized live runs.

  • Adding a focused Runner protocol evaluation
  • Testing grading rules with valid and invalid evidence
  • Updating evaluation selections and campaign membership
paperclipai/paperclip104.1KUpdated Oct 18, 2026

agent-browser

FreeSummary

Use a real browser to verify web pages and apps through short, supervised interactions. Capture screenshots, inspect errors and network requests, and document reproducible steps for UI bugs or expected behavior checks.

  • Capture screenshots to verify UI changes
  • Read content rendered by JavaScript
  • Reproduce UI bugs and record errors
paperclipai/paperclip104.1KUpdated Oct 18, 2026

agentmail

FreeSummary

Read email linked to assigned Paperclip tasks, send new messages or replies through an assigned AgentMail inbox, and check delivery outcomes. Follow task permissions and preserve retry identifiers to avoid duplicate sends.

  • Reading email context attached to an assigned task
  • Sending a new email from an assigned inbox
  • Replying to a specific message in a conversation
paperclipai/paperclip104.1KUpdated Oct 18, 2026

check-pr

FreeSummary

Inspect proposed changes in GitHub, GitLab, or Perforce for review feedback, failed automated checks, and incomplete descriptions. It separates actionable findings from informational or resolved comments, then helps fix issues and close addressed review threads when requested.

  • Inspect a change before submission
  • Identify failed checks and required fixes
  • Organize human and bot review feedback
paperclipai/paperclip104.1KUpdated Oct 18, 2026

company-creator

FreeSummary

Create an AI agent company or team package from an idea or an existing repository. Define roles, reporting lines, skills, and work handoffs, then generate structured files that follow the Agent Companies specification.

  • Build an agent company from an idea
  • Turn a repository into an agent team package
  • Define agent roles and work handoffs
paperclipai/paperclip104.1KUpdated Oct 18, 2026

See all skills by paperclipai

Report a problem with this skill