Harness Engineering logo

Harness Engineering

Community
kangarooking
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.

Overview

Publisherkangarooking
Repositorykangarooking-skills
Skill nameharness-engineering
Stars
662
Forks
110
Bundled files
18
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 18 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by kangarooking on GitHub. Read the source before you install it.

Installation

Install the Harness Engineering AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/kangarooking/kangarooking-skills/tree/main/harness-engineering
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/kangarooking/kangarooking-skills.git /tmp/kangarooking-skills
mkdir -p .claude/skills
cp -r /tmp/kangarooking-skills/harness-engineering .claude/skills/harness-engineering
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Harness Engineering in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Harness Engineering on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Harness Engineering is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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:

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

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

bash
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

CommandPurpose
/plan <description>Create a feature specification from 1-4 sentences
/buildBuild the most recent spec using sprint workflow
/qaRun 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):

  1. Spec before code - No implementation without a written spec
  2. Testable criteria - Every feature has machine-verifiable acceptance criteria
  3. Self-verify first - Generator must self-check before evaluator runs
  4. Loop awareness - Editing same file 5+ times triggers a stop-and-reassess
  5. 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

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Harness Engineering AI 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.

Why use Harness Engineering on TypingMind?

Because you install it once and use it with any model. Harness Engineering is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Harness Engineering in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/kangarooking/kangarooking-skills/tree/main/harness-engineering. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Harness Engineering?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Harness Engineering?

As many as you like. As long as a model supports skills, you can use Harness Engineering with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Harness Engineering AI skill free?

It is published on GitHub by kangarooking. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