More screenshots

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+20 more

    Invariants Register

    2

    Your interface checks the price, the limit and who owns what. Does your server? Prove it on staging, get the server-side fix for every rule that breaks, and keep the tests that hold it in place

    $24

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned
    Invariants Register

    Invariants Register

    Example session with this skill installed

    Check Lumora’s business rules on staging: generate, buy credits, use a promo code, and request a refund. Use ana@lumora.test and ben@lumora.test. Show which rules break and which hold.

    • Read your context and instructions
    • Compiled the invariants register

    The server trusts the client with money: five rules break, four hold.

    VerdictCount
    Broken5
    Holds4
    Inconclusive0
    Not run0

    Broken (confirmed by both API responses and database records):

    RuleWhereSeverity
    I01 · Generation cost must come from the server’s model pricePOST /api/generateP0
    I05 · A global single-use promo code can be redeemed only oncePOST /api/checkoutP0
    I07 · Each generation can be refunded only oncePOST /api/generations/:id/refundP0
    I02 · The server must enforce 10 free generations per account per dayPOST /api/generateP1
    I03 · Balance checks and deductions must be atomicPOST /api/generateP1

    A video priced at 12 credits cost just 1 when the request supplied that price. Five concurrent requests redeemed a single-use code five times; five refund requests returned 50 credits for a generation that cost 10. All 14 free-generation requests succeeded. Five paid generations went through while the balance was charged for only one.

    Holds: package pricing and credits come from the server; per-account promo codes remain single-use; accounts cannot refund another account’s generation; only failed generations qualify for refunds.

    Regression suite: 9 tests—5 failing, 4 passing. The five broken rules keep failing until the server is fixed.

    Safety: staging only, test accounts only. No requests were sent to production.

    Next steps: fix generation pricing and single-use enforcement first, then the free quota and atomic balance deductions. Rerun the regression suite after the fixes.

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

    About this skill

    Every interface checks business rules so it feels right: it computes the price, counts the free allowance, disables the button after one click, hides what your plan doesn't include. Whether the server repeats those checks is invisible from the browser, and tests written through the interface always pass, because the interface never sends the wrong value. That gap is where money, credits and limits leak, and where one account reaches another's data.

    This skill closes it the way a careful QA engineer does, on staging and never on production.

    From the client to a register. It reads what your client checks and sends, with file and line, reconstructs the lifecycle of your key scenario (draft → paid → refunded, or whatever yours is), and writes each business rule as an invariant: the rule the server must keep, the client evidence, why it might not hold, a safe test, the oracle and the bug criterion. Rules expected to hold go in too, so the register can say what was proven sound.

    Six classes of rule, none skipped. Values the client sends that the server must compute itself; limits counted in the browser; check-then-act races on a balance or a counter; idempotency of one-time operations (refunds, promo codes, confirmations), sequential and concurrent; ownership, so one account can't act on another's data; and transitions from the wrong state.

    Proven on staging, read twice. Tests run only against the staging origins you list in invariants.config.json, with your test accounts. The bundled runner refuses any other origin, any production host, absolute URLs and more than five parallel requests, and doesn't follow redirects. Every result is read from the response and, when you give read-only data access, from the data: a response can say "rejected" while a balance moved.

    Four verdicts, no guesses. Broken (violated, reproduced from a reset, both oracles agree), holds (rejected or recomputed, data correct), inconclusive (the oracles disagree; what would settle it), not run (unsafe, out of scope or no staging; kept as a unit-test specification). Severity separately: P0, P1, P2.

    Every broken rule comes with its fix. The skill pairs each class of rule with the standard server-side remedy (recompute instead of accept, count on the server, one atomic conditional write, a unique key for one-time operations, ownership from the session, transitions guarded by state), so the register says what to change, not only what broke.

    Tests that stay. Every invariant that ran becomes a node:test case in invariants.test.mjs, behind the same guard. A broken rule's test fails until the server is fixed, then keeps it fixed in CI. A CI guide comes with it: run after each staging deploy, one job at a time, and mark known-broken rules todo with a ticket so day one isn't a red build nobody can fix.

    Pairs with Product Audit. The audit ends with server-side hypotheses for staging; this skill proves or clears them.

    Safe by design. It asks first whose product it is, where staging is and which test accounts to use. No production requests, no real customers' data, no getting around rate limits, authentication or payment providers. Without staging, it stops at the register.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before any payment.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Flagged by the security scan: Network access. Approved by Agensi. Scanned today.

    Requires

    Node.js
    A staging environment

    Listedtoday

    What's inside

    Frequently Asked Questions