$npx -y skills add totvs/engpro-advpl-tlpp-skills --skill verification-before-completionUse 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
| 1 | # Verification Before Completion |
| 2 | |
| 3 | ## Overview |
| 4 | |
| 5 | Claiming work is complete without verification is dishonesty, not efficiency. |
| 6 | |
| 7 | **Core principle:** Evidence before claims, always. |
| 8 | |
| 9 | **Violating the letter of this rule is violating the spirit of this rule.** |
| 10 | |
| 11 | ## The Iron Law |
| 12 | |
| 13 | ``` |
| 14 | NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE |
| 15 | ``` |
| 16 | |
| 17 | If you haven't run the verification command in this message, you cannot claim it passes. |
| 18 | |
| 19 | ## The Gate Function |
| 20 | |
| 21 | ``` |
| 22 | BEFORE claiming any status or expressing satisfaction: |
| 23 | |
| 24 | 1. IDENTIFY: What command proves this claim? |
| 25 | 2. RUN: Execute the FULL command (fresh, complete) |
| 26 | 3. READ: Full output, check exit code, count failures |
| 27 | 4. VERIFY: Does output confirm the claim? |
| 28 | - If NO: State actual status with evidence |
| 29 | - If YES: State claim WITH evidence |
| 30 | 5. ONLY THEN: Make the claim |
| 31 | |
| 32 | Skip any step = lying, not verifying |
| 33 | ``` |
| 34 | |
| 35 | ## Common Failures |
| 36 | |
| 37 | | Claim | Requires | Not Sufficient | |
| 38 | |-------|----------|----------------| |
| 39 | | Tests pass | Test command output: 0 failures | Previous run, "should pass" | |
| 40 | | Linter clean | Linter output: 0 errors | Partial check, extrapolation | |
| 41 | | Build succeeds | Build command: exit 0 | Linter passing, logs look good | |
| 42 | | Bug fixed | Test original symptom: passes | Code changed, assumed fixed | |
| 43 | | Regression test works | Red-green cycle verified | Test passes once | |
| 44 | | Agent completed | VCS diff shows changes | Agent reports "success" | |
| 45 | | Requirements met | Line-by-line checklist | Tests passing | |
| 46 | |
| 47 | ## Red Flags - STOP |
| 48 | |
| 49 | - Using "should", "probably", "seems to" |
| 50 | - Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.) |
| 51 | - About to commit/push/PR without verification |
| 52 | - Trusting agent success reports |
| 53 | - Relying on partial verification |
| 54 | - Thinking "just this once" |
| 55 | - Tired and wanting work over |
| 56 | - **ANY wording implying success without having run verification** |
| 57 | |
| 58 | ## Rationalization Prevention |
| 59 | |
| 60 | | Excuse | Reality | |
| 61 | |--------|---------| |
| 62 | | "Should work now" | RUN the verification | |
| 63 | | "I'm confident" | Confidence ≠ evidence | |
| 64 | | "Just this once" | No exceptions | |
| 65 | | "Linter passed" | Linter ≠ compiler | |
| 66 | | "Agent said success" | Verify independently | |
| 67 | | "I'm tired" | Exhaustion ≠ excuse | |
| 68 | | "Partial check is enough" | Partial proves nothing | |
| 69 | | "Different words so rule doesn't apply" | Spirit over letter | |
| 70 | |
| 71 | ## Key Patterns |
| 72 | |
| 73 | **Tests:** |
| 74 | ``` |
| 75 | ✅ [Run test command] [See: 34/34 pass] "All tests pass" |
| 76 | ❌ "Should pass now" / "Looks correct" |
| 77 | ``` |
| 78 | |
| 79 | **Regression tests (TDD Red-Green):** |
| 80 | ``` |
| 81 | ✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass) |
| 82 | ❌ "I've written a regression test" (without red-green verification) |
| 83 | ``` |
| 84 | |
| 85 | **Build:** |
| 86 | ``` |
| 87 | ✅ [Run build] [See: exit 0] "Build passes" |
| 88 | ❌ "Linter passed" (linter doesn't check compilation) |
| 89 | ``` |
| 90 | |
| 91 | **Requirements:** |
| 92 | ``` |
| 93 | ✅ Re-read plan → Create checklist → Verify each → Report gaps or completion |
| 94 | ❌ "Tests pass, phase complete" |
| 95 | ``` |
| 96 | |
| 97 | **Agent delegation:** |
| 98 | ``` |
| 99 | ✅ Agent reports success → Check VCS diff → Verify changes → Report actual state |
| 100 | ❌ Trust agent report |
| 101 | ``` |
| 102 | |
| 103 | ## Why This Matters |
| 104 | |
| 105 | From 24 failure memories: |
| 106 | - your human partner said "I don't believe you" - trust broken |
| 107 | - Undefined functions shipped - would crash |
| 108 | - Missing requirements shipped - incomplete features |
| 109 | - Time wasted on false completion → redirect → rework |
| 110 | - Violates: "Honesty is a core value. If you lie, you'll be replaced." |
| 111 | |
| 112 | ## When To Apply |
| 113 | |
| 114 | **ALWAYS before:** |
| 115 | - ANY variation of success/completion claims |
| 116 | - ANY expression of satisfaction |
| 117 | - ANY positive statement about work state |
| 118 | - Committing, PR creation, task completion |
| 119 | - Moving to next task |
| 120 | - Delegating to agents |
| 121 | |
| 122 | **Rule applies to:** |
| 123 | - Exact phrases |
| 124 | - Paraphrases and synonyms |
| 125 | - Implications of success |
| 126 | - ANY communication suggesting completion/correctness |
| 127 | |
| 128 | ## The Bottom Line |
| 129 | |
| 130 | **No shortcuts for verification.** |
| 131 | |
| 132 | Run the command. Read the output. THEN claim the result. |
| 133 | |
| 134 | This is non-negotiable. |