Skip to content

v0.2.1

Choose a tag to compare

@rizukirr rizukirr released this 26 Apr 07:51
· 85 commits to main since this release

Highlights

This release closes the auto-trigger gap that quietly broke the pipeline on long sessions: vibekit skills now have a deterministic priming layer (using-vibekit) that is auto-loaded on session start by every supported runtime. Pipeline skills can no longer be silently skipped — the trigger map is always in context, the 1%-chance rule is always enforced, and subagents have an explicit carve-out so the priming does not recurse.

The cross-runtime delivery is one source of truth (skills/using-vibekit/SKILL.md) with four adapter paths, mirroring the proven superpowers approach.

What's new

using-vibekit skill — auto-trigger discipline (priming layer)

A new 14th skill that is auto-loaded at session start, not user-invoked. It carries:

  • The 1%-chance rule: if there is even a 1% chance a vibekit skill applies, the agent MUST invoke it via the Skill tool.
  • The <SUBAGENT-STOP> carve-out: subagents dispatched with an RTCO brief skip the priming and follow only their brief. Prevents recursion and token waste.
  • The instruction priority order: user instructions > vibekit skills > default system prompt.
  • The auto-trigger map: explicit table mapping trigger conditions (e.g. "about to claim work is done") to the skill that MUST fire (verify-gate) for all 13 invocable skills.
  • Hard gates: no code before brainstorm-approved design; no "done" claim before verify-gate; no merge / push / PR before review-pack sign-off; no subagent dispatch without brief-compiler.
  • Anti-patterns: explicit list of rationalizations that are not allowed (e.g. "this is too simple to need brainstorm", "the diff is obviously right").

SessionStart hook (Claude Code, Cursor, Copilot CLI)

  • New hooks/hooks.json registers a SessionStart hook on startup | clear | compact.
  • New hooks/session-start (bash) reads skills/using-vibekit/SKILL.md and injects it as additionalContext so the priming is always loaded fresh after /clear or compaction.
  • Output branches by environment: Cursor (additional_context), Claude Code (hookSpecificOutput.additionalContext), Copilot CLI / SDK-standard (additionalContext). The Cursor branch is dormant scaffolding until a Cursor adapter ships.
  • .claude-plugin/plugin.json now declares "hooks": "./hooks/hooks.json".

Cross-runtime adapter delivery

Same using-vibekit body, four delivery paths — no duplicated prose.

  • Gemini CLI: GEMINI.md prepends @./skills/using-vibekit/SKILL.md so Gemini imports the priming before per-skill imports.
  • OpenAI Codex: .codex/INSTALL.md documents clone + symlink to ~/.agents/skills/vibekit. Codex auto-discovers skills under ~/.agents/skills/; using-vibekit's description ("Use when starting any conversation") makes it fire on session start.
  • opencode: New .opencode/plugin.json and .opencode/plugins/vibekit.js register the skills directory via the config hook (no symlink needed) and inject the priming into the first user message via experimental.chat.messages.transform. Idempotency guard checks for EXTREMELY_IMPORTANT + vibekit so vibekit can coexist with other priming-style plugins.
  • Claude Code / Cursor / Copilot CLI: SessionStart hook above.

Documentation

  • AGENTS.md now reflects the 14-skill plugin: using-vibekit introduced in the intro, added as a row in the skill table (flagged as not user-invoked), and the hooks/ repo-layout entry no longer says "reserved; no hooks yet".
  • CLAUDE.md is now a public Claude Code-specific contributor overlay on top of AGENTS.md. Covers the SessionStart hook behavior, the vibekit: skill prefix, the never-Read-a-SKILL.md rule, the Agent-tool subagent discipline (brief-compiler + report-filter), and the cross-runtime consistency checklist. Removed from .gitignore so it ships.
  • README.md updated: skill-count framing now reads "13 invocable skills + 1 auto-loaded priming layer"; new "Auto-trigger discipline" bullet under "What you get" describes the SessionStart hook and the four-runtime adapter delivery; Codex install consolidated at .codex/INSTALL.md (the duplicate docs/README.codex.md was removed and the README link updated).

Manifest alignment

All three runtime manifests now share an identical 7-stage pipeline description (previously two of them were missing isolate from the stage list):

  • .claude-plugin/plugin.json
  • gemini-extension.json
  • .opencode/plugin.json

Why this matters

Before this release, vibekit skills were discoverable (the harness saw them in the available-skills list) but auto-trigger was best-effort. On long sessions or after /clear, the model would silently skip guardrail steps — exactly the failure mode the plugin exists to prevent. The priming layer makes auto-trigger a contract, not a hope.

Compatibility

  • No breaking changes. All existing skills and the /vibe command behave identically.
  • No new dependencies for end users on Claude Code / Codex / Gemini.
  • opencode users get the @opencode-ai/plugin dev-dependency declared in .opencode/package.json; the plugin itself uses only Node built-ins (path, fs, os, url).
  • Cursor users: the SessionStart hook contains a Cursor branch, but no Cursor manifest ships yet. Cursor support is intentionally deferred.

Migration

Reinstall or restart your runtime. No config changes required.

  • Claude Code: restart, or trigger the hook explicitly with /clear.
  • Codex: re-clone or git pull in ~/.codex/vibekit; the symlink resolves automatically.
  • Gemini CLI: restart; the @-import in GEMINI.md loads the priming on session start.
  • opencode: restart; the plugin reloads via opencode.json.

Verification

You can confirm the priming is active by checking that the first context block in your session contains EXTREMELY_IMPORTANT and using-vibekit. On Claude Code, run vibekit-doctor for a structured health check.

Commits in this release

  • 3e6a1d8 feat(priming): add using-vibekit auto-trigger discipline + SessionStart hook
  • 0d766d7 feat(adapters): deliver using-vibekit priming to Codex, Gemini, opencode
  • e7e305c docs(agents): register using-vibekit and SessionStart hook
  • 51340ba docs(claude): add Claude Code contributor overlay
  • fe3d380 docs(readme): note auto-trigger priming, consolidate Codex install
  • f103a21 chore(release): bump version 0.2.0 → 0.2.1 across all manifests

Full Changelog: v0.2.0...v0.2.1