Skip to content

Skillscript

v0.15.1 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agents dsl llm mcp skills workflow

Summary

AI summary

Updates Files changed, d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"execute_skill","arguments":{"skill_name":"hello-world"}}}' , and Tests across a mixed release.

Full changelog

Three small but high-DX fixes surfaced by the cold-adopter Phase 1 dogfood
against shipped v0.15.0. None are runtime correctness bugs — every probe
passed end-to-end. They're UX seams that read as "something's wrong with my
install" to a cold adopter discovering the package for the first time.

skillfile init now seeds the three Phase 1 demos into skills/

Pre-v0.15.1, init copied only hello-world.skill.md and only into
examples/. Adopters wanting to dispatch via execute_skill({name}) had
to manually cp from node_modules/skillscript-runtime/examples/skillscripts/
into $SKILLSCRIPT_HOME/skills/. Now init seeds all three Phase 1
demos directly into skills/:

  • hello-world.skill.md — baseline runtime check, no substrate
  • skill-store-roundtrip.skill.md — Lisp-shape $ skill_write demo
  • data-store-roundtrip.skill.md$ data_write + $ data_read round-trip

All three ship pre-stamped (# Status: Approved v1:<token>). After
skillfile init, execute_skill({skill_name: "hello-world"}) works
immediately — no manual seeding required.

skillfile init Next: hint points at the canonical MCP/dashboard path

Pre-v0.15.1, init printed:

Next:
  skillfile run examples/skillscripts/hello-world.skill.md

— a file-path execution that bypasses the SkillStore + the v0.9.0 hash-token
approval gate. Cold adopters following the hint ended up evaluating a
different code path than the canonical production flow. Now init prints:

Next:
  skillfile dashboard --host 0.0.0.0 --port 7878
  # Then dispatch a seeded demo via the MCP wire:
  #   curl -s -X POST http://localhost:7878/rpc \
  #     -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"execute_skill","arguments":{"skill_name":"hello-world"}}}' \
  #     | jq -r '.result.content[0].text' | jq

Aligns the hint with the documented production workflow: dashboard launches
the MCP server; in-skill dispatch goes through execute_skill({skill_name}).

node:sqlite ExperimentalWarning suppressed at the CLI entry

(node:XXXX) ExperimentalWarning: SQLite is an experimental feature ...
fired on every CLI invocation that touched sqlite (dashboard, serve,
execute against substrate-resident skills). To a cold adopter it read as
"something's wrong with my install." SqliteDataStore + SqliteSkillStore
are intentional substrate choices; the warning was noise, not signal.

Filtered at process.emitWarning at the CLI entry point — only the specific
SQLite ExperimentalWarning is suppressed; all other warnings pass through
to stderr unchanged. CLI-only — programmatic library consumers see the
warning unchanged so they can choose their own logging discipline.

Tests

  • tests/cli.test.ts — two new cases verifying init's post-v0.15.1 shape:
    seeds three demos with valid Approved+token headers; Next: hint matches
    the canonical dashboard + execute_skill pattern (and the old
    skillfile run examples/... shape is regression-guarded against
    reappearance).

Files changed

  • src/cli.tscmdInit seeds three demos into skills/; rewrites
    Next: hint; adds process.emitWarning filter for the SQLite warning.
  • scaffold/skills/{hello-world, skill-store-roundtrip, data-store-roundtrip}.skill.md
    (NEW) — pre-stamped scaffold payload mirroring examples/skillscripts/.
  • scaffold/examples/ (REMOVED) — folded into scaffold/skills/ since
    init now seeds the runnable location, not the browsable one.
  • tests/cli.test.ts — two new test cases (init seeds + Next: hint).
  • tests/dogfood-t7.test.ts — version assertion bumped 0.15.0 → 0.15.1.
  • package.json — version 0.15.0 → 0.15.1.
  • CHANGELOG.md — this entry.

Cold-adopter Phase 1 collapses

Post-v0.15.1, the Phase 1 cold-adopter briefing loses the manual cp step
entirely. The flow becomes: npm installskillfile init
skillfile dashboardexecute_skill({name}). Four commands, no manual
file shuffling, no spurious experimental warnings.

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

Track Skillscript

Get notified when new releases ship.

Sign up free

About Skillscript

All releases →

Related context

Earlier breaking changes

  • v0.35.0 Editing `# Deadline:` on an approved skill drops it to Draft (signature invalidates).

Beta — feedback welcome: [email protected]