@jabworks/condux
v0.28.0
Published
OpenCode plugin for the condux workflow toolkit — bundles the condux skills and injects the specialist agents (coder, explorer, planner, researcher) plus an opt-in plan-review listener.
Maintainers
Readme
@jabworks/condux
OpenCode plugin for the condux workflow toolkit. One plugin line installs everything condux needs:
- Skills — bundles the 14 condux workflow skills (
workflow,discovery,draft-plan,test-first-development,subagent-execution,subagent-deployment,finalize,live-verification,code-review,preflight,root-cause-analysis,plan-review,technical-spec,condux-doctor) and registers them onconfig.skills.pathsvia theconfighook — no separatenpx skills addstep. A skill you install yourself under the same name still wins; OpenCode dedupes by name. - Agents — injects the four condux specialist agents (
coder,explorer,planner,researcher) as subagents via the same hook, carrying the tool restrictions their canonical definitions declare:explorerandresearcherare read-only (noedit,write, orbash) andplannercannot run shell commands. If youropencode.jsonalready defines an agent with the same name, yours wins — injection is skip-if-present. - Plan-review listener (opt-in) — with
CONDUX_PLAN_REVIEW=1, when the primaryplanagent finishes a turn, spawns the plan-review annotate server (from the bundled skills, or any discoverable skill tree). Best-effort: OpenCode does not await event hooks, so this cannot block the next turn on the review outcome (unlike the Codex Stop hook).
Install
Add @jabworks/condux to your opencode.json and restart OpenCode:
// opencode.json
{
"plugin": ["@jabworks/condux"]
}That's the whole install — skills and agents come with the plugin. The other agentic-toolkit skills (git-commit, session-handoff, release, spec-browser, …) are not part of condux; install those separately if you want them:
npx skills add https://github.com/jabworks/agentic-toolkit/tree/main/dist/opencode/skills -a opencodeNotes
- Injected agents carry no model pin — they inherit your session default. To
restore the toolkit's tiering (e.g. a cheap model for
explorer), override inopencode.json:"agent": { "explorer": { "model": "anthropic/<model-id>" } }. - Restrictions are expressed as OpenCode
permissiondenials, not the deprecatedtoolsmap —toolsis folded into permissions while the config file is parsed, which is over before a plugin'sconfighook runs, so atoolsmap injected there has no effect. Only thebashandeditgates cross over (editcovers edit/write/patch). Read-side tools keep OpenCode's defaults, because the Claude allowlists omitGrep/Globwhile the prompts still expect to search — denying those would break the agents rather than constrain them. - The plan-review listener finds
plan-review/references/annotate-server.jsin the bundled skills first, then any discoverable skill tree (.opencode/skills/,.agents/skills/,.claude/skills/, or their global equivalents). - OpenCode caches npm plugins under
~/.cache/opencode/. If an upgrade seems to have no effect, clear that cache and restart OpenCode. - The
agents/andskills/trees are generated from the toolkit's canonical sources byscripts/build-opencode.mjs— edit the sources in the toolkit repo (skills/subagent-execution/agents/andskills/<name>/), not here.
