Back to home@lunarmoon26

harness-alchemist

One scaffold, five agent harnesses — portable coding-agent plugins for Claude Code, Codex, OpenCode, Antigravity, and DeepSeek Harness.

Stars
0
Language
JavaScript
Created
Aug 23, 2026
Updated
Aug 24, 2026

Introduction

Harness Alchemist logo

The universal scaffold for coding-agent plugins. One repository, five harnesses, skills that own their runtime.

Npm package for Harness Alchemist License: MIT CI status for Harness Alchemist

Follow @haochuanzero on X for updates · Start from the one-page tour.


Harness Alchemist scaffolds one TypeScript plugin repository that installs natively into Claude Code, Codex/ChatGPT, OpenCode, Google Antigravity, and DeepSeek Harness/Cordis. Product skills ship behavioral .mjs/.py script twins; every harness entrypoint is a thin adapter that delegates to them.

Install

npm install -g harness-alchemist
# or run it without installing:
npx harness-alchemist@latest create my-plugin --help

Requires Node.js 22.20+ (Bun 1.2+ also supported). Zero runtime dependencies.

Quick start

npx harness-alchemist@latest create my-plugin \
  --description "What the plugin does" \
  --author "Example Team" \
  --repository example/my-plugin

cd my-plugin && npm install && npm run verify

Creation only writes to a missing or empty destination. The generated project passes its own gate out of the box: TypeScript checks, runtime delegation tests, scaffold validation, and an npm-payload audit.

What you get

SurfacePurpose
skills/<name>/Agent Skills spec skill with .mjs/.py script twins under scripts/ and a tool-contract reference
src/opencode.tsOpenCode plugin registering tools that spawn the skill scripts
src/deepseek.ts + cordis.patch.ymlCordis function plugin providing a service over the same scripts
.claude-plugin/, .codex-plugin/, .agents/plugins/, plugin.jsonNative manifests for Claude Code, Codex, and Antigravity marketplaces
.agents/skills/develop-<name>/Repository-maintenance skill so agents can develop the project recursively
.github/workflows/CI plus tag-triggered publish (vX.Y.Z → verify → npm provenance)

Supported harnesses

Install paths below are verified against real CLIs before shipping in the template.

HarnessSkillsRuntimeInstall
Claude Codebundled nativelyclaude plugin install <name>@<marketplace>
Codex/ChatGPTbundled nativelycodex plugin add <name>@<marketplace>
OpenCodevia ~/.agents/skills/npm package hooks"plugin": ["<package>"] in opencode.json
Google Antigravitynested bundleagy plugin validate . && agy plugin install .
DeepSeek Harnessprofile filesystem rootsCordis service plugindsh plugin --profile demo add <package-or-path>

Skill script contract

Product skills own their logic; adapters never do.

echo '{"request": "hello"}' | node skills/<name>/scripts/main.mjs
# {"ok":true,"plugin":"my-plugin","echo":{"request":"hello"}}
  • One JSON object on stdin, one JSON result plus newline on stdout.
  • Non-zero exit with a stderr diagnostic on failure.
  • scripts/main.py is a stdlib-only behavioral twin of scripts/main.mjs.

Validation tiers

npm run validate always enforces Agent Skills frontmatter compliance, SKILL.md reference resolution, and twin parity. With the optional pyodide devDependency installed, Python entrypoints are additionally compiled and smoke-executed inside a WebAssembly CPython sandbox — no native Python required.

Release automation

# bump package.json version, then:
npm run sync && npm run verify && git commit -am "Release vX.Y.Z" && git push
git tag vX.Y.Z && git push origin vX.Y.Z   # publishes automatically

License

MIT