This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
Affected surfaces
Summary
AI summaryskill_metadata renamed to skill_preflight, adding a pre‑execution contract that surfaces an effectful footprint for approvers, and secured‑mode approval closure hardened.
Full changelog
The pre-execution contract is now first-class: an agent reads what a skill takes,
returns, requires, and touches before running it, and the human approver sees the
same effect footprint before signing.
skill_metadatarenamed toskill_preflight(clean rename, no alias — pre-
adoption window). The name teaches the timing: call it BEFORE executing or
composing. Its response carries the full contract —vars/returns/
requires+ the effectful footprint (connectors, builtins, shell binaries,
file-write / file-read / unsafe-shell / notify counts) — plus approval-gate
state and version/lifecycle.- The same contract mirrors onto every
skill_listentry (returns,
requires,effectful_footprint), so an agent reads a skill's whole I/O +
effect contract from one discovery call, no per-skill round-trip. Free — the
source is already parsed to build the entry. - Dashboard "What this skill touches" approver checklist. The skill detail
view renders the AST-derived effectful footprint — the same op enumeration the
capability gate authorizes — right at the approve action, so the operator sees
the surface they're signing, not a regex guess. - Secured-mode approval closure moved to the MCP handler (store-agnostic). The
"skill_write / skill_status can't grant approval without a valid signature"
guard now fires at the handler ingress, regardless of SkillStore substrate — a
custom adopter store can no longer persist a forgedApprovedstatus. Closes a
red-team finding (the per-store guard missed custom stores). The execute gate
always backstopped it; this stops the store from lying. - Adopter-finding fixes: one shared approval-key resolver (provisioning +
signing can't diverge); a loud stderr boot-log line when secured mode + passcode
are set but signing is unwired (reaches headless adopters who never open the
dashboard); gate-aware Skills-view badges; runtime version shown in the dashboard. - Workflow-teaching pass across the MCP tool descriptions — each tool teaches
where it sits in the author loop (learn → discover → draft → commit → approve →
run → automate → observe) and what comes next. - Docs overhaul: in-browser approval + footprint checklist in the playbook;
the approval/secured-mode env-var surface added to the configuration reference;
retired-v1-token and shipped-strict-filter corrections in the connector-contract
and sqlite-skill-store references; ARCHITECTURE rewritten to current reality;
README + index quickstart + default-deny config fixes.
Breaking Changes
- `skill_metadata` renamed to `skill_preflight` (no alias, immediate effect)
- Effectful footprint (`effectful_footprint`) now required in every `skill_list` entry
- Secured‑mode approval closure enforced at MCP handler ingress, preventing forged approvals from custom stores
Security Fixes
- Secured‑mode approval closure moved to MCP handler — closes red‑team finding where custom stores could persist forged `Approved` status (no CVE ID provided)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Skillscript
All releases →Related context
Related tools
Earlier breaking changes
- v0.35.0 Editing `# Deadline:` on an approved skill drops it to Draft (signature invalidates).
Beta — feedback welcome: [email protected]