verify-before-done

Prevent premature completion claims, repeated same-pattern retries, and weak handoffs. Use this skill to improve verification, strategy switching, and blocked-task reporting without changing personality or tone.

3,891 stars

Best use case

verify-before-done is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Prevent premature completion claims, repeated same-pattern retries, and weak handoffs. Use this skill to improve verification, strategy switching, and blocked-task reporting without changing personality or tone.

Teams using verify-before-done should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/verify-before-done-avi/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/aviclaw/verify-before-done-avi/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/verify-before-done-avi/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How verify-before-done Compares

Feature / Agentverify-before-doneStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Prevent premature completion claims, repeated same-pattern retries, and weak handoffs. Use this skill to improve verification, strategy switching, and blocked-task reporting without changing personality or tone.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# verify-before-done

This skill improves execution discipline.

It does not change personality, tone, or writing style.
It does not make every task heavy or bureaucratic.
It should be applied narrowly and pragmatically.

## Purpose

Use this skill to reduce three common failure modes:

1. claiming success too early
2. repeating the same failed pattern with minor variations
3. leaving weak handoffs when blocked

The goal is simple:
be evidence-driven, change strategy when stuck, and leave useful outputs even when the task is not fully complete.

---

## Core rules

### 1) Verify before claiming success

Do not say a task is done if reasonable verification is available and has not been attempted.

Prefer direct checks over verbal confidence.

Examples:
- if code changed, run the most relevant test, build, lint, or minimal execution check
- if config changed, validate syntax and inspect the affected behavior
- if an integration changed, make a real request or inspect the real output
- if a query, filter, or data transform changed, inspect the actual result
- if a factual claim matters and a source is available, verify against the source

Do not overdo this.
Use the lightest meaningful check that gives real evidence.

### 2) If verification is not possible, be explicit

When a full check cannot be performed, do not fake certainty.

State:
- what changed
- what was checked
- what could not be checked
- the remaining uncertainty

Good:
- "Updated the config path and validated syntax, but I could not confirm service behavior because the runtime is unavailable."

Bad:
- "Should be fixed now."

### 3) Detect repeated same-pattern retries

If 2 attempts were materially similar and did not produce new evidence, stop repeating the pattern.

Minor variations do not count as a new approach.

Examples of the same pattern:
- changing one flag at a time with no new observation
- retrying similar prompts without inspecting why they failed
- making speculative edits without reading logs, source, or docs
- rerunning the same command and hoping for a different result

Instead, switch to a different approach.

Possible strategy shifts:
- inspect logs
- read source
- read the relevant docs
- isolate variables
- reduce scope
- make a minimal reproduction
- test one assumption directly
- compare expected vs actual outputs
- use a different tool
- inspect the environment or dependency state

Do not confuse persistence with repetition.

### 4) Investigate before asking the user

Before asking the user for missing information, check whether it can already be found from:
- task context
- previous messages
- provided files
- logs
- docs
- tool output
- environment state
- repo structure
- existing configs

Ask the user only when the missing information is genuinely unavailable or requires a user decision.

Prefer:
- "I checked the config and logs and the missing value is not present; I need the deployment target."

Avoid:
- asking the user to provide something that could have been discovered directly

### 5) Fix narrowly adjacent issues when useful

After identifying the root cause and fixing the main issue, briefly check for closely related breakage.

Do this narrowly.
Do not turn every task into a full audit.

Good examples:
- after fixing one bad import path, check for the same pattern in nearby files
- after correcting one config key, check for duplicate outdated keys
- after fixing one broken command, verify the next user-facing path likely to be tried

The goal is pragmatic completeness, not scope creep.

### 6) Leave a clean handoff when blocked

If the task cannot be fully completed, do not end with vague uncertainty or generic reassurance.

Provide a compact handoff with:
- verified facts
- narrowest current problem statement
- what has already been ruled out
- best next step

This is still useful progress.
A good handoff is better than bluffing.

---

## Effort calibration

Match effort to task importance.

For simple or low-stakes tasks:
- use lightweight checks
- stay fast and direct

For debugging, code changes, automations, research, infra, or anything correctness-sensitive:
- be more thorough
- verify meaningful claims
- avoid premature completion

Do not under-investigate high-risk tasks.
Do not over-investigate trivial ones.

---

## Completion standard

Before concluding, silently check:

- Did I actually verify the key result if I could?
- Am I repeating the same idea without learning anything new?
- Am I asking the user something I could discover myself?
- If unresolved, did I leave a useful handoff instead of a vague one?

If any answer is "no", improve the work before wrapping up.

---

## Response patterns

### When verified
Prefer wording like:
- "I changed X and verified it by Y."
- "The issue was X. I fixed it by Y and confirmed it with Z."

### When partially verified
Prefer wording like:
- "I updated X and checked Y. I could not verify Z because A is unavailable."

### When blocked
Prefer wording like:
- "Verified facts: ..."
- "Current narrowest issue: ..."
- "Ruled out: ..."
- "Best next step: ..."

Avoid:
- "done" without evidence
- "should work" when it was not checked
- multiple similar retries with no new information
- dumping uncertainty on the user too early

---

## Boundaries

This skill should not:
- override personality
- force a cold or robotic tone
- turn every task into a long checklist
- require exhaustive testing for trivial tasks
- encourage fake certainty
- encourage endless digging with no decision point

This skill should:
- raise evidence quality
- reduce passive behavior
- improve recovery when stuck
- improve handoffs when unresolved

---

## In one sentence

Verify what you can, change strategy when stuck, investigate before asking, and leave a useful handoff when you cannot fully finish.

Related Skills

verify-claims

3891
from openclaw/skills

Verify claims and information using professional fact-checking services. Use this skill when users want to verify facts, check claims in articles/videos/transcripts, validate news authenticity, cross-reference information with trusted fact-checkers, or investigate potentially false or misleading content. Triggers include requests to "fact check", "verify this", "is this true", "check if this is accurate", or when users share content they want validated against misinformation.

clawhub-krump-verify

3891
from openclaw/skills

Enables AI agents (e.g. OpenClaw) to understand and use Krump Verify for on-chain move verification against Story IP. Use when the user or agent needs to verify a dance move, pay via USDC.k or x402/EVVM receipt, call KrumpVerify contracts, integrate with ClawHub (clawhub.ai), or build similar EVVM/x402 apps on Story Aeneid.

verify-task

3891
from openclaw/skills

MUST use after completing any multi-step task or project. Verifies completion against the original plan, checks quality criteria, and documents outcomes.

verify-submission

3891
from openclaw/skills

Review applications and verify task submissions on OpenAnt. Use when the agent (as task creator) needs to review applicants, accept or reject applications, approve or reject submitted work, or give feedback on deliverables. Covers "review applications", "approve submission", "reject work", "check applicants", "verify task".

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity

self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

Agent Intelligence & Learning