verification-loop
Continuous verification after every change, plus claim-based proof when evidence is required. Use when implementing, fixing bugs, refactoring, or when asked to verify a specific claim.
What this skill does
# Verification Loop ## Overview Verify after each small change—not only at the end. Two modes share the same discipline: 1. **Routine verification** — run the right checks for the change type. 2. **Claim-based verification** — prove or disprove a specific, measurable claim with baseline vs treatment evidence. ## When to Use - After every code, dependency, or configuration change - Before every commit or merge - When the user asks to "verify this", "prove it works", or "show evidence" - When tests pass but user-visible behavior still needs confirmation Do not use claim-based mode for vague assertions like "the code is cleaner". Ask for a falsifiable claim first. ## The Loop ``` Change → Verify → If fail: Fix → Verify → If pass: Continue ``` ### Step 1: Change Make a small, atomic change (~100 lines max). ### Step 2: Verify Pick the mode that fits: | Situation | Mode | Action | |-----------|------|--------| | Normal development | Routine | Run checks from the table below | | Specific claim to prove/disprove | Claim-based | Follow the claim workflow below | **Routine checks by change type:** | Change Type | Verification | |------------|-------------| | Code change | Tests for affected area | | New feature | New tests + existing tests | | Bug fix | Regression test + existing tests | | Refactor | All tests (behavior must not change) | | Dependency | Build + tests + security scan | | Configuration | Build + smoke test | **Claim-based workflow:** 1. Restate the claim: condition, metric, threshold. 2. Pick the smallest surface that can disprove it. 3. Capture baseline (merge base, parent commit, or broken repro). 4. Capture treatment with the same command, data, warmup, and environment. 5. Compare artifacts: numbers, screenshots, transcripts, HTTP responses, profiles, heap snapshots, test output. 6. Return exactly one verdict: `VERIFIED`, `NOT VERIFIED`, or `INCONCLUSIVE`. **Surfaces for claims:** unit/integration tests, `control-cli` / `control-ui`, browser traces, local HTTP/RPC diffs, timings, heap snapshots. **Verdict rules:** - `VERIFIED` — predicted change met threshold, no obvious confound - `NOT VERIFIED` — unchanged, wrong direction, or below threshold - `INCONCLUSIVE` — invalid baseline, noisy signal, or environment mismatch Claim output shape: ```text VERIFIED | NOT VERIFIED | INCONCLUSIVE Claim: <falsifiable claim> Evidence: <metric>: baseline=..., treatment=..., delta=..., threshold=... Reasoning: <one paragraph> ``` ### Step 3: Fix (if failed) Read error output, fix the specific issue, do not change unrelated code, return to Step 2. ### Step 4: Continue (if passed) Commit, move to the next change, repeat. ## Verification Levels | Level | Scope | When | |-------|-------|------| | Unit | Affected function/module | After every small change | | Integration | Affected feature | After feature complete | | Full | All tests | Before commit/PR | | E2E | Critical user flows | Before release | ## Commands ```bash # TypeScript/JavaScript bun test && bun run build && bun run lint && bun run typecheck # Python pytest && ruff check . && mypy . # Go go test ./... && go vet ./... && golangci-lint run # Rust cargo test && cargo clippy && cargo build ``` ## Anti-Rationalization | Excuse | Counter | |--------|---------| | "I'll test everything at the end" | Errors compound. Verify early, verify often. | | "The tests take too long" | Run affected tests first; full suite before commit. | | "This change is too small to test" | Small changes can have large effects. | | "It works on my machine" | Local verification is the minimum; CI validates the target environment. | | "It probably works" | Without a falsifiable claim and comparison, you do not know. |
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.