Claude Code First, specification version 0.1.0. The plain-language guide

Version 0.1.0. Level profile. Best evidence grade R3/S4.

AP-5 A capability for agents with a shell may land as a command

Where the agents that consume a capability have a shell, a product MAY offer it as a command-line verb rather than as an MCP tool, keeping MCP tools for clients without a shell and for input that is a structured document a served schema validates.

FieldValue
KeywordMAY
Levelprofile
Checkedby judgement
FindingsF8, F4
Harness factsH9
Threatexternal: a harness release decides how much of a tool list a session is sent
Statusactive

Rationale: Shio shipped three capabilities as CLI verbs and not as tools, because "a tool schema is paid on every turn of every session (P3) and a coding agent has a shell" [shio@821f18d74:docs/CHANGELOG.md#L392] (F8, R2/S2), and the cost it names is the tool-list size Shio and roadkeep measured and held by a gate (F4, R3/S4). A verb costs context only when it runs. The scope is the evidence's. Shio's own first law still puts MCP first for clients without a shell, and winwright serves MCP tools because its input is a structured document whose schema refuses a mistyped key, after agents typed flag names from memory; the rule excludes that input rather than being lowered for it. It stands at MAY, one level below the SHOULD that F8's grade admits, because the harness disputes the cost the choice avoids: with tool search on by default, not every tool definition is sent up front (H9), the same dispute that holds IS-6 below its finding. F8 has one origin, as freewilly's "CLI first" is a stated copy of Shio's. A measurement of what a tool list costs a session under tool search would settle whether it should rise. For a tool list a project serves to its own agent, IS-6 holds the list's size whichever way this choice goes.