Skip to content

v1.4.0

Latest

Choose a tag to compare

@sogeisetsu sogeisetsu released this 17 Oct 14:57

What's new

  • Our scripts now share two small helpers. One reads JSON that carries a BOM and writes it atomically (temp file, then rename over the target). The other re-runs a script with a proxy when your system has one. So all four network scripts respect a configured proxy, and a Node runtime that can't use one says so on stderr instead of looking like a network outage.
  • Agent discovery is more complete. scripts/discover-agents.mjs now reports mode, hidden, traits (worked out from the agent's description, name and mode, with known roles taking priority) and provenance.fetchedAt. Built-in names it skips show up under skippedBuiltins instead of disappearing, and the workflow now asks you about any entry that might be one of your own agents.
  • New flags: --include-builtin-names, --builtin and --extra-builtin for agent discovery, and --rebuild for the snapshot refresh.

Changed

  • Refreshes now write the snapshot safely. If the existing snapshot can't be parsed, the script stops with a clear message and leaves your file alone — including your remembered mode and cached scores. It used to quietly start from an empty cache. Use refresh-snapshot.mjs --rebuild to discard it on purpose.
  • The catalog fetcher and the snapshot summary use the shared helpers too, so what one script writes is what the next one expects.
  • The README version badge no longer drifts from the skill. The badge is generated from metadata.version in SKILL.md, and the doc check fails if the badge or either changelog disagrees — a 1.2.0 badge on a 1.3.0 skill can't return unnoticed.
  • Observer.md and observer.md behave the same now: known-role trait matching ignores case.
  • Run the three refresh commands one after another, never in parallel — they write the same snapshot.
  • The proxy warning now fires for every runtime below the version we verified (22.23.1), not only for major versions below 22.

Fixed

  • Reading a JSON file now treats only a missing file as "no file". A permission or sharing error is an error, so a snapshot that exists but can't be read is never replaced by a fresh one. And when an atomic replace fails — a file held open on Windows — the message names the path and says the previous file is intact, instead of a bare system error.

Full diff: v1.3.0...v1.4.0