
harness-engineering
Initialize a Harness Engineering framework in the current project. Use when user says 'harness', 'init harness', 'initialize framework', 'setup harness engineering', '/harness', or wants to set up a Plan-Build-Verify development workflow with specialized agents (planner, generator, evaluator). Creates CLAUDE.md, agent definitions, command templates, hooks, and documentation structure for autonomous AI-driven development.
- Installs
- 180
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/kangarooking/kangarooking-skills --skill harness-engineering- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads harness-engineering automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Harness Engineering Framework
One-click initialization of a complete Harness Engineering framework in any project directory.
Based on insights from OpenAI (Codex), Anthropic (3-agent GAN architecture), and LangChain (self-verify loops), this skill sets up:
- 3-agent architecture: Planner (spec), Generator (build), Evaluator (test)
- Sprint contracts: Machine-verifiable "done" criteria before coding
- Quality hooks: Loop detection, pre-completion checklist, context injection
- Slash commands:
/plan,/build,/qa,/sprint - Golden principles: 10 non-negotiable rules enforced across all agents
When to Use
- Starting a new project and want structured AI-assisted development
- Want to set up Plan-Build-Verify-Fix workflow in current project
- User says "harness", "init harness", "setup framework", or similar
Initialization Process
Step 1: Gather Project Info
Before generating files, ask the user:
- Project name (or detect from current directory name)
- Tech stack (optional, e.g. "React + Node.js", "Python FastAPI", "Go microservice")
- Project type (web app, API service, CLI tool, library, etc.)
If the user provides a description with /harness <description>, extract the info from context.
Step 2: Generate Framework Files
Execute the scaffold script:
python3 {{SKILL_PATH}}/scripts/scaffold.py --project-name "<PROJECT_NAME>" --tech-stack "<TECH_STACK>" --project-type "<PROJECT_TYPE>" --target-dir "<CURRENT_PROJECT_DIR>"
This generates the following structure in the current project:
<project>/
CLAUDE.md # Project map (<80 lines)
.claude/
agents/
planner.md # Spec creation agent
generator.md # Implementation agent
evaluator.md # Testing/grading agent
doc-gardener.md # Doc freshness agent
commands/
plan.md # /plan command
build.md # /build command
qa.md # /qa command
sprint.md # /sprint command
hooks/
loop-detector.py # File edit loop detection
pre-completion-check.py # Task completion checklist
context-injector.py # Session context middleware
docs/
architecture.md # System design
golden-principles.md # Non-negotiable rules
sprint-workflow.md # Sprint process
contracts/
TEMPLATE.md # Sprint contract template
specs/ # (populated by planner)
plans/ # (populated by planner)
Step 3: Configure Hooks
After generating files, merge hook configuration into the project's .claude/settings.json (or create it):
python3 {{SKILL_PATH}}/scripts/merge_settings.py --target-dir "<CURRENT_PROJECT_DIR>"
This adds hook definitions without overwriting existing settings.
Step 4: Verify Installation
Confirm all files were created:
ls -la CLAUDE.md .claude/agents/ .claude/commands/ .claude/hooks/ docs/
Report to the user what was created and how to start using it.
Usage After Initialization
| Command | Purpose |
|---|---|
/plan <description> | Create a feature specification from 1-4 sentences |
/build | Build the most recent spec using sprint workflow |
/qa | Run evaluator against current code |
/sprint <description> | Full Plan-Build-Verify cycle from scratch |
Key Principles
The framework enforces these rules (see docs/golden-principles.md after install):
- Spec before code - No implementation without a written spec
- Testable criteria - Every feature has machine-verifiable acceptance criteria
- Self-verify first - Generator must self-check before evaluator runs
- Loop awareness - Editing same file 5+ times triggers a stop-and-reassess
- Contract-driven - Sprint contracts define "done" before coding begins
Architecture
For full details, read the generated docs/architecture.md after installation. Key flow:
User Prompt → Planner (spec) → Generator + Evaluator negotiate contract
→ Generator builds → Evaluator tests → Fix loop (max 3x) → Complete
FAQ
What does the harness-engineering skill do?
Initialize a Harness Engineering framework in the current project. Use when user says 'harness', 'init harness', 'initialize framework', 'setup harness engineering', '/harness', or wants to set up a Plan-Build-Verify development workflow with specialized agents (planner, generator, evaluator). Creates CLAUDE.md, agent definitions, command templates, hooks, and documentation structure for autonomous AI-driven development.
How do I install harness-engineering?
Run npx skills add https://github.com/kangarooking/kangarooking-skills --skill harness-engineering in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/harness-engineering/ (personal) or .claude/skills/harness-engineering/ (project).
Which AI agents can use harness-engineering?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is harness-engineering safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains harness-engineering?
It is published by kangarooking in kangarooking/kangarooking-skills. It has 180 recorded installs.
More from kangarooking/kangarooking-skills
twitter-monitor
kangarooking/kangarooking-skills
Open the skill to read its SKILL.md instructions.
book-illustration-workflow
kangarooking/kangarooking-skills
Open the skill to read its SKILL.md instructions.
multi-agent-image
kangarooking/kangarooking-skills
Standalone multi-agent image generation skill for Hermes. Includes an internal design compiler, GPT-Image-2 generation via apimart.ai, case library reuse, interactive reference selection, batch workflows, and style-consistent series generation.
task-harness
kangarooking/kangarooking-skills
将需求拆解为结构化任务清单,生成长时运行 Agent 的任务管理系统(基于 Anthropic Effective harnesses 方法论)。当用户需要管理多会话开发任务、跟踪功能完成进度、或要求"拆解任务""任务管理""项目规划"时自动触发
reshape-your-life
kangarooking/kangarooking-skills
Open the skill to read its SKILL.md instructions.
video-downloader
kangarooking/kangarooking-skills
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.