---
title: Harness Plugin
description: Drive CORAL from Claude Code or Codex without memorizing the CLI — skills + a SessionStart install check.
---


Inside Claude Code or Codex the agent can already run `coral` via Bash. The plugin doesn't *execute* coral for you — it teaches the agent **when and how**: a set of skills for the two workflows that happen *outside* a run (authoring a task, operating a run), plus a `SessionStart` hook that checks `coral` is installed and points the agent at the right skill.

It is **skills-first and multi-harness, with no MCP** — the capability is text guidance plus a Bash call, mirroring [obra/superpowers](https://github.com/obra/superpowers). The plugin lives in the repo under [`plugin/`](https://github.com/Human-Agent-Society/CORAL/tree/main/plugin): one shared `skills/` directory, a per-harness manifest (`.claude-plugin/`, `.codex-plugin/`), and per-harness `hooks/` configs. The marketplace manifest sits at the repo root (`.claude-plugin/marketplace.json`) so `owner/repo` discovery works.

## Skills

| Skill | Use when |
|---|---|
| `coral-quickstart` | "what is coral?", "should I use coral?", or `coral` isn't installed yet |
| `setting-up-coral` | one-time machine setup — register runtimes as bindings (`coral setup`, `coral agents doctor`) |
| `creating-a-coral-task` | author a task — `coral init` → edit grader/seed → `coral validate` |
| `running-coral-experiments` | run/manage a run — `coral start / status / log / show / resume / stop` |

The **in-run eval loop** (`coral eval`) is intentionally not a skill: every in-run agent already reads it from the generated `CORAL.md`, so a skill would duplicate it. `coral-quickstart` folds in the thin pointer.

These are for people in **their own** harness who want to drive CORAL. They are distinct from the repo's `.claude/skills/` (`coral-new-task`, `coral-debug`, `coral-extend`), which target contributors editing CORAL itself.

## Install — Claude Code

```
/plugin marketplace add Human-Agent-Society/CORAL
/plugin install coral@coral-marketplace
```

Or from a local checkout: `/plugin marketplace add .` then the same install. On session start the hook checks `coral` is on PATH and injects a short context block — an install hint if it's missing, or which-skill-for-what if it's present. Validate the manifest locally with `claude plugin validate ./plugin`.

## Install — Codex

Codex (v0.117.0+) has a git-backed plugin marketplace, mirroring Claude Code. The repo ships a Codex marketplace at `.agents/plugins/marketplace.json`:

```
codex plugin marketplace add Human-Agent-Society/CORAL
codex plugin add coral@coral-marketplace
```

The plugin's `.codex-plugin/plugin.json` wires the shared `skills/` and the Codex SessionStart hook. Invoke skills with `$coral-quickstart` or let Codex match by description.

As a lighter alternative without the marketplace, Codex also discovers skills from filesystem dirs (it follows symlinks): `ln -s /abs/path/to/CORAL/plugin/skills/* ~/.agents/skills/`. That route skips the hook — paste `plugin/AGENTS.md` into your `AGENTS.md` instead.

## Other harnesses

Cursor, OpenCode, and Kimi follow the same shared-`skills/` + per-harness-manifest layout — the skill text is harness-agnostic. Add a `.cursor-plugin/` / `.opencode/` / `.kimi-plugin/` manifest pointing at `./skills/` as support grows; no skill content changes needed.

## Publishing

"Published" is per-harness, and only Claude Code has a public target today. **Self-hosting works now** with no submission: anyone can `/plugin marketplace add Human-Agent-Society/CORAL` and install. The relative `"source": "./plugin"` resolves against the repo root after Claude clones it, so the subdirectory layout publishes fine.

To list in the **community marketplace** (`@claude-community`), submit through the in-app form (claude.ai directory submissions, or the Console form for individuals) after `claude plugin validate ./plugin` passes; approved plugins are pinned to a commit SHA and synced nightly. The separate `claude-plugins-official` marketplace is curated by Anthropic with no submission process.

Codex (v0.117.0+) has its own git-backed marketplace (`.agents/plugins/marketplace.json`), so the plugin is installable today with `codex plugin marketplace add Human-Agent-Society/CORAL`; self-serve publishing to the official Codex Plugin Directory is "coming soon" per OpenAI. Cursor, Kimi, and OpenCode have no public registry yet — distribute via filesystem routes. Nothing publishes automatically: pushing to the repo does not register the plugin anywhere; a user adds the marketplace, or you submit to a directory.
