Skip to content

v2.33.0

Choose a tag to compare

@mrbro-bot mrbro-bot released this 07 Jul 01:26
· 482 commits to main since this release
142c090

What's new

Features

Skills discovered from user and project locations can now surface as /slash commands, not just as model-invocable tools (#592, 142c090). A new discovery pass (src/lib/discovered-skills.ts) walks the same six roots OpenCode itself uses to find skills — global ~/.claude and ~/.agents, project .claude/.agents directories walked up to the worktree root, and .opencode config dirs — applying upstream's own last-write-wins precedence (.opencode beats .claude/.agents beats global) so the command that wins matches what OpenCode's skill tool would resolve. Discovered skills are gated behind a skills_as_commands toggle (on by default): model-invocable skills get a one-line shim that loads the skill via the native skill tool with $ARGUMENTS passed through as data, while command-only skills (those with model-invocation disabled) get the SKILL.md body inlined directly. Each generated command carries a (Systematic - Skill) ownership marker so re-runs stay idempotent and any user-defined command with the same name always wins. A follow-up review pass tightened the drop predicate for orphaned commands, honored user-invocable: false parity with bundled skills, bounded the discovery walk so it never climbs past the worktree root when there's no git root, and filled in precedence and edge-case test coverage.

Continuous Integration

PRs targeting the long-lived v3 branch now get the full check suite and Fro Bot review: v3 was added to the pull_request.branches filter across the main, fro-bot, and CodeQL workflows (#584, 268e996). Push triggers stay scoped to main, so the release job still never runs against v3 — work in progress there can't accidentally trigger a publish.

Documentation

Plan housekeeping this cycle: a future-dated plan artifact (dated 2026-07-13, a week ahead of when it was written) was corrected to 2026-07-06, with its internal date, origin, and superseded_* cross-references fixed to match (#591, 75187a3). Separately, stale v3-adjacent plan statuses were reconciled: the removed-name config-safety plan had been left marked executed-pending-pr despite having shipped in #534 (v2.32.0), so it's now marked completed with provenance, and an older v3-compatibility-cleanup plan was marked superseded by the newer v3-cleanup-release brainstorm, with superseded_at/superseded_reason frontmatter added for consistency with other superseded plans (#583, c02a0dfd).

Code Refactoring

The two worst noExcessiveCognitiveComplexity offenders in the codebase, validateFieldExamples (cognitive complexity 41) and extractFrontmatter (cognitive complexity 25), were split into file-local helper functions while preserving exact behavior, ordering, and exported signatures (#582, 77fbd7f). Repo-wide complexity warnings dropped from 6 to 4.

Also in this release

  • deps: Update fro-bot/agent to v0.83.1 (#589) and v0.83.0 (#581); update bfra-me/.github to v4.16.34 (#588).

Compare

v2.32.2...v2.33.0