harness-compile

harness-compile is a skill for Claude Code, Codex from harnessprotocol/harness-kit. It costs 108 tokens per session (4,970 once invoked), scanned B, original, Apache-2.0.

A compiler that turns one harness.yaml file into configuration files for Claude Code, Cursor, GitHub Copilot, Codex, OpenCode, Windsurf, Gemini CLI, or JetBrains Junie.

In plain words
What is it for?
Use it to generate instruction files, MCP server settings, skill files, and permission settings for selected coding tools.
Why use it?
It lets you define shared instructions once instead of writing separate settings for every AI coding tool.

Skill for Claude CodeCodex

Part of the harness-share plugin — 5 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/harnessprotocol/harness-kit/harness-compile
Any agent
npx skills add harnessprotocol/harness-kit --skill harness-compile
Clone the repo
git clone --depth 1 https://github.com/harnessprotocol/harness-kit

Made for: Claude Code, Codex.

Or install harness-share, the plugin that ships this one along with the rest of its 5 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for harness-compile

README.md
[![agentmods](https://agentmods.dev/badge/skills/harnessprotocol/harness-kit/harness-compile.svg)](https://agentmods.dev/skills/harnessprotocol/harness-kit/harness-compile)
Your own site
<a href="https://agentmods.dev/skills/harnessprotocol/harness-kit/harness-compile"><img src="https://agentmods.dev/badge/skills/harnessprotocol/harness-kit/harness-compile.svg" alt="Measured on agentmods" height="20"></a>
Per session 108 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,970 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00108 $0.04970
Opus 5 $0.00054 $0.02485
Sonnet 5 $0.00022 $0.00994
Haiku 4.5 $0.00011 $0.00497

Measured 4d ago against content hash 62017ed1d1b5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

harness-compile scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

**Codex and Windsurf do not get a project-level MCP file written.** Codex configures MCP servers via its own `~/.codex/config.toml`, a TOML format this compiler doesn't generate; Windsurf's MCP config is global (`~/.code
plugins/harness-share/skills/harness-compile/SKILL.md · 398 lines

How it starts

The opening of the file, as written. The whole thing — 398 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Compile a Harness Configuration

You are compiling a harness.yaml file into native configuration files for one or more AI coding tools. Each target tool gets its own idiomatic output: instruction files, MCP server configs, skill files, and permission settings.

This skill implements the Harness Protocol compiler mapping defined at harnessprotocol.ai. The output is deterministic — the same harness.yaml always produces the same files.

The 8 supported targets: claude-code, cursor, copilot, codex, opencode, windsurf, gemini, junie. The last five (Codex, OpenCode, Windsurf, Gemini CLI, Junie) all read operational instructions from a single shared AGENTS.md file at the project root — see Step 3 for how that sharing works.

Workflow Order (MANDATORY)

Follow these steps in order. Do not skip any step.


Step 1: Find harness.yaml

Check for the harness file in this order:

  1. A path provided by the user after /harness-compile (e.g., /harness-compile ~/dotfiles/harness.yaml)
  2. ./harness.yaml in the current directory

If no file is found at either location, tell the user:

"No harness.yaml found. Specify a path: /harness-compile path/to/harness.yaml"

Read and parse the file. Extract metadata.name (use default if absent). Extract version to confirm v1 format. Note the instructions.import-mode value (default: merge if not specified).

If version is absent, is the integer 1 (legacy format), or is any value other than the string "1", stop and tell the user: "This harness.yaml uses an unsupported format. Run /harness-validate to check the file and see upgrade instructions."

Also check for any flags the user passed:

  • --target <targets> — comma-separated subset of claude-code, cursor, copilot, codex, opencode, windsurf, gemini, junie, or all for every target
  • --dry-run — preview output without writing any files
  • --clean — remove orphaned marker blocks in addition to current update
  • --verbose — show skipped slots and extra detail in the compilation report

Read the full file on GitHub · 398 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 398 lines · 108 tokens per session scan B 62017ed1d1b5

Subscribe to this mod's changes

harness-compile is a skill published in the GitHub repository harnessprotocol/harness-kit (10 stars, last pushed today), licensed Apache-2.0. It adds 108 tokens to every session and 4,970 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

llm-wiki

Build and maintain an LLM-curated personal knowledge base — the "LLM Wiki" pattern from Andrej Karpathy's April 2026 gist. Use this skill whenever the user wants to ingest a source (paper, article, transcript, PDF, notes) into a persistent compounding knowledge base, ask a question against accumulated notes, lint or…

praneybehl/llm-wiki-plugin · 221 tokens

studio

Architecture Studio control plane — initialize or inspect a studio workspace, create and register projects, or route an architecture/AEC task to the right agent or skill. Use when the user runs /as:studio, asks to set up or open their studio, manage its projects, or describes a task without naming a skill.

AlpacaLabsLLC/skills-for-architects · 65 tokens

product-image-processor

Download, resize, and remove backgrounds from product images at scale. Use when the user asks to "process product images", batch-download images from the schedule, strip backgrounds, or standardize product photos.

AlpacaLabsLLC/skills-for-architects · 45 tokens

tool-catalog

Show the available Architecture Studio skills and their host-appropriate commands, plus Claude Code's native Architecture Studio agents. Use when the user invokes tool-catalog, asks "what can you do" or "what skills are available", or wants a directory of plugin commands. Do not use for a host's native skill-list…

AlpacaLabsLLC/skills-for-architects · 69 tokens

cesiumjs-imagery

CesiumJS imagery layers - ImageryProvider, ImageryLayer, ImageryLayerCollection, WMS, WMTS, Bing, OpenStreetMap, ArcGIS, Mapbox, tile discard policies. Use when adding or swapping base map layers, configuring imagery providers, layering multiple map sources, or creating split-screen imagery comparisons.

CesiumGS/cesiumjs-skills · 73 tokens

studio-feedback

Prepare a user-reviewed Architecture Studio bug report or feature request for GitHub. Use when the user runs /as:studio-feedback, says "report a bug", "this skill broke", "send feedback", or requests a feature. Do not use for Claude Code's native /feedback command.

AlpacaLabsLLC/skills-for-architects · 61 tokens