EveryInc/compound-engineering-plugin · warning

Skipping ${tool.name}: not implemented.

Error message

Skipping ${tool.name}: not implemented.

What it means

During install, a target that is not implemented (implemented:false or missing handler) is skipped with this warning instead of failing the install. Install shares the convert pipeline; stubbed providers cannot produce an installable bundle. Other detected, implemented targets still install.

Source

Thrown at src/commands/install.ts:128

        if (activeTargets.length === 0) {
        console.log("No installable AI coding tools detected. Use native plugin install for Claude Code, Copilot, Droid, oh-my-pi (omp), OpenCode, Pi, and Qwen.")
          return
        }

        console.log(`Detected ${activeTargets.length} installable tool(s):`)
        for (const tool of detected) {
          if (tool.detected && !targets[tool.name]?.implemented) {
            console.log(`  - ${tool.name} — native plugin install; skipped`)
            continue
          }
          console.log(`  ${tool.detected ? "✓" : "✗"} ${tool.name} — ${tool.reason}`)
        }

        for (const tool of activeTargets) {
          const handler = targets[tool.name]
          if (!handler || !handler.implemented) {
            console.warn(`Skipping ${tool.name}: not implemented.`)
            continue
          }
          const bundle = handler.convert(plugin, options)
          if (!bundle) {
            console.warn(`Skipping ${tool.name}: no output returned.`)
            continue
          }
          const root = resolveTargetOutputRoot({
            targetName: tool.name,
            outputRoot,
            codexHome,
            piHome,
            pluginName: plugin.manifest.name,
            hasExplicitOutput,
          })
          const writeScope =
            tool.name === "opencode" ? resolveOpenCodeWriteScope(hasExplicitOutput, undefined) : undefined
          await handler.write(root, bundle, writeScope)

View on GitHub (pinned to c9c10f8c75)

Solutions

  1. Upgrade the converter CLI to a version implementing the target.
  2. Install only implemented targets by narrowing the target/--to selection.
  3. Check the ✓/✗ detected-targets listing and ignore the ✗ stub.
  4. Contribute the writer in src/targets/<provider>.ts if you need it now.

Example fix

// before
bun install --also gemini   // gemini stub -> 'Skipping gemini: not implemented.'
// after
bun install --to opencode    // implemented target installs
Defensive patterns

Strategy: validation

Validate before calling

const h = (targets as Record<string, { implemented?: boolean }>)[tool.name];
if (!h?.implemented) console.warn(`${tool.name} not installable; upgrade CLI or skip`);

Prevention

When it happens

Trigger: Running install where an active/detected target's handler is missing or has implemented:false in the targets registry.

Common situations: Installing to all detected agent CLIs on a machine where one provider is still stubbed in the installed CLI version; outdated global install of the converter; probing support for a provider before its release.

Related errors


AI-assisted analysis of EveryInc/compound-engineering-plugin@c9c10f8c75 (2026-08-31). Data as JSON: /api/errors/e207864448244561. Report an issue: GitHub.