skills/ito-basket-compare/SKILL.md
Compare Itô prediction-market baskets against a user's knowledge base, portfolio notes, financial context, watchlist, or research thesis. Use for read-only basket comparison and gap analysis without investment advice or live trading.
npx skillsauth add affaan-m/everything-claude-code ito-basket-compareInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill for requests such as “compare this basket with my research,” “basket vs watchlist,” “run a gap analysis,” or “find conflicts and stale assumptions.” It compares a basket, theme, or market set with user-provided or explicitly selected context. It is read-only and never recommends or executes a trade.
ecc ito find: despite its name, it submits an authenticated RFQ.ecc ito status returns basket data; it reads RFQ and
procurement status. Do not use ecc ito evals for basket comparison.UNSUPPORTED_OPERATION.
A later confirmation cannot turn this read-only skill into an execution skill.Accept either a pasted basket or an explicitly authorized read-only source. The
minimum basket input is a stable basket_id or basket label plus one or more
underliers. Each underlier should contain underlier_id, label, event or claim,
and any weight/probability supplied by the source. The comparison target must be
user-provided or explicitly selected; request missing material instead of
searching private stores broadly.
Record provenance for every input:
source_type: user_provided, public, or ito_authenticatedsource_uri: a non-secret URL/identifier, or null for pasted materialretrieved_at: UTC RFC 3339 time at retrievalas_of: source observation/publication time, or null when unknownfreshness_status: fresh, stale, or unknownNever label anonymous product data ito_authenticated; use public. ECC's real
CLI/MCP surface does not expose a
basket-read command: the CLI supports login, validation-only auth, find,
status, and evals; MCP exposes ito_auth, ito_find, and ito_status.
Therefore authentication success proves identity only, not basket-data
availability. Prefer the documented public product-data routes when they satisfy
the comparison; otherwise ask the user to paste/export the basket or use a
documented keyed read with the minimum scope.
The canonical product-data surfaces are:
https://itomarkets.com, including
/api/baskets/bootstrap, /api/baskets/{basket_id}/bootstrap, and
/api/markets/hot. These are valid live product reads without a private key.https://itomarkets.com/api/v1. Send a configured
public API key only as Authorization: Bearer <key> to that
exact HTTPS origin. Basket reads use GET /baskets,
GET /baskets/{basket_id}, and their documented GET-only child routes and
require baskets:read. Market lookup uses GET /markets/search,
GET /markets/{market_id}, and documented GET-only market-data child routes
and requires markets:read. Never use a write scope, dashboard automation
key, cookie, or compute device credential as
a substitute.ito-markets, imported as ito, for typed
basket and market reads. Before using it, record the installed version and
verify the requested method, response type, origin, and required scope. Do
not install or upgrade it without confirmation.Use an anonymous route when it supplies the basket, underliers, and current
quote fields needed by the comparison. Use the SDK or keyed API only for a
documented field absent from public data. Validate the response contract before
comparison and record the endpoint, response Date, source observation
timestamp, access mode, SDK version when applicable, and cache headers.
The verified anonymous catalog source is the GET-only endpoint
https://itomarkets.com/api/baskets/bootstrap?stream=1. Basket detail uses
https://itomarkets.com/api/baskets/{basket_id}/bootstrap?stream=1. Require
HTTP 200, contractVersion: ito.public_basket_read.v1, and a parseable
generated_at. Require a baskets array for catalog responses; require
basket, underlyers, charts, metrics, and commentary objects for detail
responses. Record the URL, response Date, generated_at, Cache-Control,
Age, Last-Modified, and any x-ito-edge-cache value. Treat an edge stale
marker as stale provenance even when generated_at is recent. Do not send
credentials to this public endpoint, follow cross-origin redirects, or silently
accept a changed contract version.
Resolve a concrete basket-read source and its authentication contract before requesting authentication. The public catalog/detail endpoints require no login and are sufficient for comparisons whose required fields they contain. If no authenticated basket-read source/tool is configured, use public or pasted input and do not request compute credentials.
ecc ito auth --json is an optional, validation-only compute identity probe. It
does not start login and cannot unlock basket reads. Use it only when the user
explicitly requests compute-account identity validation in addition to the
basket comparison; never present it as basket-source authentication.
For a concrete authenticated basket source whose documented contract explicitly
uses the canonical Itô device credential (the public /api/v1 does not):
ecc ito auth --json only if that source contract requires the same
identity. This is validation-only and never starts login.AUTH_REQUIRED or AUTH_REVOKED. Tell the user to run ecc ito login; it
performs device authorization, opens the verification page by default, and
stores the device token in macOS Keychain. ecc ito login --no-browser
suppresses the browser handoff. ECC itself performs no browser automation.ecc ito auth --json once more. Resume only the original read-only request;
never broaden scope because login succeeded.ITO_API_KEY may be forwarded by compute auth only when already configured. Do not
read or display its value. The canonical Itô client is a separately installed,
currently unpublished dependency configured by an explicit absolute
ECC_ITO_CLI_EXECUTABLE; ECC does not discover it through PATH. If absent,
return AUTH_REQUIRED with installation guidance from ito-compute, without
inventing a successful auth result.
For the same normalized input and the same explicit comparison time, produce the same output.
as_of as
null with freshness_status: unknown; never substitute the current time. Reject non-finite numbers and
probabilities outside [0,1]. Do not infer missing weights.underlier_id values. If duplicate records
disagree, retain the first record after provenance ordering and add a
conflict; do not silently merge facts. Sort underliers by normalized
underlier_id, then label. Sort sources by source_type, source_uri,
as_of, and retrieved_at, with null last.as_of
with the explicit comparison time: older is stale, within threshold is
fresh, and absent/unparseable is unknown. State the freshness threshold.match: same claim/direction and compatible horizon;conflict: opposing claim, incompatible horizon, or duplicate ID with
inconsistent facts;missing: no target evidence for that underlier;stale: otherwise relevant target evidence outside its threshold.underlier_id, then evidence source_uri. Use explicit null for unknown
scalar fields and empty arrays for no findings.INVALID_INPUT; identify fields without echoing
sensitive content.AUTH_REQUIRED; provide that source's documented handoff. Use
AUTH_REVOKED only when the source confirms revocation. A generic 401 is not
proof of revocation. A 403/insufficient read scope is AUTH_FORBIDDEN; do not
retry or broaden scope.SOURCE_TIMEOUT; make at most one
read-only retry when the user-specified deadline permits. Never replace a
failed live read with mock or stale data while calling it live.Retry-After within the user deadline; otherwise stop as
SOURCE_TIMEOUT. Do not loop indefinitely.STALE_SOURCE as blocked unless the user
explicitly accepts the displayed timestamps for informational comparison.
Even then, preserve freshness_status: stale.UNSUPPORTED_OPERATION.Partial results use status: blocked, retain only source-backed partial arrays,
and include incomplete: true plus the applicable error. They must never be
presented as a successful complete comparison.
Default to concise Markdown in this order: basket summary, comparison target, provenance/freshness, matches, conflicts or stale assumptions, missing context, and a user-action checklist containing research questions only. When structured output is requested, emit JSON with stable key order and no extra keys:
{
"schema_version": "1.0",
"status": "ok",
"comparison_time": "2026-01-01T00:00:00Z",
"basket": {"basket_id": "example", "label": "Example", "underliers": []},
"target": {"label": "Research notes", "source_type": "user_provided"},
"sources": [],
"freshness_thresholds": {"market_hours": 24, "research_days": 30},
"matches": [],
"conflicts": [],
"stale_assumptions": [],
"missing_context": [],
"checklist": [],
"disclaimer": "This comparison is informational and not investment or trading advice."
}
Blocked output uses the same leading key order and contains no fabricated data:
{
"schema_version": "1.0",
"status": "blocked",
"incomplete": true,
"error": {"code": "AUTH_REQUIRED", "message": "Read-only Itô authentication is required.", "retryable": true},
"resume": {"originating_agent": "current", "completed_steps": []},
"disclaimer": "This comparison is informational and not investment or trading advice."
}
Allowed error codes are AUTH_REQUIRED, AUTH_REVOKED, AUTH_FORBIDDEN,
SOURCE_TIMEOUT, STALE_SOURCE, INVALID_INPUT, and
UNSUPPORTED_OPERATION.
Always end human-readable output with exactly:
This comparison is informational and not investment or trading advice.
tools
Query live GPU inventory, submit an authenticated Itô fixed-rate RFQ, inspect RFQ or procurement status, revoke device credentials, and run explicitly gated node qualification through the separately installed canonical CLI. Use when a user asks to find H100/H200 capacity, request a fixed compute rate, check Itô compute status, validate GPU nodes, revoke Itô access, or rent or purchase GPU compute and needs the supported boundary explained.
testing
Agent-driven scheduling and publishing of social media posts across 13 platforms via SocialClaw. Use when the user wants to publish to X, LinkedIn, Instagram, Facebook Pages, TikTok, Discord, Telegram, YouTube, Reddit, WordPress, or Pinterest — or when managing campaigns, uploading media, or monitoring post delivery status.
development
LLM APIの使用量のコスト最適化パターン — タスクの複雑さによるモデルルーティング、予算追跡、リトライロジック、プロンプトキャッシング。
tools
Use this skill when retrieving Jira tickets, analyzing requirements, updating ticket status, adding comments, or transitioning issues. Provides Jira API patterns via MCP or direct REST calls.