SuperAPI AI Directory

verification-before-completion

Coding & development

View repository

Updated 10-15 08:56

About this skill

Verify before completion

Overview

Claiming work is complete without verification is not efficiency, it is dishonesty.

Core principle: Always back conclusions with evidence.

Going through the motions on this rule is equivalent to violating its spirit.

Iron rule

没有新鲜的验证证据,不许宣称完成

If you have not run the verification command in this message, you cannot claim the tests pass.

Gating function

在宣称任何状态或表达满意之前:

1. 确定:什么命令能证明这个结论?
2. 运行:执行完整命令(重新运行,完整执行)
3. 阅读:完整输出,检查退出码,统计失败数
4. 验证:输出是否支持这个结论?
   - 如果否:用证据说明实际状态
   - 如果是:带证据陈述结论
5. 只有这时:才能做出结论

跳过任何一步 = 说谎,不是验证

Common failure modes

Conclusion Required Not sufficient
Tests pass Test command output: 0 failures Previous run results, "should pass"
Linter reports no errors Linter output: 0 errors Partial checks, inference
Build succeeds Build command: exit 0 Linter passes, logs look fine
Bug is fixed Test the original symptom: pass Code changed, assume it is fixed
Regression test is effective Red-green cycle verified Test passed only once
Agent has completed VCS diff shows changes Agent reports "success"
Requirements are met Check off the list item by item Tests pass

Red line—stop

  • Using "should", "probably", "seems"
  • Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
  • About to commit/push/create a PR without verification
  • Trusting an agent's success report
  • Relying on partial verification
  • Thinking "just this once"
  • Tired and wanting to wrap up quickly
  • Any wording that implies success but did not actually run verification

Prevent rationalization

Excuse Reality
"It should work now" Run the verification command
"I am confident" Confidence ≠ evidence
"Just this once" No exceptions
"The linter passed" Linter ≠ compiler
"The agent said it succeeded" Verify independently
"I am tired" Fatigue ≠ excuse
"Partial checks are enough" Partial checks prove nothing
"If I rephrase it, this rule no longer applies" Spirit over letter

Key patterns

Tests:

✅ [运行测试命令] [看到:34/34 pass] "全部测试通过"
❌ "应该能通过了" / "看起来对了"

Regression tests (TDD red-green):

✅ 编写 → 运行(通过)→ 回退修复 → 运行(必须失败)→ 恢复 → 运行(通过)
❌ "我写了回归测试"(没有经过红-绿验证)

Build:

✅ [运行构建] [看到:exit 0] "构建通过"
❌ "Linter 通过了"(linter 不检查编译)

Requirements:

✅ 重读计划 → 创建核对清单 → 逐项验证 → 报告缺口或完成
❌ "测试通过了,阶段完成"

Agent delegation:

✅ 代理报告成功 → 检查 VCS diff → 验证变更 → 报告实际状态
❌ 信任代理报告

Why this matters

From 24 failure records:

  • Partner said "I don't believe you"—trust was broken
  • An undefined function was delivered—it will crash directly
  • Omitted requirements were delivered — incomplete functionality
  • Time wasted on false completion → rework → redo
  • Violates the principle: "Honesty is a core value. If you lie, you will be replaced."

When to use

Must be used before the following situations:

  • Any form of success/completion claim
  • Any expression of satisfaction
  • Any positive statement about work status
  • Submitting, creating a PR, marking a task as complete
  • Moving on to the next task
  • Delegating to an agent

This rule applies to:

  • Exact wording
  • Synonyms and rephrasings
  • Implying success
  • Any communication conveying completion/correctness

Bottom line

There are no shortcuts to verification.

Run the command. Read the output. Only then can you claim the result.

This is non-negotiable.