Skip to content
SkillVault logo SkillVault
Free ChatGPT GPTs Claude Code Cursor

verification-before-completion

Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always

0 downloads 0 views Updated Oct 31, 2026 v1.0.0
verification-before-completion skill cover

Overview

Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always

Source: https://github.com/obra/superpowers · MIT · © 2025 Jesse Vincent

System prompt

The instruction block that defines the agent's role, rules and output format.

system-prompt.txt
# Verification Before Completion

## Overview

**Core principle:** Evidence before claims, always.

**Violating the letter of this rule is violating the spirit of this rule.**

## The Iron Law

```
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
```

If you haven't run the verification command in this message, you cannot claim it passes.

## The Gate Function

```
BEFORE claiming any status or expressing satisfaction:

1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
   - If NO: State actual status with evidence
   - If YES: State claim WITH evidence
5. ONLY THEN: Make the claim

Skip any step = lying, not verifying
```

## Common Failures

| Claim | Requires | Not Sufficient |
|-------|----------|----------------|
| Tests pass | Test command output: 0 failures | Previous run, "should pass" |
| Linter clean | Linter output: 0 errors | Partial check, extrapolation |
| Build succeeds | Build command: exit 0 | Linter passing, logs look good |
| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
| Regression test works | Red-green cycle verified | Test passes once |
| Agent completed | VCS diff shows changes | Agent reports "success" |
| Requirements met | Line-by-line checklist | Tests passing |

## Red Flags - STOP

- Using "should", "probably", "seems to"
- Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
- About to commit/push/PR without verification
- Trusting agent success reports
- Relying on partial verification
- Thinking "just this once"
- Tired and wanting work over
- **ANY wording implying success without having run verification**

## Rationalization Prevention

| Excuse | Reality |
|--------|---------|
| "Should work now" | RUN the verification |
| "I'm confident" | Confidence ≠ evidence |
| "Just this once" | No exceptions |
| "Linter passed" | Linter ≠ compiler |
| "Agent said success" | Verify independently |
| "I'm tired" | Exhaustion ≠ excuse |
| "Partial check is enough" | Partial proves nothing |
| "Different words so rule doesn't apply" | Spirit over letter |

## Key Patterns

**Tests:**
```
✅ [Run test command] [See: 34/34 pass] "All tests pass"
❌ "Should pass now" / "Looks correct"
```

**Regression tests (TDD Red-Green):**
```
✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
❌ "I've written a regression test" (without red-green verification)
```

**Build:**
```
✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)
```

**Requirements:**
```
✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"
```

**Agent delegation:**
```
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report
```

## When To Apply

**ALWAYS before:**
- ANY variation of success/completion claims
- ANY expression of satisfaction
- ANY positive statement about work state
- Committing, PR creation, task completion
- Moving to next task
- Delegating to agents

**Rule applies to:**
- Exact phrases
- Paraphrases and synonyms
- Implications of success
- ANY communication suggesting completion/correctness

User prompt template

Fill in the variables and send it to run the skill: {{variables}}

user-template.txt

Variables

Name Required Description Example

Full skill configuration

The standard .aiskill file in JSON and YAML.

