Skip to content

vibesubin 0.3.3

Choose a tag to compare

@subinium subinium released this 16 Apr 00:16

vibesubin 0.3.3 — codex-fix correctness patch + translation cleanup.

⚠ What 0.3.2 shipped broken

codex-fix was advertised in 0.3.2 as "post-edit loop that invokes /codex:rescue". The SKILL.md instructed Claude to "invoke /codex:rescue" and embedded the prompt inside a plain-text code block starting with /codex:rescue .... That did not actually work. Slash-command text inside an LLM's response body is just a text string — it does not execute the slash command and does not dispatch the Codex plugin. The skill was instructions to write slash-command text, not instructions to invoke it.

On top of that, codex-fix's frontmatter allowed-tools omitted Task, so even if the skill had known the right dispatch mechanism, it would not have been allowed to use the tool that performs it.

Anyone who tried /codex-fix in 0.3.2 would have seen Claude generate a response containing /codex:rescue ... as text — which is a no-op. No Codex invocation, no findings, no fix loop. Apologies.

What 0.3.3 fixes

Invocation mechanism. codex-fix now invokes the Codex rescue subagent via the Task tool with subagent_type: "codex:codex-rescue" — the actual Claude Code plugin dispatch mechanism for agent-to-agent calls. The templated review prompt (security / correctness / performance / resource management / concurrency categories) is unchanged; only the dispatch mechanism is fixed.

allowed-tools frontmatter. Task, Bash(ls *), and Bash(test *) are now declared. Without them, the skill could not call the subagent or run the filesystem-based plugin-presence check.

Host-check detection paths. Step 1 now documents two paths:

  1. Primary — inspect the available-subagents list. Claude Code populates the available-subagents list at session start from installed plugins. The skill checks whether codex:codex-rescue appears as a valid subagent_type. If yes, proceed.
  2. Secondary — filesystem check. test -d "$HOME/.claude/plugins/codex" as a fallback for cases where the primary path is ambiguous.

Neither path triggers an error on a non-matching host; both just fall through to the graceful one-line fallback that exits cleanly.

Things-not-to-do warning. A new bullet explicitly warns future maintainers: "Don't write /codex:rescue ... as plain text in a response." It references this release so the 0.3.2 regression does not come back.

Transient-failure handling. Step 3 now specifies what to do if the Task call itself fails mid-call (subagent disabled, Codex CLI timeout, unexpected error): emit a one-line failure message and stop — do not retry automatically.

Also fixed

Translation cleanup. README.ja.md and README.zh.md skill-table trigger examples for codex-fix were in Korean in 0.3.2 (「codex 돌려서 고쳐줘」 etc.) — my 15-edit parallel translation batch copied Korean text across without per-language localization. Replaced with Japanese and Chinese equivalents:

  • README.ja.md line 59: 「Codex でチェックして直して」, 「codex fix」, 「run codex and fix」
  • README.zh.md line 59: "用 codex 跑一遍再修", "codex fix", "run codex and fix"

Korean prose polish. README.ko.md § 10 gained two minor fixes: "의도된 유일한""의도적으로 유일한" (less translated feel), and "소리내서 에러나지 않아요""시끄럽게 에러를 뱉지도 않습니다" (more idiomatic).

Who needs this update

  • Claude Code + Codex plugin users who tried /codex-fix on 0.3.2: yes, update immediately. 0.3.2's codex-fix was broken. 0.3.3 actually works.
  • Everyone else: update at your convenience. The refactor-verify review-driven fix mode (portable engine) and all other 0.3.2 features are unchanged. This release only touches codex-fix/SKILL.md, three READMEs, the CHANGELOG, and the version manifests.

The full CHANGELOG is at CHANGELOG.md.