The configuration console for all your harnesses.

Configure, observe, and share your harness from one native app, built on an open harness.yaml spec.

Run inside Claude Code

/plugin marketplace add harnessprotocol/harness-kit
Using a coding agent? Install the Harness Kit docs as a skill:
npx skills add https://github.com/harnessprotocol/harness-kit --skill harness-docs
Harness Kit — Observatory
Observatory
This week · all tools
Sessions
1,247
+12.4% wk
Tool calls
8,390
+6.1% wk
Avg duration
34m
−2m wk
Sessions over time
7d · 30d · 90d
# harness.yaml — the one file that travels with you
version: 1

plugins:
  - research@harness-kit
  - orient@harness-kit
  - explain@harness-kit
  - review@harness-kit

mcp:
  - filesystem
  - memory
  - grafana

hooks:
  pre-commit: /review
  pre-push:   /test

skills:
  - brainstorming
  - debugging
  - writing-plans
Marketplace
Search plugins…
research
Process any source into a structured, compounding knowledge base with refresh capability
explain
Structured code explainer — layered explanations of files, functions, directories, or concepts
lineage
Trace column-level data lineage through SQL, Kafka, Spark, and JDBC codebases
orient
Topic-focused session orientation — search graph, knowledge, journal, and research for a specific topic
capture
Capture session information into a staging file for later reflection and knowledge graph processing
membrain
Graph-based agent memory — search, trace, and manage what your agent knows
Agents
4 running · 2 idle
code-reviewer
reviewing feat/auth-rewrite · 3 files
doc-updater
checking API ref drift
test-writer
idle · last ran 4m ago
commit-crafter
drafting message
memory-updater
idle · waiting for hook
parity-checker
Cursor vs Claude
Claude Code
> fix the auth token refresh race
→ read src/auth/refresh.ts
→ read tests/auth.test.ts
Found: await missing on line 47
Patching auth.ts…
✓ tests passing (12/12)
ready
Cursor
> fix the auth token refresh race
→ grep "refresh" src/
→ open auth/refresh.ts
Issue: token stored before fetch
Proposing refactor…
running tests
Permissions
Claude Code · auto-allow rules
allowBash(pnpm *)
allowRead(~/repos/**)
allowWebFetch(api.github.com)
askBash(git push origin *)
askWrite(~/.zshrc)
denyRead(~/.ssh/**)
denyBash(rm -rf /**)
Cross-harness parity
What runs where, right now
ToolPluginsMCPHooksSkills
Claude Code
Cursor
Copilot
Windsurf
Board
harness-kit · feat/docs-revamp
Backlog 4
feat
Memory v2 — edge weights
fix
YAML colon-space escape
docs
Add Windsurf setup guide
chore
Bump Tauri to 2.4
In progress 2
feat
Docs revamp — hero + explainer
fix
Auth token refresh race
Done 3
feat
Explore hub · 11 surfaces
feat
Cyan-blue palette rollout
docs
FAQ rewrite
Roadmap
harness-kit · 2026
Q1 '26
shipped
Q2 '26
in progress
Q3 '26
planned
Q4 '26
ideas
what's in my harness right now?
4 plugins, 3 MCP servers, 2 hooks, 3 skills — want me to list them?
yeah. also add review plugin
installed review@harness-kit. harness.yaml updated. here's the full list:

plugins: research, orient, explain, review
mcp: filesystem, memory, grafana
hooks: pre-commit, pre-push
commit it
drafting commit message…
harness
plugin
skill
MCP
hook
CLAUDE.md

Observatory

Every session, every tool call, every minute. Trends you can point at when someone asks "is this thing working."

Memory

A knowledge graph your AI can orient itself in. Teammates, decisions, conventions — persistent across every tool.

Board

Agents pick up cards, draft commits, open PRs. You review. The kanban is built for AI-first teams.

Command Palette

Cmd+K to navigate anywhere and operate the app — with Ask AI wired to a local Ollama chat.

First time here?

What's a harness?

Every AI coding tool has its own setup folder — Claude Code's ~/.claude, Cursor's .cursor, Copilot's config, and whatever shows up next month. Different names, same shape, totally incompatible. harness-kit is the layer that turns all of them into one setup you carry with you.

How it works

Configure. Observe. Share.

That's the whole loop. Your harness travels with you to every machine, every tool, every teammate.

Configure

Plugins, skills, MCP servers, hooks — all declared in one harness.yaml. Install by name. No git clone, no path juggling, no "run this script first."

Observe

Every session, every tool call, every minute. Observatory and Memory show you what your AI actually did, so you can trust it, tune it, or prove it.

Share

Your whole setup fits in one file. Hand it to a teammate and they're running exactly what you run — same plugins, same skills, same workflows.

Read the architecture →