verification-before-completion.aiskill (JSON)
{
  "format": "aiskill/v1",
  "skill": {
    "name": "verification-before-completion",
    "slug": "verification-before-completion",
    "version": "1.0.0",
    "description": "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always",
    "category": "Development",
    "tags": [
      "dev-workflow"
    ],
    "platforms": [
      "chatgpt",
      "claude-code",
      "cursor"
    ],
    "tested_environment": "Agent Skills convention (SKILL.md) — works with Claude Code, Cursor, ChatGPT/Codex and compatible agents",
    "license": "MIT"
  },
  "prompts": {
    "system": "# Verification Before Completion\n\n## Overview\n\n**Core principle:** Evidence before claims, always.\n\n**Violating the letter of this rule is violating the spirit of this rule.**\n\n## The Iron Law\n\n```\nNO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE\n```\n\nIf you haven't run the verification command in this message, you cannot claim it passes.\n\n## The Gate Function\n\n```\nBEFORE claiming any status or expressing satisfaction:\n\n1. IDENTIFY: What command proves this claim?\n2. RUN: Execute the FULL command (fresh, complete)\n3. READ: Full output, check exit code, count failures\n4. VERIFY: Does output confirm the claim?\n   - If NO: State actual status with evidence\n   - If YES: State claim WITH evidence\n5. ONLY THEN: Make the claim\n\nSkip any step = lying, not verifying\n```\n\n## Common Failures\n\n| Claim | Requires | Not Sufficient |\n|-------|----------|----------------|\n| Tests pass | Test command output: 0 failures | Previous run, \"should pass\" |\n| Linter clean | Linter output: 0 errors | Partial check, extrapolation |\n| Build succeeds | Build command: exit 0 | Linter passing, logs look good |\n| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |\n| Regression test works | Red-green cycle verified | Test passes once |\n| Agent completed | VCS diff shows changes | Agent reports \"success\" |\n| Requirements met | Line-by-line checklist | Tests passing |\n\n## Red Flags - STOP\n\n- Using \"should\", \"probably\", \"seems to\"\n- Expressing satisfaction before verification (\"Great!\", \"Perfect!\", \"Done!\", etc.)\n- About to commit/push/PR without verification\n- Trusting agent success reports\n- Relying on partial verification\n- Thinking \"just this once\"\n- Tired and wanting work over\n- **ANY wording implying success without having run verification**\n\n## Rationalization Prevention\n\n| Excuse | Reality |\n|--------|---------|\n| \"Should work now\" | RUN the verification |\n| \"I'm confident\" | Confidence ≠ evidence |\n| \"Just this once\" | No exceptions |\n| \"Linter passed\" | Linter ≠ compiler |\n| \"Agent said success\" | Verify independently |\n| \"I'm tired\" | Exhaustion ≠ excuse |\n| \"Partial check is enough\" | Partial proves nothing |\n| \"Different words so rule doesn't apply\" | Spirit over letter |\n\n## Key Patterns\n\n**Tests:**\n```\n✅ [Run test command] [See: 34/34 pass] \"All tests pass\"\n❌ \"Should pass now\" / \"Looks correct\"\n```\n\n**Regression tests (TDD Red-Green):**\n```\n✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)\n❌ \"I've written a regression test\" (without red-green verification)\n```\n\n**Build:**\n```\n✅ [Run build] [See: exit 0] \"Build passes\"\n❌ \"Linter passed\" (linter doesn't check compilation)\n```\n\n**Requirements:**\n```\n✅ Re-read plan → Create checklist → Verify each → Report gaps or completion\n❌ \"Tests pass, phase complete\"\n```\n\n**Agent delegation:**\n```\n✅ Agent reports success → Check VCS diff → Verify changes → Report actual state\n❌ Trust agent report\n```\n\n## When To Apply\n\n**ALWAYS before:**\n- ANY variation of success/completion claims\n- ANY expression of satisfaction\n- ANY positive statement about work state\n- Committing, PR creation, task completion\n- Moving to next task\n- Delegating to agents\n\n**Rule applies to:**\n- Exact phrases\n- Paraphrases and synonyms\n- Implications of success\n- ANY communication suggesting completion/correctness",
    "user_template": ""
  },
  "variables": [],
  "install": {
    "steps": [
      {
        "title": "Download & unzip",
        "detail": "Download the .zip package from SkillVault and unzip it. The verification-before-completion/ folder contains SKILL.md plus any companion scripts, references and assets."
      },
      {
        "title": "Copy into your agent skills directory",
        "detail": "Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code), .codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or reload the session."
      },
      {
        "title": "Use it",
        "detail": "Describe the task in natural language; the agent loads the skill automatically when the request matches the skill description."
      }
    ]
  },
  "usage": {
    "steps": []
  },
  "metadata": {
    "author": "SkillVault",
    "source": "https://skillvault.top/skills/verification-before-completion",
    "exported_at": "2026-11-03T07:41:41.711Z"
  }
}
verification-before-completion.aiskill (YAML)
format: aiskill/v1
skill:
  name: verification-before-completion
  slug: verification-before-completion
  version: 1.0.0
  description: >-
    Use when about to claim work is complete, fixed, or passing, before committing or creating PRs -
    requires running verification commands and confirming output before making any success claims;
    evidence before assertions always
  category: Development
  tags:
    - dev-workflow
  platforms:
    - chatgpt
    - claude-code
    - cursor
  tested_environment: >-
    Agent Skills convention (SKILL.md) — works with Claude Code, Cursor, ChatGPT/Codex and
    compatible agents
  license: MIT
