OptionalmodelEXPLICIT model preference list (OpenRouter ids), cheap→capable — the opt-out path. OR declare NEEDS via
modelProfile/modelPrefer/modelRequire and let @suluk/models pick the best CURRENT model (a skill
declares what it needs, not a frozen id). Structural-only — never read by the matcher (C027 seam to @suluk/models).
Optionalmodela named selection profile resolved against the model catalog (@suluk/models).
Optionalmodelescape-hatch preference weights (0-3) over the 4 author-facing axes.
Optionalmodelexplicit hard requirements the author adds (beyond what's derived from the agent + the context analyzer). zdr
(C030, verified 2026-06-13): require zero-data-retention serving — enforced at runtime via the router's
provider:{zdr:true} (which combines with openrouter/auto, confirmed by a live probe), since we have no
per-model ZDR fact to pin against; so a zdr skill resolves to the ROUTER, and conflicts with a region/license
operator policy that forces a pin.
OptionalmodelHow the model is RESOLVED from the survivor set (C030): pinned (default) — a concrete reproducible id; router
— delegate the per-request pick to OpenRouter's auto-router fenced by our enumerated survivor allowlist (opt-in,
UNGOVERNED skills only — a governed skill declaring router fails loud at contract time); latest — a ~-latest
alias (defers the version to request time; NOT reproducible). The switch is governance-gated: an operator-policied
agent force-pins for reproducible, auditable behavior. Author surface only; never read by the matcher.
Optionaltierstatic serving partition: resident (default tools/list) vs cold-tail (revealed via discover_tools).
Optionalwhenrouting-oriented precondition prose (runtime-advisory; never a request-value selector — D1).
Optionaltrustauthor-declared (trusted) vs retrieved (untrusted) content (a retrieved skill may not escalate scope/provenance).
OptionalscopeOptionalprovenancesingle source of truth + staleness binding (SKILL.md is generated from source, hashed to detect drift).
A SKILL within an agent — an instruction bundle (the LLM tier). PRESENCE of
modelis what makes this a skill (the system-text path) rather than a deterministic route. Skill text is a PROVENANCE POINTER (source URL + content-hash + version), not inlined mutable prose: the served instructions are the single source of truth and a projected SKILL.md is GENERATED from it, the content-hash binding making drift tool-detectable and fail-loud.