Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+22 more

    False Negative Guard: Prove 'Not Found' Before You Say It

    1

    Three scripts that refuse a clean verdict from a partial read: complete sweeps with N of N, PDF page coverage, and a lint for unbacked "there is no X" claims.

    $9

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    Security scanned
    False Negative Guard: Prove 'Not Found' Before You Say It

    False Negative Guard: Prove 'Not Found' Before You Say It

    Example session with this skill installed

    Check whether any of our repositories has a pending collaborator invitation, and tell me if the answer is "none".

    • Read your context and instructions
    • Compiled the false negative guard

    Summary

    The guard swept every repository instead of the first page of results, and found one pending invitation. So the honest answer is not "none".

      ! delta  -> invitee: client-x, expires 2026-10-19
    
    pending invitations: examined 5 of 5 item(s): 1 hit(s), 4 clean, 0 UNKNOWN
    FOUND. The items above are the evidence.
    

    Answer: one invitation is pending on delta, to client-x, expiring 2026-10-19.

    The same guard, run on a draft reply before sending it

    negative-claim lint: 2 negative claim(s) carry no evidence in their paragraph:
      - There is no pending invitation on any repository, so nothing blocks the handover.
      - The tender documentation is incomplete: the technical specification is not in the document.
    Each needs one of: 'examined N of N', 'COMPLETE SWEEP', 'READ COMPLETE', or '[verified: <surface>, N of N]' in the same paragraph, or a stated scope ('in the 12 files I read').
    

    On a real 29-page procurement PDF whose first 12 pages were scans

    An agent once told a public authority its specification was missing. It was on the scanned pages.

    page    1:      0 chars   <- IMAGE-ONLY (needs OCR)
    page    2:      0 chars   <- IMAGE-ONLY (needs OCR)
    page   12:      0 chars   <- IMAGE-ONLY (needs OCR)
       ...
    page   13:    456 chars
    page   14:   2969 chars
    page   29:    882 chars
    coverage: 17 of 29 page(s) have a text layer (58%)
    NOT READ: 12 page(s) are image-only: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. OCR them before saying anything is absent from this document.
    --grep 'specifica': 2 match(es) over 17 readable page(s) of 29.
    

    Next steps

    • Run each script's --selftest once (21 cases) to see the exit codes on your machine.
    • Put sweep.py in front of any "none / nothing / all clear" answer your agent gives.
    • Run negative_claim_lint.py on the agent's final reply before you trust it.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    The most expensive sentence an AI agent produces is a confident negative. "There is no token on the server." "No invitation is pending." "The figure is not in the document." "All 33 prices match." A positive finding carries its own evidence. A negative carries none: it is only as good as the completeness of the read behind it, and a partial read looks exactly like a complete one in the transcript.

    This skill makes that difference visible, with exit codes rather than advice.

    The protocol: three states, never two. FOUND (show it). NOT FOUND, COMPLETE (the whole set was examined, say "examined N of N"). COULD NOT VERIFY (a failed listing, a timeout, image-only pages, an API error object, a truncated output, a surface behind someone else's login). The agent answers three questions before any negative: how many items has the set and how many did I examine; did the read succeed; did I search by the property or by a name I invented. Then a list of the decoys that produce false negatives in practice: pipes through head, the exit code of a pipeline, scanned PDF pages with no text layer, JavaScript shells that return 200 for every path, capped result totals, grep -r skipping symlinks, an invented field that comes back missing, an event mistaken for a current state.

    The scripts (Python 3, standard library):

    1. sweep.py: runs one command per item of a set and prints "examined N of N". Hits are listed with their evidence, items that could not be checked are listed as UNKNOWN, never as clean. Exit 0 only for a complete sweep with zero hits ("a negative based on this run IS valid"). A --limit poisons the verdict (exit 2). A failed or empty listing exits 2, not zero results.

    2. pdf_coverage.py: extractable characters per page, image-only pages named for OCR, coverage "N of N pages". With --grep it searches the complete text with page numbers, and calls "0 matches" a true negative only when every page had text. Needs poppler's pdftotext or the pypdf module; with neither it says so instead of pretending.

    3. negative_claim_lint.py: reads your draft answer and lists every absence or totality claim that has no "examined N of N", "COMPLETE SWEEP", "READ COMPLETE" or "[verified: ...]" in its paragraph. Hedged findings that state their scope pass. Run it on your own reply before sending it.

    Every script has a --selftest (21 cases in total) that proves its exit codes on your machine.

    Who it is for: anyone who lets an AI coding agent audit a codebase, an inbox, a data room, a server or a stack of PDFs and then has to trust the sentence "there is none".

    What it does not do: it does not OCR (it names the pages that need it), it does not know your systems (the list and per-item commands are yours), and it does not turn a partial lister into a complete one. It stops a partial read of the right surface from being reported as a complete one.

    Permissions: runs shell commands only the ones you pass in --list and --each (sweep.py). Reads the files you name. Writes one file only when you pass --text-out (pdf_coverage.py). No network access of its own. No telemetry.

    Original work, listed by its author. Devaland Marketing S.R.L., Romania. Python and AI engineering: https://devaland.com/ai-development

    How to use

    Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    30-day refund

    Not a fit? Get your money back

    Trust & safety

    Security scanned

    Verified clean 4 days ago

    • Passed all security checks, Safe to install

    Listed4 days ago
    Updatedtoday

    What's inside

    Frequently Asked Questions