npx skills add ...
npx skills add cournot-ai/cournot-skills --skill cournot
Query Cournot probabilities and manage prepaid calls, balances, and API keys. Use only for /cournot or an explicit request to use Cournot, not for casual odds questions.
npx skills add cournot-ai/cournot-skills --skill cournot
Use only for /cournot or an explicit request to use Cournot. Reply in the user's language. The API supplies the assessment and evidence; never invent a second estimate.
Apply these principles silently to every customer-facing message, across queries, account operations, payments, recovery and troubleshooting. They govern how to write; they are not content to announce or explain to the customer:
Before sending any customer-facing message, check it against these principles: every sentence must help the user understand the result, its consequences or the next decision; every status and authorization claim must have evidence from the client or the user. Remove process narration and statements made on the user's behalf. Apply this check to progress messages as well as the final reply.
Use errors.md to interpret failures and uncertain outcomes under these same principles. Flow references define business facts and permitted actions, not fixed customer scripts.
Read the applicable flow reference before acting on or explaining a client result. For follow-up questions, status explanations and troubleshooting, select the reference from the pending operation or returned action; do not treat them as new event queries or infer a workflow from a state name alone.
After removing /cournot and outer whitespace, match these complete commands. Do not interpret an event containing a reserved word as a management command.
| Input | Action / reference |
|---|---|
balance | Read balance and masked key — account.md |
key | Show the full key, or recover it using the wallet — account.md |
import <key> | Validate and save an existing key — account.md |
rotate | Preview rotation and its effect on the old key; execute only after confirmation — account.md |
topup | Let the user select a pack, preview and confirm payment — payment.md |
| Anything else | Event query — query-flow.md |
For event queries only, also strip the optional probability prefix. The message is the user's event in their own words. If no claim with an asset, threshold, or date remains, ask for one without calling the API. Cournot has no mispricing API; explain this and stop on a mispricing request.
Never expose signing payloads or protocol parameters in any reply, including troubleshooting: domain/types/primaryType, signing chainId, urlPath, nonce, signing timestamp, parsed signing messages and internal request/intent IDs remain inside the client. Do not reconstruct them for display. This boundary has no technical-details exception; it does not remove the public payment terms needed for informed confirmation.
Node.js 22.20 or newer is required. All API operations use scripts/cournot-client.mjs; credentials and wallet signatures stay inside the client. The default is production, https://interface.cournot.ai. COURNOT_API_BASE=https://dev-interface.cournot.ai selects development. Never silently change environments to work around a failure. API deployment and payment network are separate: dev payments can still transfer real mainnet assets.
Each IP has three free probability calls in total, with no reset. Free allowance is used before prepaid calls. No key or wallet is required to start. After free calls, a configured key spends prepaid balance; otherwise the user chooses topup, import, or $0.01 per-call payment. Packs do not expire, stack, and are non-refundable. Prices and call counts come from the client's pack catalog; actual payment terms come from the server's 402 response.
One user query permits one probability assessment, including free and prepaid calls. A confirmed 402 replay is part of that same assessment. Do not repeat completed account operations merely to verify the same result. The client waits three seconds before each initial paid submission and checks readable authorization expiry before and after waiting. It may internally retry the same signed payment once after an explicit authorization-not-yet-valid precheck rejection, within the original confirmed payment; see payment.md. No other automatic retries, background queries, automatic topup, or silent fallback from prepaid balance to per-call payment. Keep pending event text and selected market ids through disambiguation, credential setup, and payment confirmation. A completed topup does not automatically rerun the pending query.
COURNOT_API_KEY overrides the file only for COURNOT_API_KEY_BASE (production by default; set explicitly for development keys). Otherwise the client reads a per-origin file beneath ~/.cournot/credentials/. Files are plaintext protected by filesystem permissions, not an encrypted vault. Never read or edit them through the model. Use client commands for import, saving, recovery, and display. Only explicit /cournot key may reveal a complete key; all other output must remain masked. Never request wallet private keys or seed phrases.
On a successful probability response, read response-format.md. Report the returned billing route and remaining calls; charged=false does not mean no prepaid call was consumed. Never manufacture a missing quota, promise a daily reset, or promise no deduction after an uncertain server failure.
Claude Code, Codex, Grok, OpenClaw, and other Agent Skills hosts use this same folder. Install the entire skills/cournot/ folder, including scripts and references.