Skip to content

v3.1.0

Choose a tag to compare

@mrbro-bot mrbro-bot released this 17 Jul 23:25
· 455 commits to main since this release
ed2fda2

What's new

Harness-portable skills — the using-systematic bootstrap and its dependent skills now describe capability resolution in neutral terms instead of assuming OpenCode-specific primitives, so the same skill bodies can run correctly on other harnesses (starting with Pi).

Features

feat(skills): harness-portable skills — capability profiles, neutral spine, identifier gate (#653) implements the B′-thin portability increment (plan 2026-07-16-001):

  • Two capability profiles (OpenCode, Pi) live under using-systematic/references/, covering the four capabilities that diverge across harnesses: subagent delegation, blocking user interaction, task tracking, and skill loading. Both are inlined into the controlled bootstraps via BootstrapDeps.profileBlock inside the existing <SYSTEMATIC_WORKFLOWS> zone, snapshot-pinned and double-run idempotent.
  • using-systematic was migrated to neutral capability-resolution routing, dropping the two OpenCode-specific routing lines now that the bootstrap carries the harness binding.
  • orchestrating-subagents was structurally rewritten to neutral delegation language — all task( and subagent_type occurrences (12 and 8, respectively) were removed while preserving the substance of the skill.
  • The blocking-question idiom gained a Pi binding at 24 sites across 16 skills, and ce-review's internally drifted site was normalized to match.
  • A new content-integrity check (#13) bans harness-specific identifiers in migrated-skill bodies (flagged via the harness-portability: neutral-v1 metadata marker). The check is fence-aware, exempts profile files inside fences, and exempts the sanctioned idiom parenthetical.
  • New Pi harness proof scenarios cover profile presence and cross-profile absence, migrated-skill activation payload scans, and sequential-delegation markers.
  • HARNESSES.md is a new evidence-backed harness registry: every tool name maps to in-repo lines, cloned/installed source, or an authoritative URL, with unverified capabilities explicitly marked. The profiles and AGENTS.md are cross-linked to it, and it now ships in the npm package alongside the profiles that reference it.
  • The skill registry was regenerated (73 components).

Follow-up commits in the same PR hardened the work against ce:review findings: isMigratedSkill now keys off the harness-portability marker only (closing a path where unrelated non-string metadata could disable check #13), the idiom exemption is identifier-aware so only blocking-question identifiers are exempt on sanctioned lines, a 9th banned pattern (backtick question) was added per the plan spec, and readHarnessProfile now emits a stderr diagnostic on read failure without ever throwing. A portable bootstrap-snapshot fix normalizes the resolved skills directory to a <SKILLS_DIR> placeholder so the pinned bootstrap bytes stay machine-independent, and a docs fix stops the unit suite from silently downgrading configuration.mdx's $schema example from v3 to v2 on every local run — the generator test now runs against a temp copy and asserts the repo file is untouched.

Also in this release

  • dev: update OpenCode to v1.18.0 (#652)
  • deps: update fro-bot/agent to v0.93.1 (#650)

Compare

v3.0.3...v3.1.0