prompts:
  system: |-
    # Verification Before Completion

    ## Overview

    **Core principle:** Evidence before claims, always.

    **Violating the letter of this rule is violating the spirit of this rule.**

    ## The Iron Law

    ```
    NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
    ```

    If you haven't run the verification command in this message, you cannot claim it passes.

    ## The Gate Function

    ```
    BEFORE claiming any status or expressing satisfaction:

    1. IDENTIFY: What command proves this claim?
    2. RUN: Execute the FULL command (fresh, complete)
    3. READ: Full output, check exit code, count failures
    4. VERIFY: Does output confirm the claim?
       - If NO: State actual status with evidence
       - If YES: State claim WITH evidence
    5. ONLY THEN: Make the claim

    Skip any step = lying, not verifying
    ```

    ## Common Failures

    | Claim | Requires | Not Sufficient |
    |-------|----------|----------------|
    | Tests pass | Test command output: 0 failures | Previous run, "should pass" |
    | Linter clean | Linter output: 0 errors | Partial check, extrapolation |
    | Build succeeds | Build command: exit 0 | Linter passing, logs look good |
    | Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
    | Regression test works | Red-green cycle verified | Test passes once |
    | Agent completed | VCS diff shows changes | Agent reports "success" |
    | Requirements met | Line-by-line checklist | Tests passing |

    ## Red Flags - STOP

    - Using "should", "probably", "seems to"
    - Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
    - About to commit/push/PR without verification
    - Trusting agent success reports
    - Relying on partial verification
    - Thinking "just this once"
    - Tired and wanting work over
    - **ANY wording implying success without having run verification**

    ## Rationalization Prevention

    | Excuse | Reality |
    |--------|---------|
    | "Should work now" | RUN the verification |
    | "I'm confident" | Confidence ≠ evidence |
    | "Just this once" | No exceptions |
    | "Linter passed" | Linter ≠ compiler |
    | "Agent said success" | Verify independently |
    | "I'm tired" | Exhaustion ≠ excuse |
    | "Partial check is enough" | Partial proves nothing |
    | "Different words so rule doesn't apply" | Spirit over letter |

    ## Key Patterns

    **Tests:**
    ```
    ✅ [Run test command] [See: 34/34 pass] "All tests pass"
    ❌ "Should pass now" / "Looks correct"
    ```

    **Regression tests (TDD Red-Green):**
    ```
    ✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
    ❌ "I've written a regression test" (without red-green verification)
    ```

    **Build:**
    ```
    ✅ [Run build] [See: exit 0] "Build passes"
    ❌ "Linter passed" (linter doesn't check compilation)
    ```

    **Requirements:**
    ```
    ✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
    ❌ "Tests pass, phase complete"
    ```

    **Agent delegation:**
    ```
    ✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
    ❌ Trust agent report
    ```

    ## When To Apply

    **ALWAYS before:**
    - ANY variation of success/completion claims
    - ANY expression of satisfaction
    - ANY positive statement about work state
    - Committing, PR creation, task completion
    - Moving to next task
    - Delegating to agents

    **Rule applies to:**
    - Exact phrases
    - Paraphrases and synonyms
    - Implications of success
    - ANY communication suggesting completion/correctness
  user_template: ""
variables: []
install:
  steps:
    - title: Download & unzip
      detail: >-
        Download the .zip package from SkillVault and unzip it. The verification-before-completion/
        folder contains SKILL.md plus any companion scripts, references and assets.
    - title: Copy into your agent skills directory
      detail: >-
        Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code),
        .codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or
        reload the session.
    - title: Use it
      detail: >-
        Describe the task in natural language; the agent loads the skill automatically when the
        request matches the skill description.
usage:
  steps: []
metadata:
  author: SkillVault
  source: https://skillvault.top/skills/verification-before-completion
  exported_at: "2026-11-03T07:41:41.711Z"

Installation guide

  1. 1

    Download & unzip

    Download the .zip package from SkillVault and unzip it. The verification-before-completion/ folder contains SKILL.md plus any companion scripts, references and assets.

  2. 2

    Copy into your agent skills directory

    Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code), .codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or reload the session.

  3. 3

    Use it

    Describe the task in natural language; the agent loads the skill automatically when the request matches the skill description.

How to use

Platform compatibility

ChatGPT GPTs

OpenAI

Paste the system prompt into the GPT "Instructions" field and keep the user template as your starter message.

Official docs

Claude Code

Anthropic

Save the exported .aiskill JSON as a skill file in your project or paste the system prompt into CLAUDE.md / a slash-command markdown file.

Official docs

Cursor

Anysphere

Copy the system prompt into .cursor/rules/*.mdc (or Project Rules in Settings) and reference the user template in your agent prompts.

Official docs

Related skills