Harness Alchemist
Native Rust CLI · MIT · macOS / Linux / Windows · x64 / arm64

One scaffold.
Five agent harnesses.

Harness Alchemist uses a fast native Rust CLI to generate one TypeScript plugin repository for Claude Code, Codex/ChatGPT, OpenCode, Google Antigravity, and DeepSeek Harness. Skills declare one portable contract; @lunarmoon26/agent-skill-runtime powers the thin host adapters that execute it.

npx harness-alchemist@latest create my-plugin … See it installed everywhere ↓ Shared runtime ↗
~/Workspace
$ npx harness-alchemist@latest create my-plugin \
    --description "What the plugin does" \
    --author "Example Team" --repository example/my-plugin
Created universal plugin scaffold at ~/Workspace/my-plugin
Next: cd my-plugin && npm install && npm run verify

$ cd my-plugin && npm run verify
✔ Native Rust validation passed
✔ Shared runtime adapters passed
✔ Universal npm payload audited

Install-tested, not just scaffolded

Every install path below was exercised against real CLIs before shipping in the template. Skills load natively where possible; OpenCode and DeepSeek mount the npm package as their runtime.

Claude Code native

Marketplace plugin with bundled skills.

claude plugin install my-plugin@my-plugins

Codex native

Marketplace snapshot, headless CLI install.

codex plugin add my-plugin@my-plugins

OpenCode npm

Shared runtime maps portable tool manifests into V2 plugin tools.

"plugins": ["my-plugin"]

Antigravity native

Nested skill bundle validated by agy.

agy plugin install ./my-plugin

DeepSeek Harness cordis

Shared runtime registers Cordis tools through cordis.patch.yml.

dsh plugin --profile web add my-plugin

Skills declare; the shared runtime executes

Each product skill owns a skill-runtime.json manifest with its fixed executable, portable JSON schemas, limits, and capabilities. @lunarmoon26/agent-skill-runtime discovers that contract, validates every call, and executes the skill behind thin host adapters.

skills/<name>/scripts/main.mjs
// one JSON object in…
const request = JSON.parse(stdin)

// …one JSON result out
stdout.write(JSON.stringify({
  ok: true,
  plugin: "my-plugin",
  echo: request,
}))
// non-zero exit + stderr on failure
src/opencode.ts — runtime adapter
import { Plugin } from "@opencode/plugin"
import { createSkillRuntime } from
  "@lunarmoon26/agent-skill-runtime"

const plugin = Plugin.define({
  id: "my-plugin",
  async setup(ctx) {
    const runtime = await createSkillRuntime({ pluginRoot })
    await ctx.tool.transform((editor) => {
      // add tools from runtime.listTools()
    })
  },
})

export default plugin
// DeepSeek uses the same contract via /deepseek

Rust-fast validation without project-code execution

npm run verify gates every change with Rust and TypeScript checks, runtime tests, scaffold validation, and staged npm-package audits. The native CLI parses Python syntax with Ruff but never executes untrusted project Python during structural validation.

Native CLI — Rust
$ harness-alchemist validate .

Agent Skills frontmatter
SKILL.md reference resolution
portable runtime manifests
Python syntax via Ruff
cross-harness consistency
npm distribution — no postinstall
harness-alchemist
└── optional dependency
    └── native binary for this OS + CPU

macOS    x64 · arm64
Linux    x64 · arm64 · static musl
Windows  x64 · arm64