# Harness Engineering

Initialize a Harness Engineering framework in the current project.

- Repository: https://github.com/kangarooking/kangarooking-skills (694 stars)
- Category: AI and agents
- License: see repository
- Last updated: 2026-09-07
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add kangarooking/kangarooking-skills --skill harness-engineering -g -a claude-code -y`
Codex: `npx skills add kangarooking/kangarooking-skills --skill harness-engineering -g -a codex -y`
Cursor: `npx skills add kangarooking/kangarooking-skills --skill harness-engineering -g -a cursor -y`
Gemini CLI: `npx skills add kangarooking/kangarooking-skills --skill harness-engineering -g -a gemini-cli -y`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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:

1. **Project name** (or detect from current directory name)
2. **Tech stack** (optional, e.g. "React + Node.js", "Python FastAPI", "Go microservice")
3. **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:

```bash
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:

The rest: https://github.com/kangarooking/kangarooking-skills/blob/HEAD/harness-engineering/SKILL.md
