Best for
- Use when a user asks to browse or index Itô baskets, compare a basket against notes or a thesis, research prediction-market events/venues/liquidity, or plan a basket or market idea without trading.
affaan-m/ECC/skills/ito-baskets/SKILL.md
Read-only Itô basket and prediction-market data skill. Index the live basket catalog, compare a basket against user-supplied research or a watchlist, build a source-grounded market brief, or draft a non-executable planning worksheet. Use when a user asks to browse or index Itô baskets, compare a basket against notes or a thesis, research prediction-market events/venues/liquidity, or plan a basket or market idea without trading. Never advises, orders, trades, reserves, or executes.
Decision brief
One read-only skill for every Itô basket/market data workflow. It replaces the former ito-basket-compare, ito-market-intelligence, ito-data-atlas-agent, and ito-trade-planner skills; requests naming those route here.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/affaan-m/ECC --skill "skills/ito-baskets"Inspect the Agent Skill "ito-baskets" from https://github.com/affaan-m/ECC/blob/d8409a4b0813771235555e32e3d8046a73988bfa/skills/ito-baskets/SKILL.md at commit d8409a4b0813771235555e32e3d8046a73988bfa. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Never advise the user to buy, sell, hold, hedge, lever, allocate, or size.
Use the weakest access that satisfies the request, in this order:
scripts/ito-baskets.js is a dependency-free, GET-only client covering both public surfaces. Run it only when the user has asked for Itô data — not merely because a key exists.
node scripts/ito-baskets.js --json basket-index node scripts/ito-baskets.js --json basket-detail --basket-id
node scripts/ito-baskets.js --json list-baskets --page 1 --per-page 25 node scripts/ito-baskets.js --json search-markets --platform all --limit 25 node scripts/ito-baskets.js --json get-market --market-id node scripts/ito-baskets.js --json market-history --market-id --days 30 ya…
Permission review
The documentation asks the agent to run terminal commands or scripts.
node scripts/ito-baskets.js --json basket-indexThe documentation asks the agent to run terminal commands or scripts.
node scripts/ito-baskets.js --json basket-detail --basket-id <id>Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 242,963 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
One read-only skill for every Itô basket/market data workflow. It replaces the
former ito-basket-compare, ito-market-intelligence, ito-data-atlas-agent,
and ito-trade-planner skills; requests naming those route here.
Trigger examples include “compare this basket”, “basket vs watchlist”, “event discovery”, “venue comparison”, “basket theme exploration”, “market brief”, and “planning worksheet”.
Pick exactly one mode per request:
match / conflict / missing /
stale).ecc ito find submits an
authenticated RFQ and ecc ito status reads RFQ/procurement status, not
basket data. The compute bridge, compute device credential, and compute MCP
tools are a separate surface and are never a substitute for basket/market
reads.UNSUPPORTED_OPERATION.Use the weakest access that satisfies the request, in this order:
https://itomarkets.com —
GET /api/baskets/bootstrap?stream=1 (catalog) and
GET /api/baskets/{basket_id}/bootstrap?stream=1 (detail), plus
GET /api/markets/hot. No login and no key. Require HTTP 200,
contractVersion: ito.public_basket_read.v1, and a parseable
generated_at; a catalog response needs a baskets array and a detail
response needs basket, underlyers, charts, metrics, and
commentary. Record Date, Cache-Control, Age, Last-Modified, and
x-ito-edge-cache; an edge stale marker means stale provenance even when
generated_at is recent. Never send credentials to these routes, never
follow cross-origin redirects, and never silently accept a changed contract
version. Label this data public, never ito_authenticated.https://itomarkets.com/api/v1 — GET-only
routes (/baskets, /baskets/{id} and documented children,
/markets/search, /markets/{id}, /markets/{id}/history) requiring
exactly baskets:read and/or markets:read, sent only as
Authorization: Bearer <key> to that exact HTTPS origin. Least-privilege
public keys use the bkt_* form and are operator-issued. Do not create,
rotate, or broaden a key to unblock a read; do not use a write scope,
dashboard automation key, cookie, or compute device credential. If no
scoped key is configured, mark keyed access blocked and continue with
anonymous or user-supplied data rather than fabricating parity.ito-markets (imported as ito) for typed,
repeatable reads. Record the installed version and verify the method,
response type, origin, and required scope first. Installation changes the
environment: propose the exact package/version and get confirmation before
installing.This skill never uses device authorization or ecc ito login; those belong to
the compute surface and cannot unlock basket/market reads.
scripts/ito-baskets.js is a dependency-free, GET-only client covering both
public surfaces. Run it only when the user has asked for Itô data — not merely
because a key exists.
# Anonymous index reads (no credential is ever sent):
node scripts/ito-baskets.js --json basket-index
node scripts/ito-baskets.js --json basket-detail --basket-id <id>
# Keyed reads (require ITO_API_KEY in the environment):
node scripts/ito-baskets.js --json list-baskets --page 1 --per-page 25
node scripts/ito-baskets.js --json search-markets --platform all --limit 25
node scripts/ito-baskets.js --json get-market --market-id <id>
node scripts/ito-baskets.js --json market-history --market-id <id> --days 30
The client reads ITO_API_KEY only for keyed commands, transmits it only to
the configured Itô HTTPS origin, and never logs it. ITO_MARKET_API_URL and
ITO_PUBLIC_API_URL override origins for deterministic local tests only
(HTTPS required; HTTP allowed solely for loopback). Every result carries
access_mode, retrieved_at, source URL, HTTP status, cache headers,
rate-limit metadata, and a freshness caveat.
basket-index (or a keyed list-baskets/search-markets when the
user explicitly requested keyed data and a scoped key is configured).basket_id, label, theme, underlier count,
observable quote fields, as_of, freshness_status, source URL.basket_id; mark unknowns null; never invent a price,
volume, or liquidity value absent from the response.basket_id or label plus underliers with
underlier_id, label, event/claim, and any supplied weight/probability.
Request missing material instead of searching private stores broadly.[0,1],
dedupe only exact normalized underlier_id (retain first by provenance
order and record a conflict on disagreement; never silently merge).as_of is unknown, never substituted
with the current time.match, conflict, missing,
or stale. Keep mixed-source disagreement visible. Sort every result array
by underlier_id then evidence source_uri.unknown.Run prediction-market-risk-review before any workflow touches user capital,
portfolio data, automation, keys, venue auth, or execution-capable tooling.
Record for every input and response:
source_type: user_provided, public, or ito_authenticatedsource_uri: non-secret URL/identifier, or null for pasted materialretrieved_at: UTC RFC 3339 retrieval timeas_of: source observation/publication time, or null when unknownfreshness_status: fresh, stale, or unknownaccess_mode: anonymous, authenticated, or localNever relabel cached, fixture, anonymous, or fabricated data as live or authenticated.
INVALID_INPUT — missing/invalid fields; name fields without echoing
sensitive content.AUTH_MISSING — no scoped key for a requested keyed read; state the scope
(baskets:read/markets:read) and the operator-driven issuance channel.
Never collect a key in chat.AUTH_REJECTED (401) — the key may be expired, revoked, or mis-scoped; a
generic 401 is not proof of revocation.AUTH_FORBIDDEN (403) — missing read scope; never retry, broaden scope, or
request a write scope.RATE_LIMITED (429) — honor a valid Retry-After once within the user's
deadline; never loop. The documented read budget is 120 requests/minute.TIMEOUT / UPSTREAM_ERROR / INVALID_RESPONSE — at most one read-only
retry within the deadline; preserve prior cited facts, label the live
snapshot unavailable, and never substitute mock or stale data while calling
it live.STALE_SOURCE — blocked unless the user explicitly accepts the displayed
timestamps for informational use; keep freshness_status: stale regardless.UNSUPPORTED_OPERATION — any state-changing request; terminal for this
skill.Partial results use status: blocked or partial with incomplete: true,
retain only source-backed arrays, and are never presented as complete.
Default to concise Markdown. Index: catalog table + provenance. Compare:
basket summary, comparison target, provenance/freshness, matches, conflicts or
stale assumptions, missing context, research-question checklist. Brief:
retrieved_at, sources, facts, signals, interpretation, open questions.
Worksheet: the YAML shape below. Structured JSON output uses stable key order
with schema_version: "1.0", status, sources, and mode-specific arrays;
blocked output carries error.code, error.message, error.retryable, and
a secret-free resume block.
plan_status: ready_for_manual_review | blocked
mode: indicative_non_executable
hypothesis: "neutral restatement"
markets:
- market: "identifier or unknown"
venue: "venue or unknown"
observable_status: "value or unknown"
source_url: "source URL or unknown"
retrieved_at: "ISO-8601 timestamp or unknown"
resolution_rule: "summary or unknown"
liquidity_caveat: "text or unknown"
constraints:
jurisdiction_eligibility: "confirmed | unconfirmed | unknown"
limit: "user supplied value or unknown"
maximum_spend: "user supplied value or unknown"
fees: "value or unknown"
decision_deadline: "value or unknown"
data_freshness: "timestamp and caveats"
risk_review:
status: pass | warn | fail | not_run
findings: []
blocked_actions:
- "order placement, cancellation, routing, signing, and submission"
next_safe_step: "one non-executing review action"
End every human-readable result with exactly one closing line for the mode:
This is market data, not investment or trading advice.This comparison is informational and not investment or trading advice.This is a planning worksheet, not investment or trading advice. Review venue rules and make any trading decisions yourself.deep-research or exa-search for source discovery.x-api for public social signal discovery when configured.market-research for sizing, competitors, or business use cases.prediction-market-risk-review before anything execution-adjacent.ito-compute only when the user separately wants GPU compute; the two
surfaces share no credentials.Frequently asked questions
One read-only skill for every Itô basket/market data workflow. It replaces the former ito-basket-compare, ito-market-intelligence, ito-data-atlas-agent, and ito-trade-planner skills; requests naming those route here.
The source record exposes this install command: npx skills add https://github.com/affaan-m/ECC --skill "skills/ito-baskets". Inspect the command and pinned source before running it.
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
coreyhaines31/marketingskills
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.