skillscript-runtime v0.23.0
Upgrade impact: none (additive). One thing to know: the new tier-2 lint can surface a pre-existing wrong-arg-name in an existing skill (it was always wrong; it just failed at dispatch before). Tier-2 is a warning — it never blocks compile or execution.
Authoring a skill against an MCP connector tool used to be guess-and-run: the runtime called the connector's tools/list but kept only tool names, discarding the argument schema. Now it retains the schema and puts it to work — without bloating agent context (schemas are surfaced selectively, never dumped).
- Connector-aware input lint.
lint_skillvalidates$ <connector>.<tool> arg=...argument names against the tool'sinputSchema: an unknown arg ($ ddg.search querry=...) isunknown-connector-argand a missing required arg ismissing-required-connector-arg, both tier-2. The schema is warmed on demand via a read-onlytools/list(protocol introspection — not a tool dispatch, so it crosses no effect boundary) with a short timeout; a connector whose schema isn't reachable degrades to today's arg-agnostic behavior (no false positives). Runs entirely server-side — the schema never enters agent context. - Selective schema fetch.
runtime_capabilities({ tool: "<connector>.<tool>" })returns that one tool's full descriptor (name, description,input_schema) on demand. The default response stays the compact menu (tool names) — pull the manual only for the tool you're about to call. skill_preflightsurfaces tool contracts. For the connector tools a skill actually calls, preflight now reports each tool's input schema and — once any approved run has dispatched it — its last-observed output shape (keys + types), so an author knows what-> Rbinds before running.- Observed-output-shape capture. A
$ connector.tooldispatch records the shape (keys/types, not values) of the value the skill binds, keyed byconnector.tool, in an operator-local cache under~/.skillscript/. Once any approved skill runs a tool, later authors see its return shape. Privacy-first (no values); independent of trace mode. - Respects
allowed_tools. Every discovery surface honors the per-connectorallowed_toolsgate — a tool the operator gated off is never surfaced or validated against. - Adopter note: custom
McpConnectorclasses may implement the optionaldescribeTools()method to light up the same discovery + lint; bundled HTTP/remote connectors provide it. A connector without it simply contributes no schema (graceful).