Releases: rizukirr/vibekit
v0.4.0
debug-recovery
This release adds debug-recovery, vibekit's pipeline failure branch and a standalone debugging skill. It brings the plugin to 15 skills (14 invocable + the auto-loaded using-vibekit priming layer).
Until now the vibe pipeline modelled only the happy path — brainstorm → plan → isolate → exec → verify → review → integrate. There was no disciplined response for when something fails. debug-recovery fills that gap: it stops the line, proves a root cause from verbatim evidence, and routes the fix back through the existing gates without ever editing code itself.
New skill: debug-recovery
Triggers
- Pipeline failure branch — fires when
verify-gatereturnsnot satisfied/partial, or anexec-dispatchtask fails its test/build. - Standalone — fires when you report a bug, a failing test, a broken build, or ask "why is this failing" outside a vibe run.
- Precedence — it fires after a gate has already produced a failure; it consumes that failure and never pre-empts a passing
verify-gate.
The 8-step stop-the-line procedure
- STOP — no new features, no speculative edits.
- PRESERVE — capture the error/log/repro verbatim (never-compress).
- REPRODUCE — make the failure reliable; otherwise document conditions.
- ISOLATE — binary-search the diff/history to the smallest culprit.
- HYPOTHESIZE — state the root cause as a falsifiable claim with evidence.
- CONFIRM — dispatch exactly one fresh, read-only subagent that tries to refute the root cause (bounded to 3 re-hypothesis cycles, then escalate).
- ROUTE — small fix →
exec-dispatch; structural fix →plan-write. - GUARD — the routed fix must carry a regression test that fails pre-fix.
Design guarantees
- Never edits code. Diagnosis is the product; the fix flows through the existing gates, preserving the "no code without a brief/plan" discipline on the unhappy path too.
- Evidence before diagnosis. No root cause is asserted without a quotable artifact; error messages, stack traces, test output, diff hunks, and the confirmation verdict are never compressed.
- Single fresh-context confirmation, mirroring
exec-dispatch's read-only plan-compliance reviewer — no new heavyweight adversarial machinery. - Cross-runtime capability gate. Requires one fresh-context subagent dispatch; on Gemini/Pi it degrades to in-session self-refutation with a verbatim degradation warning, never a silent skip.
- Structured diagnosis report (
status,failure,reproduction,root_cause,evidence,confirmation,fix_route,guard_test) returned throughreport-filterin-pipeline or surfaced to the user standalone.
Cross-runtime registration
skills/debug-recovery/SKILL.md— new canonical source (one source, five delivery paths).skills/using-vibekit/SKILL.md— two new auto-trigger-map rows (failure branch + standalone).AGENTS.md— skill-table row; plugin count bumped 14 → 15.GEMINI.md—@-include for the new skill.- Manifests auto-discover via the
skills/glob; the 7-stage pipeline descriptions are intentionally unchanged (debug-recoveryis off-pipeline).
Versioning
- All runtime manifests aligned to
0.4.0, fixing pre-existing drift (manifests were at0.3.2, marketplace at0.3.0, npm package at0.3.3).
Validation
verify-gate: ready — every requirement satisfied with verbatim evidence; surgical-diff blast-radius audit returned clean (zero orphans).review-pack: 0 blocks, signed off.- Live eval: PASS (happy path) — driven against a real planted bug, the skill walked all 8 steps, performed a genuine fresh-context confirmation dispatch, routed to
exec-dispatchwith a guard test, and left the code untouched. The Gemini/Pi degraded fallback is statically verified (warning text + fallback present); a live run on those hosts remains an open follow-up.
Upgrade notes
- After updating, refresh the installed plugin cache so
vibekit:debug-recoverybecomes invocable via the Skill tool.
Full changelog: v0.3.3...v0.4.0
v0.3.3
Summary (v0.3.2 -> v0.3.3)
This release focuses on packaging and installation-path correctness across Codex, Pi, and OpenCode.
Highlights
- Added npm publication-ready package metadata and file allowlist for runtime assets.
- Prepared OpenCode installation docs for npm-first usage, with a git fallback path.
- Clarified Pi installation guidance by removing npm install instructions until registry publish is available.
- Fixed Codex plugin packaging/discovery flow and aligned README installation commands.
- Added project funding metadata.
Commit Range
- bd2bb51 Create FUNDING.yml
- 772991c fix(codex): align plugin manifest with Codex spec
- f6b31e1 fix(codex): make vibekit discoverable via marketplace add
- 22351ef docs(readme): switch Codex install to plugin add flow
- cd0eaee Avoid misleading Pi install paths before npm publication
- f28096e Prepare npm distribution so Pi and OpenCode can install from one package
v0.3.2
This release ships two pipeline-skill features plus cross-runtime install consolidation. v0.3.1 was an internal manifest bump and never tagged; this release covers everything since v0.3.0.
Highlights
plan-writepremortem step — every plan now includes a four-category adversarial sweep (hidden assumptions, irreversible steps, spec-misalignment, verify-clause weakness) before user review.NEEDS_INPUThalt-and-resume — dispatched subagents can pause on genuine ambiguity (spec interpretation OR missing context) instead of guessing or failing. Bounded by a hard budget cap of 2 halts/task and a question-quality contract enforced byreport-filter.- Install-doc layout consolidated — pi install guide moved into
.pi-plugin/INSTALL.md; redundantdocs/README.gemini.mdfolded intoINSTALL.gemini.md. Each runtime now has exactly one install doc co-located with its plugin manifest.
Features
plan-write premortem step (v0.3.1 internally)
Adds a new `## Premortem` section to every plan, sibling to `## Self-review` and run after it. The author performs a fixed four-category adversarial sweep:
- Hidden assumptions — does the plan trust something it shouldn't (an external API, a runtime invariant, a data shape)?
- Irreversible / risky steps — what's expensive to undo (migrations, deletions, manifest edits, lockfile changes)?
- Spec-misalignment — where could the user say "that's not what I asked for" (requirements with two reasonable interpretations)?
- Verify-clause weakness — where does success and failure look the same ("test passes" on an empty test, "endpoint returns 200" on a stub)?
Each category produces bulleted ` — ` lines. Risks the author cannot mitigate inline are tagged `BLOCKING RISK:` and surfaced to the user at the existing review gate. The premortem itself never halts — it produces the section and proceeds to user review.
The `## Premortem` section persists in the plan file, available to downstream skills (`exec-dispatch`, `verify-gate`, `review-pack`) as additional context. Downstream gating on the section is deferred to a future change.
Files touched: `skills/plan-write/SKILL.md` (+79 lines, additive), 5 manifests bumped to 0.3.1.
`NEEDS_INPUT` halt-and-resume (v0.3.2)
Adds a third structured return path to `exec-dispatch` subagents. Today a dispatched subagent has two return paths: a successful task report or a `report-filter` REJECT (re-format only, never re-run). When a subagent hits genuine mid-task ambiguity, it must guess (silent drift) or fail (full rollback + re-dispatch from scratch) — both expensive.
`NEEDS_INPUT` is the cheap third path:
- Trigger boundary: spec-ambiguity OR missing-context only. Environment, tooling, test, and dependency failures remain task failures.
- Return shape: discriminated union on a top-level `status` field (`complete | needs_input`). Variant B carries `blocking_step`, `ambiguity_type`, `question`, `tried`, `options`, `recommendation`, and `rolled_back`.
- Question-quality contract: `report-filter` rejects vague returns (`tried: "n/a"`, single-option `options`, missing `?` in question, `recommendation` not referencing an option label).
- Budget cap: at most TWO halts per task across re-dispatches. A third halt escalates as a task failure with a verbatim user-facing message — the plan or brief is structurally broken.
- Resume mechanism: fresh subagent, augmented brief. The user's answer is folded into the next dispatch's CONTEXT block; partial work is mandatorily rolled back before the halt return.
- User surface: verbatim wrapper template that signals "this is a NEEDS_INPUT halt, distinct from a normal exec-dispatch question or a task failure".
Files touched: `skills/brief-compiler/SKILL.md` (+29), `skills/report-filter/SKILL.md` (+22), `skills/exec-dispatch/SKILL.md` (+84), 5 manifests bumped to 0.3.2.
Cross-skill consistency: the discriminated-union schema, four CONSTRAINTS bullets, REJECT messages, wrapper template field set, and budget-cap value are byte-identically aligned across the three skills — enforced by a manual cross-skill audit checklist run at review-pack time. Open question: `vibekit-doctor` C14 automation deferred to a future change.
Documentation
- Move `docs/INSTALL.pi.md` → `.pi-plugin/INSTALL.md`. Each runtime's install doc now lives in its own plugin directory (`.opencode/INSTALL.md`, `.codex-plugin/INSTALL.md`, `.pi-plugin/INSTALL.md`). Gemini's `INSTALL.gemini.md` remains at repo root because Gemini loads `gemini-extension.json` from root, not a subdir. README.md updated to reflect the new path. Resolves the "install-doc location pattern split four ways" nit from the prior pi-runtime-adapter review.
- Drop redundant `docs/README.gemini.md`. Folded its unique content (`gemini extensions link .` for local dev) into `INSTALL.gemini.md`. Single source of truth per runtime.
Breaking changes
None. Both features are additive:
- Plans written before v0.3.1 lack a `## Premortem` section; `exec-dispatch` does not require one.
- Subagents returning the existing schema (without a `status` field) are accepted as `status: "complete"` by `report-filter` for one minor version (backwards-compat fallback to be dropped at the next major).
Upgrade
Reinstall via your runtime's plugin command. Versions across all five runtime adapters bumped 0.3.0 → 0.3.2:
```
.claude-plugin/plugin.json v0.3.2
.codex-plugin/plugin.json v0.3.2
.opencode/plugin.json v0.3.2
.pi-plugin/plugin.json v0.3.2
gemini-extension.json v0.3.2
```
Full commit log
```
$(git log --oneline v0.3.0..v0.3.2)
```
v0.3.0
Highlights
- Pi (
@mariozechner/pi-coding-agent) is now a fully supported fifth runtime. All 14 vibekit skills, the/vibeslash command, and theusing-vibekitauto-trigger priming are delivered to pi via a tiny pi extension that injects the canonical priming body into every agent turn's system prompt. Install withpi install git:github.com/rizukirr/vibekit. - OpenCode now exposes every vibekit skill as a slash command. All pipeline skills are reachable via
/<name>in the OpenCode editor without any extra glue. - Cross-runtime parity hardened. Three new
vibekit-doctorchecks (C11/C12/C13) enforce that the pi adapter stays in sync with the canonical sources; pre-existing version drift between Codex/marketplace and the rest of the manifests has been swept up to a single 0.3.0.
What changed
New: Pi runtime adapter
.pi-plugin/plugin.json— internal manifest for vibekit-doctor's parity checks (mirrors.opencode/plugin.json/gemini-extension.jsonshape)..pi-plugin/extensions/vibekit-prime.ts— async pi extension that registers abefore_agent_starthandler. Readsskills/using-vibekit/SKILL.mdonce at load and appends it (framed in<EXTREMELY_IMPORTANT>) toevent.systemPromptevery turn, so pi users get the same auto-trigger priming as Claude Code's SessionStart hook delivers..pi-plugin/prompts/vibe.md—/vibeslash command for pi (uses pi's native$ARGUMENTSsyntax, identical body tocommands/vibe.md).package.jsonpikey — registers vibekit as a pi package:pi.skills→./skills,pi.prompts→./.pi-plugin/prompts,pi.extensions→./.pi-plugin/extensions.keywordsincludespi-package.docs/INSTALL.pi.md— end-to-end install guide (Prerequisites / Install / Verify / Troubleshooting / Uninstall).
New: OpenCode slash commands
.opencode/commands/{vibe,brainstorm-lean,plan-write,brief-compiler,exec-dispatch,report-filter,verify-gate,review-pack,finish-branch,isolate,memory-dual,ralph-loop,vibekit-doctor}.md— every vibekit skill is now a first-class slash command in the OpenCode editor (no manual symlink, no extension toggle)..opencode/INSTALL.mdupdated with the new command-discovery guidance.
vibekit-doctor (C11–C13)
- C11 — pi-manifest-present. Asserts
.pi-plugin/plugin.jsonparses and thatpackage.jsoncarries thepikey withskills/prompts/extensionsarrays. - C12 — pi-extension-canonical-source. Greps
.pi-plugin/extensions/vibekit-prime.tsfor the literalskills/using-vibekit/SKILL.mdpath — drift guard against the extension being refactored away from the canonical source. - C13 — pi-prompt-stages-match. Extracts every
[N/7]token from bothcommands/vibe.mdand.pi-plugin/prompts/vibe.mdand demands set-equality on{[1/7]…[7/7]}. .pi-plugin/plugin.jsonadded to the C3 required-manifest list.- "Cross-runtime portability" list now includes Pi.
Cross-runtime documentation sweep
Eight runtime-enumerating prose locations were updated so every count, table, and bullet list now reflects five runtimes with Pi included:
CLAUDE.md— "five delivery paths";.pi-plugin/added to the cross-runtime trigger list; manifest-parity bullet now names all five plugin.json files.AGENTS.md— opening agent enumeration includes OpenCode and Pi; Repository layout has.pi-plugin/;using-vibekittable row lists pi'sbefore_agent_startadapter; "Non-Claude runtime specifics" acknowledges Codex/Gemini/OpenCode/Pi as shipped.README.md— supported-runtimes sentence bumped from four to five; auto-trigger-discipline paragraph lists pi's adapter; new### Piinstall subsection.skills/using-vibekit/SKILL.md— "How to access skills" gains a Pi entry.skills/ralph-loop/SKILL.md— capability-gate table and cross-runtime portability list both include Pi (degraded checkpoint mode — pi has no native autonomous loop).skills/exec-dispatch/SKILL.md— parallel-group capability-gate table gains a Pi row (sequential fallback; pi has no parallel subagent dispatch primitive).skills/memory-dual/SKILL.md— "all four CLIs" → "all five CLIs"; pi added (memory-dual is pure file I/O, universally portable).skills/_authoring/quad-adapter.md— body bumped to five runtimes (filename retained for backlink stability); pi rows added to the runtime table, capability matrix, and detection signals.
Manifest version-and-description normalization
All seven manifests are now on 0.3.0:
package.json,.claude-plugin/plugin.json,.opencode/plugin.json,gemini-extension.json(were on0.2.1).codex-plugin/plugin.json,.claude-plugin/marketplace.jsonplugin entry (were on0.2.0— pre-existing drift, swept up by this release).pi-plugin/plugin.json(new in this release)
The Codex "execute" / "and integrate" description wording remains pre-existing drift — flagged in the run's review document for a separate normalization pass.
Documentation artifacts
The full vibekit pipeline ran on this work and produced verifiable evidence:
- Spec —
docs/specs/2026-04-29-pi-runtime-adapter-design.md(status: approved) - Plan —
docs/plans/2026-04-29-pi-runtime-adapter.md(10 tasks, TDD-shaped, all checked) - Verification —
docs/verifications/2026-04-29-pi-runtime-adapter.md(vibekit-doctor strict: 11 ok, C11/C12/C13 all ok, no functional skills modified) - Review —
docs/reviews/2026-04-29-pi-runtime-adapter-review.md(0 block, 3 warn, 2 nit; user signed off after one fix iteration covering the consistency sweep + 3 follow-up rows)
Upgrade
For Pi users: pi install git:github.com/rizukirr/vibekit. See docs/INSTALL.pi.md.
For existing Claude Code / OpenCode / Codex / Gemini installs: git pull (manifest-only changes; nothing breaking, no migration needed).
Diff: ~+1,595 / -29 across 33 files in 41 commits. Changelog: v0.2.1...v0.3.0
v0.2.1
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
Skilltool. - 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.jsonregisters a SessionStart hook onstartup | clear | compact. - New
hooks/session-start(bash) readsskills/using-vibekit/SKILL.mdand injects it asadditionalContextso the priming is always loaded fresh after/clearor 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.jsonnow declares"hooks": "./hooks/hooks.json".
Cross-runtime adapter delivery
Same using-vibekit body, four delivery paths — no duplicated prose.
- Gemini CLI:
GEMINI.mdprepends@./skills/using-vibekit/SKILL.mdso Gemini imports the priming before per-skill imports. - OpenAI Codex:
.codex/INSTALL.mddocuments 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.jsonand.opencode/plugins/vibekit.jsregister the skills directory via theconfighook (no symlink needed) and inject the priming into the first user message viaexperimental.chat.messages.transform. Idempotency guard checks forEXTREMELY_IMPORTANT+vibekitso vibekit can coexist with other priming-style plugins. - Claude Code / Cursor / Copilot CLI: SessionStart hook above.
Documentation
AGENTS.mdnow reflects the 14-skill plugin:using-vibekitintroduced in the intro, added as a row in the skill table (flagged as not user-invoked), and thehooks/repo-layout entry no longer says "reserved; no hooks yet".CLAUDE.mdis now a public Claude Code-specific contributor overlay on top ofAGENTS.md. Covers the SessionStart hook behavior, thevibekit:skill prefix, the never-Read-a-SKILL.mdrule, theAgent-tool subagent discipline (brief-compiler+report-filter), and the cross-runtime consistency checklist. Removed from.gitignoreso it ships.README.mdupdated: 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 duplicatedocs/README.codex.mdwas 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.jsongemini-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
/vibecommand behave identically. - No new dependencies for end users on Claude Code / Codex / Gemini.
- opencode users get the
@opencode-ai/plugindev-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 pullin~/.codex/vibekit; the symlink resolves automatically. - Gemini CLI: restart; the
@-import inGEMINI.mdloads 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
3e6a1d8feat(priming): add using-vibekit auto-trigger discipline + SessionStart hook0d766d7feat(adapters): deliver using-vibekit priming to Codex, Gemini, opencodee7e305cdocs(agents): register using-vibekit and SessionStart hook51340badocs(claude): add Claude Code contributor overlayfe3d380docs(readme): note auto-trigger priming, consolidate Codex installf103a21chore(release): bump version 0.2.0 → 0.2.1 across all manifests
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Vibekit grows from a 10-skill pipeline into a 13-skill plugin with cross-cutting durable state, an autonomous-driver peer to /vibe, parallel-group dispatch, and a four-axis authoring discipline. Backward-compatible — no skill renames, no removed operations; only additive surface plus internal discipline tightening.
Highlights
/ralph-loop <intent>— bounded autonomous re-runs of/vibewith a blocker classifier and thrashing critic. Same gates, samereview-packsign-off, no shortcuts.memory-dual— durable project knowledge under.vibekit/memory/. Atomic facts and compound documents in one storage convention, plus a working notepad. Keyword + tag + type search;[[key]]cross-links; audit pass.vibekit-doctor— cross-runtime health diagnostic. Skill files, runtime registrations,.vibekit/health,docs/subdirs, authoring contracts. Read-only by default;--fixfor safe repairs.- Parallel-group dispatch — fused into
exec-dispatch. Plans opt into parallelism via<!-- parallel-group: <name> -->markers with mandatory rationale and disjoint-files invariant. - Karpathy-aligned discipline — four behavioral principles (Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution) injected across the pipeline at multiple enforcement points.
- Four-axis authoring contract — PEG (substance) + Karpathy (behavior) + Caveman (style) + Quad-Adapter (cross-runtime portability) under
skills/_authoring/.
New skills
| Skill | Role |
|---|---|
memory-dual |
Durable project knowledge — atomic facts, compound documents, working notepad — under one file-backed convention. Operations: read, query, list, write, supersede, delete, classify, audit. Default classify verdict is surface: none to prevent dump-style overfilling. |
vibekit-doctor |
Health check across 10 categories (skill files, runtime registrations, plugin manifests, docs/ subdirs, .vibekit/ health, authoring contracts, external/ integrity, skill-count consistency, hooks hygiene, git state). Verbatim YAML output for CI parseability. |
ralph-loop |
Autonomous-driver peer to /vibe. Bounded persistence loop with classifier (retry-task / re-plan / escalate) and thrashing critic. Halts on block_finding, escalate, thrashing, or any budget exhaustion. Never bypasses review-pack sign-off. |
Karpathy injection points (cross-cutting)
Four principles, four-layer redundancy on the most safety-critical ones:
| Principle | Enforcing skills (in pipeline order) |
|---|---|
| 1. Think Before Coding | brainstorm-lean — Pushback turn before approaches |
| 2. Simplicity First | review-pack — Pass 4, in Reflexion checklist |
| 3. Surgical Changes | brief-compiler → exec-dispatch → review-pack Pass 5 → verify-gate Step 3b (RTCO CONSTRAINTS → per-task Gate-1 → review detection → fail-closed verification) |
| 4. Goal-Driven | plan-write (→ verify: clause mandatory) → vibe post-plan gate → exec-dispatch step 1a |
Parallel-group dispatch
Plans opt into parallelism per group, not per task:
<!-- parallel-group: ui-pieces
rationale: ThemeToggle, ThemeMenu, ThemeProvider have disjoint Files sections -->
### Task 2: ThemeToggle component → verify: ThemeToggle.test.tsx passes
### Task 3: ThemeMenu component → verify: ThemeMenu.test.tsx passes
### Task 4: ThemeProvider context → verify: ThemeProvider.test.tsx passes
<!-- /parallel-group -->exec-dispatch enforces files-disjoint, no-ordering-dependencies, no-shared-installs invariants before fanning out. Plans that fail invariants are rejected, not best-effort dispatched.
Cross-runtime portability (quad-adapter contract)
skills/_authoring/quad-adapter.md is the new authoring contract for runtime-coupled skills. Every such skill ships:
- A capability matrix — required primitives × per-runtime support.
- A documented fallback for every "no" cell.
- A verbatim degradation warning — never compressed, never silently skipped.
Concrete results in v0.2.0:
| Capability | Claude Code | Codex | Gemini CLI | opencode |
|---|---|---|---|---|
Parallel subagent dispatch (exec-dispatch) |
native | native | sequential fallback w/ warning | provider-dependent |
Native loop primitive (ralph-loop) |
native | native | degraded checkpoint mode w/ warning | degraded checkpoint mode w/ warning |
Phase 1 / 2 stability fixes (also in this release)
brainstorm-lean: pushback turn added; never-compress list expanded.plan-write: mandatory→ verify:per-task clause; optionalparallel-groupmarkers; self-review items added.brief-compiler: RTCO CONSTRAINTS template ships three surgical-change rules in every dispatched brief.exec-dispatch: step 1a verify-clause gate; Gate-1 self-review checks the verify criterion is observably met; surgical constraints inherited per-task.review-pack: passes 4 (Simplicity) and 5 (Surgical-diff) added;block-severity findings halt the handoff.verify-gate: Step 3b surgical-diff self-consistency pass; orphans listed verbatim in the Repo-level checks; ready-verdict rule updated.vibe: post-plan gate now checks→ verify:clauses and parallel-group integrity before advancing.
Documentation
README.md— refreshed for 13 skills; intro reframed as "discipline-first vibe-coding plugin" with token-efficiency scoped precisely (per feature, not per session).INSTALL.gemini.md— gains "Configure context file" section with copy-pasteable minimumGEMINI.mdlisting all 13 skills. Closes the onboarding gap caused byGEMINI.mdbeing gitignored as per-user local context.AGENTS.md— skill table and skill count updated.
Internal cleanup
wiki-dual(briefly shipped, then merged) — collapsed intomemory-dualafter a Karpathy "Simplicity First" audit found the two skills shared 90% storage convention, discipline, and callers. One unified surface, one storage path, one classify pass.- Stale references swept across
peg-cheatsheet,quad-adapter,CLAUDE.mdship-order, and Karpathy injection map.
Manifests bumped
.claude-plugin/plugin.json.claude-plugin/marketplace.json.codex-plugin/plugin.jsongemini-extension.jsonpackage.json
Upgrade notes
No skill renames, no removed operations, no behavioral changes for users of /vibe. Existing plans, specs, verification reports remain valid. Three reasons to upgrade:
- The pipeline is more honest about defects (Karpathy
block-severity surgical-diff and simplicity passes). /ralph-loopremoves the manual click between iterations on long verify-fix cycles.memory-dualandwiki-dual-style content now share one file-backed surface — durable project knowledge that survives across runs.
20 commits since v0.1.0; 25 files changed; ~1,400 lines added across skill prose and authoring contracts.
v0.1.0
Updated v0.1.0 to the latest commit with Codex + Gemini integration improvements.
What's new since initial v0.1.0
- Added native Codex packaging support:
.codex-plugin/plugin.jsondocs/README.codex.md- README updates for Codex install flow
- Added native Gemini CLI extension support:
gemini-extension.jsonGEMINI.mdcommands/vibe.tomldocs/README.gemini.md
- Added canonical Gemini fetch-and-follow installer doc:
INSTALL.gemini.md
- Updated README installation sections to cover Claude Code, Codex, OpenCode, and Gemini CLI.
Current install entrypoints
- Codex:
docs/README.codex.md - Gemini:
INSTALL.gemini.md - OpenCode:
.opencode/INSTALL.md
Notes
- Guardrail-first workflow and 10-skill vibekit pipeline remain intact.
- This release note supersedes the original v0.1.0 announcement content.