← BrainerceCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Brainerce
Snapshot Sep 30, 2026 · 23:07 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "brainerce-checkout-flows",
"description": "Get the non-negotiable Brainerce sequences right: checkout, registration and email verification, login, password reset, cart persistence, inventory reservation and order confirmation. Use when a developer is building or debugging any of those, or asks why is my order not appearing, the payment succeeded but nothing happened, my reservation expired, the cart empties on refresh, or what order do these calls go in. These flows are fixed regardless of framework, and improvising one produces orders that never complete and stock that never releases. For developers. Do not choose this for the signature of a single method, use brainerce-sdk. Do not choose this to plan a whole storefront, use brainerce-storefront-build. Do not choose this for a merchant asking where a specific customer order is, use brainerce-order-handling. Keywords: checkout, payment, order confirmation, handlePaymentSuccess, waitForOrder, reservation, cart persistence, login, email verification, reset password, OAuth callback.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 777
},
{
"relative_path": "assets/icon.png",
"size_in_bytes": 3208
},
{
"relative_path": "references/auth.md",
"size_in_bytes": 9631
},
{
"relative_path": "references/business-flows.md",
"size_in_bytes": 21739
},
{
"relative_path": "references/cart.md",
"size_in_bytes": 4124
},
{
"relative_path": "references/checkout.md",
"size_in_bytes": 17184
},
{
"relative_path": "references/inventory.md",
"size_in_bytes": 3296
},
{
"relative_path": "references/order-confirmation.md",
"size_in_bytes": 2397
},
{
"relative_path": "references/payment.md",
"size_in_bytes": 3417
}
],
"skill_md_contents": "---\nname: brainerce-checkout-flows\ndescription: \"Get the non-negotiable Brainerce sequences right: checkout, registration and email verification, login, password reset, cart persistence, inventory reservation and order confirmation. Use when a developer is building or debugging any of those, or asks why is my order not appearing, the payment succeeded but nothing happened, my reservation expired, the cart empties on refresh, or what order do these calls go in. These flows are fixed regardless of framework, and improvising one produces orders that never complete and stock that never releases. For developers. Do not choose this for the signature of a single method, use brainerce-sdk. Do not choose this to plan a whole storefront, use brainerce-storefront-build. Do not choose this for a merchant asking where a specific customer order is, use brainerce-order-handling. Keywords: checkout, payment, order confirmation, handlePaymentSuccess, waitForOrder, reservation, cart persistence, login, email verification, reset password, OAuth callback.\"\ncompatibility: ChatGPT, Claude Code, Claude Desktop, Cursor\nmaintainer: Brainerce\nmetadata:\n author: Brainerce\n version: \"1.0.0\"\n---\n\nImplement the sequences that have to happen in a fixed order, in the fixed order.\n\n## Core principle\n\nThese flows are not conventions and they are not style. Each step exists because the step after it depends on state the step before it created. Reordering them, or dropping a step that looks redundant, produces failures that are silent at build time and expensive at runtime: payments taken with no order attached, stock held forever, customers stranded on a spinner.\n\nFramework is irrelevant here. The sequence is the same in Next.js, Remix, Astro, Nuxt and plain React.\n\n## When to use this skill first\n\n- Building checkout, cart, auth or order confirmation.\n- \"What order do these calls go in\".\n- Debugging: payment succeeded but no order, reservation expired mid-checkout, cart empties on refresh, verification email never arrives, OAuth callback lands nowhere.\n- Anything where the calls look individually right and the outcome is wrong.\n\n## When NOT to use this skill first\n\n- One method's arguments or return type: use `brainerce-sdk`.\n- Planning or scaffolding the whole storefront: use `brainerce-storefront-build`.\n- Auditing what is already built: use `brainerce-integration-verify`.\n- A merchant asking about a real customer order in their shop: use `brainerce-order-handling`, which is a different tool surface entirely.\n\n---\n\n## The flows, and where each one is written down\n\n`references/business-flows.md` is the authoritative sequence list. Read the relevant flow there before writing code, not after the first bug.\n\n| Flow | Reference | The step people drop |\n|---|---|---|\n| Checkout end to end | `references/checkout.md` | Confirming the order after payment returns, rather than assuming payment success means order created |\n| Payment | `references/payment.md` | Handling the provider callback and the return path separately |\n| Order confirmation | `references/order-confirmation.md` | `handlePaymentSuccess` followed by `waitForOrder`; without the wait the page renders before the order exists |\n| Cart | `references/cart.md` | Persistence across reloads and across login |\n| Inventory reservation | `references/inventory.md` | Showing the countdown, and releasing the hold when the customer leaves |\n| Registration and login | `references/auth.md` | The six-digit email verification step, forgot and reset password, and the OAuth callback |\n\n## The four failures worth naming up front\n\n**\"Payment succeeded but no order appeared.\"** The confirmation page rendered before the order existed. Payment success and order creation are not the same event and they do not land at the same moment. Call `handlePaymentSuccess`, then `waitForOrder`, then render. A confirmation page that reads the order straight out of the URL will work in testing and fail under real latency.\n\n**\"Stock is held and never comes back.\"** The reservation was created and never released. Reservations expire on their own, but a customer who abandons checkout should not wait out the timer, and the countdown has to be visible or they will not understand why the item vanished.\n\n**\"The cart empties when the page reloads.\"** Cart state was kept only in memory. Persistence is part of the flow, not an optimisation, and the cart also has to survive a customer logging in mid-session.\n\n**\"Customers cannot finish signing up.\"** Email verification with a six-digit code is a required step, and it is the single most commonly omitted piece of a Brainerce auth build. Registration without it produces accounts that exist and cannot be used.\n\n## Rules\n\n- Follow the reference sequence exactly. If a step looks redundant, it is load-bearing for something further down.\n- Never treat a payment provider's success signal as proof the order exists.\n- Always show the reservation countdown to the customer, and release the hold on abandonment.\n- Build email verification, forgot password and reset password even if the brief did not mention them. They are mandatory features, not extras.\n- Build the OAuth button area and callback handling even when the store currently has no providers configured. The area hides itself, and the store owner turns providers on later without touching the code.\n- Never store an auth token in the browser without a backend-for-frontend in front of it.\n- Prices are strings. Parse before arithmetic, including inside totals on the confirmation page.\n- When debugging, walk the sequence in order and find the first step that did not happen. The visible symptom is almost never at the broken step.\n\n## Response shape\n\n> The order is missing because the confirmation page renders before it exists. Payment success and order creation are two separate events.\n>\n> The sequence has to be:\n>\n> 1. Provider returns to your confirmation route\n> 2. `handlePaymentSuccess` with the payment reference\n> 3. `waitForOrder`, which polls until the order is really there\n> 4. Only then render the order\n>\n> Right now step 3 is missing, so under real network latency you render an empty page. It passes in testing because local round trips are fast enough to hide it.\n\n## Reference files in this skill\n\n`business-flows.md`, `checkout.md`, `payment.md`, `order-confirmation.md`, `cart.md`, `inventory.md`, `auth.md`.\n\nThese are snapshots of the Brainerce MCP server's own content. When that server is connected (Claude Code, Cursor, or the CLI), `get-business-flows` and `get-sdk-docs` serve the same material live. In ChatGPT it is not connected, and these files are the source of truth.\n\n## Cross-skill connections\n\n- Method signatures and types: `brainerce-sdk`.\n- Planning the whole build: `brainerce-storefront-build`.\n- Checking a finished build against the mandatory list: `brainerce-integration-verify`.\n\nRoute once, and do not bounce back and forth.\n"
}SHA-256: 7fd5eed05c4a0ff06713ea5315747bb41da13b427c2685a760f05f43a5ee1550