Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Inspect the availability of model serving on a completed Itô compute booking and, when the canonical backend becomes available, hand off an explicitly confirmed serving manifest. Use after ito-compute has booked GPU nodes and the user asks for an OpenAI-compatible endpoint, ito-serve, hosted Kimi, or self-hosted open-weights inference. ECC implements no serving stack of its own.
.claude/skills/affaan-m-ito-inference/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -25% | 0% |
ito-inference is the sole canonical ECC skill for inference serving on Itô compute. Requests naming ito-serve route here; do not create or install a second ito-serve skill. ECC never SSHes to nodes, downloads weights, launches an engine, or exposes an endpoint; it never books, reserves, or spends.
Managed serving is unavailable today. The ECC bridge exposes only login, auth, find, status, and explicitly gated evals. It has no serve verb. The canonical runtime documents inference only as an unsupported compatibility probe; ECC does not invoke or depend on it. The MCP surface exposes only auth, find, and status. The locally enforceable guarantee is that ECC rejects serve before resolving or spawning the credential-bearing canonical client.
Therefore stop before authentication or any command invocation. Report the missing capability and return to the originating agent. Never substitute a local runner, SSH helper, browser workflow, purchase endpoint, or any untracked local ito-serve draft.
When serving is implemented, its first gate is a server-verified completed booking. Harness memory, an RFQ, a quote, node IPs, or SSH access are not proof of entitlement. The backend must return fresh serving eligibility bound to the authenticated account, booking, GPU topology, region, fabric, term, and model policy. Expired, revoked, mismatched, incomplete, or already-released bookings fail closed before confirmation.
The intended command name is serve; inference may remain only as an explicitly deprecated compatibility alias after the production contract lands. The future handoff must be equivalent to:
shecc ito serve \ --booking <server-verified-booking-id> \ --manifest <absolute-reviewed-json-file> \ --confirmation-ref <opaque-non-authorizing-reference> \ --idempotency-key <stable-retry-key> \ --json
The reviewed manifest must identify the model revision, engine and version, quantization, tensor/pipeline topology, endpoint exposure policy, artifact checksums, storage ceiling, runtime limits, optional TTFT/TPOT objectives, and maximum incremental cost. No raw API key, SSH key, node password, or bearer token belongs in arguments, manifests, logs, MCP results, or chat.
The client must canonicalize the manifest path, reject symlinks, open a regular file without following links, require appropriate ownership and restrictive permissions, enforce a bounded size, and hash bytes from the opened descriptor. That digest must exactly equal the digest bound into confirmation before any workload mutation. A path swap, digest mismatch, oversized file, or mutable unsafe file fails closed.
The canonical API—not ECC—must own workload creation and return structured JSON with ok, live_api_contacted, notice, and either data or error. Serving data must include stable booking, workload, manifest, and idempotency IDs plus a state enum; it must not claim an endpoint is live until health and model checks pass. Errors must include a stable code and safe message without secrets.
Before workload creation, require all of the following:
cost, with a short expiry and replay protection. CLI arguments carry only an opaque, non-authorizing confirmation reference; the server resolves and consumes the bearer capability out of band.
Authentication is identity, not workload authority. A login, API key, quote, or completed booking never substitutes for the serving confirmation. Inspection and plan generation must not create a workload. Cancel and cleanup are separate mutations with their own scoped confirmation and idempotency boundaries.
The production surface is incomplete until the same canonical client exposes tenant-scoped status, logs, metrics, cancel, and cleanup operations. Every operation needs bounded connect and overall timeouts, revocation-aware errors, and structured output. After an ambiguous transport failure, query status by the idempotency key before retrying; never create a second workload merely because the first response was lost. A revoked credential stops polling and returns control to the originating agent without starting login automatically.
Only report ready after endpoint health, model identity, and canary inference all pass. Report intermediate and terminal failure states honestly. Cleanup must be observable and must not release or modify the underlying booking unless that separate economic action was explicitly authorized.
These stages describe the future backend, not code that exists in ECC:
endpoint and redacted configuration.
Until every gate and lifecycle operation above exists in the canonical runtime, this skill remains a fail-closed availability check and documentation handoff.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 16,959 | 8,654 | -49% | 1 | 1 | 0% | 1,787 | 1,800 | +1% | 0 | 0 | — |
case-02 | fail→pass | 18,150 | 4,779 | -74% | 1 | 1 | 0% | 2,205 | 2,011 | -9% | 0 | 0 | — |
case-03 | pass→pass | 13,124 | 9,668 | -26% | 1 | 1 | 0% | 1,248 | 1,863 | +49% | 0 | 0 | — |
case-04 | fail→fail | 13,402 | 8,267 | -38% | 1 | 1 | 0% | 1,194 | 1,681 | +41% | 0 | 0 | — |
case-05 | pass→pass | 37,827 | 13,615 | -64% | 1 | 1 | 0% | 2,645 | 2,696 | +2% | 0 | 0 | — |
case-06 | fail→pass | 16,360 | 16,075 | -2% | 1 | 1 | 0% | 1,939 | 2,056 | +6% | 0 | 0 | — |
case-07 | fail→pass | 8,479 | 5,226 | -38% | 1 | 1 | 0% | 1,307 | 1,974 | +51% | 0 | 0 | — |
case-08 | fail→pass | 18,226 | 6,652 | -64% | 1 | 1 | 0% | 3,076 | 2,302 | -25% | 0 | 0 | — |
case-09 | pass→pass | 10,062 | 13,035 | +30% | 1 | 1 | 0% | 1,522 | 1,951 | +28% | 0 | 0 | — |
case-10 | fail→pass | 11,258 | 10,684 | -5% | 1 | 1 | 0% | 1,742 | 1,993 | +14% | 0 | 0 | — |
case-11 | fail→pass | 7,987 | 4,123 | -48% | 1 | 1 | 0% | 1,305 | 1,783 | +37% | 0 | 0 | — |
case-12 | pass→pass | 17,329 | 11,090 | -36% | 1 | 1 | 0% | 1,826 | 1,670 | -9% | 0 | 0 | — |
case-13 | fail→pass | 17,541 | 4,544 | -74% | 1 | 1 | 0% | 1,924 | 1,878 | -2% | 0 | 0 | — |
case-14 | pass→fail | 12,875 | 2,367 | -82% | 1 | 1 | 0% | 1,251 | 1,636 | +31% | 0 | 0 | — |
case-15 | pass→pass | 15,844 | 5,279 | -67% | 1 | 1 | 0% | 1,652 | 1,961 | +19% | 0 | 0 | — |
case-16 | pass→pass | 8,432 | 9,845 | +17% | 1 | 1 | 0% | 1,514 | 1,949 | +29% | 0 | 0 | — |
case-17 | fail→pass | 18,523 | 3,508 | -81% | 1 | 1 | 0% | 2,217 | 1,791 | -19% | 0 | 0 | — |
case-18 | fail→pass | 13,348 | 9,578 | -28% | 1 | 1 | 0% | 2,036 | 1,908 | -6% | 0 | 0 | — |
case-19 | pass→pass | 15,564 | 8,322 | -47% | 1 | 1 | 0% | 1,472 | 1,830 | +24% | 0 | 0 | — |
case-20 | fail→pass | 41,509 | 5,748 | -86% | 1 | 1 | 0% | 1,525 | 2,106 | +38% | 0 | 0 | — |
case-21 | fail→pass | 17,648 | 8,148 | -54% | 1 | 1 | 0% | 2,041 | 1,648 | -19% | 0 | 0 | — |
case-22 | fail→pass | 10,248 | 9,445 | -8% | 1 | 1 | 0% | 1,740 | 1,947 | +12% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.