Agent harness guide
Every agent harness type gets the same passive Cratis skills; only the install mechanics differ. This page walks each harness with the exact commands. Running several harnesses against the same repository is a separate topic: Multiple harnesses.
What every harness receives is identical in content: roughly fifty skills — a
SKILL.md plus references and assets per skill, no hooks, no executable code,
no MCP server. Skills are passive markdown; your assistant loads the matching
one from the task, or you invoke it by name.
| Harness | Install status |
|---|---|
| Claude Code | Installable today |
| OpenAI Codex | Installable today |
| GitHub Copilot | Installable today |
| Cursor | Installable today |
| Pi via npm | Published package today |
| Kiro, Junie, Gemini CLI | Pending per-host review |
All marketplace installs resolve the real skills/ directory on the
Cratis/AI default branch — what you install is exactly what a reviewer reads
(Cratis/AI#264).
Claude Code
Section titled “Claude Code”-
Add the Cratis marketplace:
/plugin marketplace add Cratis/AI -
Install the public plugin:
/plugin install cratis@cratis -
Verify: list installed plugins and confirm
cratisappears, then ask your assistant something Cratis-shaped (“add a projection for order events”) and watch it load the matching skill. -
Uninstall with
/plugin uninstall cratis@cratis. Skills are passive — nothing is left in your project.
Cratis maintainers install the maintainer bundle the same way:
/plugin install cratis-engineering@cratis. Grok and Junie read the same
Claude-compatible manifests.
OpenAI Codex
Section titled “OpenAI Codex”codex plugin marketplace add Cratis/AIcodex plugin install cratis@cratisThe plugin carries the whole public bundle. Uninstall reverses it.
GitHub Copilot / VS Code
Section titled “GitHub Copilot / VS Code”copilot plugin marketplace add Cratis/AIcopilot plugin install cratis@cratisList and remove work the same way (copilot plugin list,
copilot plugin uninstall cratis@cratis).
Cursor
Section titled “Cursor”Cursor resolves the same skills through its committed marketplace manifest
(.cursor-plugin/marketplace.json at the repository root) — add the
marketplace source in Cursor’s plugin settings and the skills appear. The
manifest carries the identical canonical skill bytes; there is no
Cursor-specific fork of the content.
Pi via npm
Section titled “Pi via npm”Pi installs ordinary npm packages. Today the published package is the
unsupported @cratis/ai-fundamentals 0.x evaluation — the Fundamentals
concept guidance, not the whole bundle:
# Project-scoped, exact pin recorded in .pi/settings.jsonpi install -l npm:@cratis/ai-fundamentals@0.10.0
# User-widepi install npm:@cratis/ai-fundamentals@0.10.0Commit .pi/settings.json after review; uninstalling removes the package and
touches nothing else.
Pending: Kiro, Junie, Gemini CLI
Section titled “Pending: Kiro, Junie, Gemini CLI”- Kiro — skills-only Agent Plugins 1.0 packaging is prepared and byte-identical; manifest delivery and host review are pending.
- Junie — the skills-only Junie extension is prepared; host review is pending.
- Gemini CLI — an isolated install/list/remove smoke has passed, but the host wants a manifest at the repository root and this repository’s root carries none, so there is no working install today.