Harness
A meta-skill for Claude Code that turns a domain description into an agent team and the skills it uses, using six team-architecture patterns
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- It generates agent definitions, skills and a CLAUDE.md pointer, that is configuration and instructions, rather than performing external actions
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/harnessDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal in the project folder
npx skills add revfactory/harness --skill harness -a claude-code -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit cceac68
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .claude/skills
cp -R "$tmp/skills/harness" .claude/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add revfactory/harness --skill harness -a cursor -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit cceac68
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .agents/skills
cp -R "$tmp/skills/harness" .agents/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add revfactory/harness --skill harness -a github-copilot -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit cceac68
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .github/skills
cp -R "$tmp/skills/harness" .github/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add revfactory/harness --skill harness -a codex -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit cceac68
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .agents/skills
cp -R "$tmp/skills/harness" .agents/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add revfactory/harness --skill harness -a gemini-cli -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit cceac68
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .agents/skills
cp -R "$tmp/skills/harness" .agents/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .devin/skills
cp -R "$tmp/skills/harness" .devin/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Formerly Windsurf.
Run in a terminal in the project folder
npx skills add revfactory/harness --skill harness -a cline -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit cceac68
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .cline/skills
cp -R "$tmp/skills/harness" .cline/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add revfactory/harness --skill harness -a roo -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit cceac68
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .roo/skills
cp -R "$tmp/skills/harness" .roo/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
A fork of Roo Code, same .roo folders.
Run in a terminal in the project folder
npx skills add revfactory/harness --skill harness -a opencode -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit cceac68
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .agents/skills
cp -R "$tmp/skills/harness" .agents/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .agents/skills
cp -R "$tmp/skills/harness" .agents/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/revfactory/harness.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/harness/
git -C "$tmp" checkout cceac68ea1d0ad198ef4b7b906cd238375836387
mkdir -p .agents/skills
cp -R "$tmp/skills/harness" .agents/skills/harnessCommands for macOS and Linux, on Windows run them in Git Bash.
Install the plugin: /plugin marketplace add revfactory/harness, then /plugin install harness@harness-marketplace. Enable CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 and say "build a harness for this project".
Other ways from the author
/plugin marketplace add revfactory/harness
/plugin install harness@harness-marketplaceFor agent teams mode enable CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.
This is third-party code. Review the repository files before installing.
What it does
Harness runs on the Claude Code agent teams system and, from a single sentence about your domain, designs a team of specialized agents plus the skills they need. It moves through six phases: domain analysis, team-architecture choice, agent definitions in .claude/agents/, skill generation in .claude/skills/, orchestration wiring, and validation. It picks the architecture from six patterns: pipeline, fan-out and fan-in, expert pool, producer and reviewer, supervisor, and hierarchical delegation. A pointer to the setup is written into CLAUDE.md so the team boots on its own in a new session, and after each run the team can be rebuilt or extended. Two run modes are available: agent teams by default and plain subagents for one-off tasks.
Who it is for. For developers and product managers who want a project-specific agent team instead of wiring each agent by hand.
Good fit when
- The task splits into several roles and you need a coordinated agent team
- You need to quickly generate agent definitions and skills for a new domain
- You already have a harness and want to extend, rebuild or check it for drift
Not a fit when
- The task is one-off and a single agent handles it without role splitting
- You are not on Claude Code: the official runtime is Claude Code only for now
Example request
Build a harness for this project: a full-stack web team with design, frontend, backend and QALimitations
The official runtime is Claude Code only. The default agent teams mode needs the experimental agent teams flag enabled (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1). Harness produces agent definitions and skills but does not do their work for them, and the result depends on how precisely you describe the domain.
How to disable. Remove the harness plugin via /plugin or delete the harness folder from the skills directory. The generated files in the project's .claude/agents/ and .claude/skills/ are removed manually.
Security check
- It generates agent definitions, skills and a CLAUDE.md pointer, that is configuration and instructions, rather than performing external actions
README in short
The README presents Harness as a team-architecture factory for Claude Code: from a domain description it decomposes a complex task into an agent team and generates their skills. It lists six architecture patterns, a six-phase process from domain analysis to validation, and two run modes. Installation is via the plugin marketplace or by copying the skills/harness folder into the skills directory, and the teams mode needs an experimental flag. It bundles references on agent design, orchestrator templates, team examples and skill-testing methodology. Apache 2.0 licensed.
SKILL.md
--- name: harness description: "하네스를 구성합니다. 전문 에이전트를 정의하며, 해당 에이전트가 사용할 스킬을 생성하는 메타 스킬. (1) '하네스 구성해줘', '하네스 구축해줘' 요청 시, (2) '하네스 설계', '하네스 엔지니어링' 요청 시, (3) 새로운 도메인/프로젝트에 대한 하네스 기반 자동화 체계를 구축할 때, (4) 하네스 구성을 재구성하거나 확장할 때, (5) '하네스 점검', '하네스 감사', '하네스 현황', '에이전트/스킬 동기화' 등 기존 하네스 운영/유지보수 요청 시 사용." --- # Harness — Agent Team & Skill Architect 도메인/프로젝트에 맞는 하네스를 구성하고, 각 에이전트의 역할을 정의하며, 에이전트가 사용할 스킬을 생성하는 메타 스킬. **핵심 원칙:** 1. 에이전트 정의(`.claude/agents/`)와 스킬(`.claude/skills/`)을 생성한다. 2. **에이전트 팀을 기본 실행 모드로 사용한다.** 3. **CLAUDE.md에 하네스 포인터를 등록한다.** 4. **하네스는 고정물이 아니라 진화하는 시스템이다.**
FAQ
How do agent teams differ from subagents?
Agent teams keep several agents that exchange messages and coordinate; this is the default for tasks with two or more roles. Subagents are a direct call to a single agent for a one-off task with no data passing between them.
Does Harness work outside Claude Code?
The official runtime is Claude Code only. The author notes a separate port of the same idea exists for Codex, but that is a different project.
Related
Open-source personal AI assistant on your own machine: answers in Telegram, Slack, Discord and WhatsApp, extended with skills and plugins
A self-improving agent from Nous Research with a TUI, messaging gateway, cron jobs and skills it writes itself
An open source coding agent for the terminal and desktop with build and plan modes
Open prompt library with a Claude Code plugin, MCP server and CLI: search, fetch and improve prompts and skills from an agent