{"id":50493417,"url":"https://github.com/Chachamaru127/claude-code-harness","last_synced_at":"2026-06-02T20:00:41.985Z","repository":{"id":328608693,"uuid":"1114903449","full_name":"Chachamaru127/claude-code-harness","owner":"Chachamaru127","description":"Claude Code Dedicated Development Harness - Achieving High-Quality Development Through an Autonomous Plan→Work→Review Cycle","archived":false,"fork":false,"pushed_at":"2026-05-27T08:02:26.000Z","size":168661,"stargazers_count":1729,"open_issues_count":3,"forks_count":191,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-05-27T08:17:18.073Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chachamaru127.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.ja.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-12T03:57:21.000Z","updated_at":"2026-05-27T08:02:30.000Z","dependencies_parsed_at":"2026-03-15T08:05:47.448Z","dependency_job_id":null,"html_url":"https://github.com/Chachamaru127/claude-code-harness","commit_stats":null,"previous_names":["chachamaru127/claude-code-harness"],"tags_count":207,"template":false,"template_full_name":null,"purl":"pkg:github/Chachamaru127/claude-code-harness","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chachamaru127%2Fclaude-code-harness","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chachamaru127%2Fclaude-code-harness/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chachamaru127%2Fclaude-code-harness/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chachamaru127%2Fclaude-code-harness/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chachamaru127","download_url":"https://codeload.github.com/Chachamaru127/claude-code-harness/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chachamaru127%2Fclaude-code-harness/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33834011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-02T05:00:33.187Z","updated_at":"2026-06-02T20:00:41.979Z","avatar_url":"https://github.com/Chachamaru127.png","language":"Shell","funding_links":[],"categories":["Shell","🤖 AI \u0026 Machine Learning"],"sub_categories":[],"readme":"# Claude Code Harness\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/images/claude-harness-logo-with-text.png\" alt=\"Claude Harness\" width=\"400\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003ePlan. Work. Review. Ship.\u003c/strong\u003e\u003cbr\u003e\n  \u003cem\u003eA disciplined delivery loop for Claude Code, with bounded paths for Codex and OpenCode.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Chachamaru127/claude-code-harness/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/Chachamaru127/claude-code-harness?display_name=tag\u0026sort=semver\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"docs/CLAUDE_CODE_COMPATIBILITY.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/Claude_Code-v2.1+-purple.svg\" alt=\"Claude Code\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Skills-5_Verbs-orange.svg\" alt=\"Skills\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Core-Go_Native-00ADD8.svg\" alt=\"Go Core\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  English | \u003ca href=\"README_ja.md\"\u003e日本語\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/images/readme/hero-operating-loop-en.png\" alt=\"Claude Code Harness operating loop: Spec, Plan, Work, Review, Release\" width=\"900\"\u003e\n\u003c/p\u003e\n\nClaude Code is powerful, but raw agent work drifts: plans live in chat, tests\nbecome optional, review happens too late, and release evidence gets rebuilt by\nmemory. Harness turns that into one repeatable operating path.\n\nAfter install, the default changes from \"ask the agent to code\" to:\n\n1. write the spec and plan,\n2. implement only the approved slice,\n3. verify the result,\n4. review independently,\n5. package evidence for PR or release.\n\n## Quickstart\n\nNew users should start from the tool they already use. Existing users should\nrun the migration report before cleanup or reinstall.\n\n| Path | Start |\n|---|---|\n| New user | [Tool-first onboarding](docs/onboarding/index.md) |\n| Existing user | [Migration check](docs/onboarding/migration.md) |\n| Claude Code fast path | [Install in 30 seconds](#install-in-30-seconds) |\n| Trigger proof | [Skill trigger gate](docs/onboarding/skill-trigger-acceptance.md) |\n\n## Install in 30 Seconds\n\n```bash\nclaude\n/plugin marketplace add Chachamaru127/claude-code-harness\n/plugin install claude-code-harness@claude-code-harness-marketplace\n/harness-setup\n```\n\nNext command: run `/harness-plan` with one small request.\n\n```bash\n/harness-plan Improve the README onboarding flow\n```\n\n## First 15 Minutes\n\n1. Install through your tool route.\n2. Run `/harness-setup` or the equivalent setup script.\n3. Run `/harness-plan` with a small request; Harness writes the `spec.md` and\n   `Plans.md` drafts for you to check. Small typo, docs, and status updates stay\n   lightweight.\n4. Approve the generated contract or reply with the correction you want.\n5. Run the smallest approved task, for example `/harness-work 1.1.1`.\n6. Run `/harness-review` and keep the verification output.\n\nYour job is not to hand-write the plan. It is to approve or correct the\ngenerated contract before execution continues.\n\n## How It Works\n\nHarness adds a source-of-truth loop around agent work.\nThe 5 verb skills keep that surface small: plan, work, review, sync, release.\n\n1. You describe the outcome in normal language.\n2. `/harness-plan` drafts or updates `spec.md` and `Plans.md` with scope,\n   acceptance criteria, unknowns, and stop conditions.\n3. Non-trivial planning records `team_validation_mode` and validates the plan\n   through team/sub-agent or manual-pass perspectives for spec/Plans alignment,\n   memory reuse, product fit, security fit, and works-in-practice.\n4. Harness treats those files as the source of truth. Data the agent has not\n   seen stays `unknown` instead of being silently invented.\n5. `/harness-work` implements the approved slice with TDD and verification.\n6. `/harness-review` separates review from implementation.\n7. `/harness-release` packages only verified evidence.\n\n## Commands\n\n| Command | What happens inside |\n|---------|---------------------|\n| `/harness-setup` | Installs project guidance, command surfaces, hooks, and checks so the workflow starts from one known baseline. |\n| `/harness-plan` | Turns intent into `spec.md` and `Plans.md`, including scope, acceptance criteria, dependencies, unknowns, stop conditions, and non-trivial planning validation. |\n| `/harness-work` | Executes one approved task or range, adds tests when required, runs verification, and keeps work inside the plan. |\n| `/harness-work all` | Runs the approved plan through implementation and review paths; use after the plan is clear and the repo baseline is known. |\n| `/harness-review` | Reviews the result separately from implementation and treats major findings as blockers. |\n| `/harness-release` | Checks release readiness, CHANGELOG/tag boundaries, and evidence packaging after implementation and review are complete. |\n| `bin/harness doctor --migration-report` | Inventories old plugin caches, Codex skills, OpenCode files, symlinks, and memory state without deleting data. |\n\n## Basic Workflow\n\n| Stage | Output | Gate |\n|-------|--------|------|\n| Investigate | Evidence and unknowns | Do not promote unobserved data into claims. |\n| Plan | `spec.md` + `Plans.md` | User approves or corrects the generated contract. |\n| Work | Code and tests | TDD required when the task says so. |\n| Review | Independent verdict | Major findings block completion. |\n| PR | Evidence pack | PR ready is not release ready. |\n| Release | Tag/release artifacts | Release preflight must pass on the release path. |\n\n## Install By Tool\n\n| Tool | Tier | Route |\n|---|---|---|\n| Claude Code | `supported` | Claude plugin marketplace, then `/harness-setup`. |\n| Codex CLI | `internal-compatible` | `scripts/setup-codex.sh --user`; direct plugin smoke is tracked separately. |\n| Codex app | `candidate` | Candidate smoke only; do not reuse Codex CLI proof. |\n| OpenCode | `internal-compatible` | `scripts/setup-opencode.sh`; runtime parity is not claimed. |\n| Cursor | `internal-compatible` | `scripts/setup-cursor.sh` real-directory local install; top support tier still gated on workflow smoke. |\n| GitHub Copilot CLI | `candidate` | Manual profile research only. |\n| Antigravity CLI | `future/unsupported` | No end-user install route in this phase. |\n\n## Existing User Migration\n\nRun `bin/harness doctor --migration-report` before changing an existing setup.\nThe report inventories stale Claude plugin caches, duplicate Codex skills, old\nsymlinks, OpenCode backup paths, and harness-mem state without deleting\nanything.\n\n## Support Boundary\n\nHarness can describe candidate paths, but it does not inherit support claims\nfrom Superpowers, Hermes Agent, or any other project. A host only moves up when\nHarness has its own bootstrap, trigger, runtime, and release evidence.\n\n`not_observed != absent`: missing local proof means \"not proven here\", not\n\"impossible\" and not \"supported\".\n\n## Requirements\n\n- Claude Code v2.1+ for the supported Claude path.\n- A project repository with write access for local setup.\n- No Node.js is required for the Go-native guardrail engine.\n- Optional [harness-mem](https://github.com/Chachamaru127/harness-mem) for\n  cross-session memory when configured and healthy.\n\n## Advanced\n\nUse these after the basic trigger path is visible.\n\n| Capability | What it adds | Boundary |\n|------------|--------------|----------|\n| Breezing | Planner/Critic/Worker style team execution for larger task lists. | Still gated by plan quality and review. |\n| Codex companion review | Schema-backed Codex second opinion through `scripts/codex-companion.sh`. | Raw `codex exec` is not the Harness companion path. |\n| OpenCode bootstrap | Mirrors Harness guidance into OpenCode-compatible surfaces. | Real runtime parity is not claimed. |\n| harness-mem | Project-scoped memory and recall across sessions. | Optional companion; purge remains explicit. |\n\n## Documentation\n\n| Resource | Description |\n|----------|-------------|\n| [Tool-first onboarding](docs/onboarding/index.md) | Where to start by host tool. |\n| [Install routes](docs/onboarding/install.md) | Per-tool setup and support-tier boundaries. |\n| [Migration check](docs/onboarding/migration.md) | Existing-user impact, compatibility, and rollback path. |\n| [Skill trigger gate](docs/onboarding/skill-trigger-acceptance.md) | How install success is verified. |\n| [Capability matrix](docs/tool-capability-matrix.md) | Supported, internal-compatible, candidate, and unsupported host claims. |\n| [Claude Code Compatibility](docs/CLAUDE_CODE_COMPATIBILITY.md) | Current Claude Code requirements and compatibility notes. |\n| [Cursor Integration](docs/CURSOR_INTEGRATION.md) | Cursor handoff boundary and internal-compatible adapter notes. |\n| [Distribution Scope](docs/distribution-scope.md) | Included vs compatibility vs development-only paths. |\n| [Hardening parity](docs/hardening-parity.md) | Runtime safety differences between Claude hooks and Codex gates. |\n| [Work All Evidence Pack](docs/evidence/work-all.md) | Success/failure verification contract for full-plan execution. |\n| [Changelog](CHANGELOG.md) | User-facing version history. |\n\n## Contributing\n\nIssues and PRs welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Acknowledgments\n\n- [AI Masao](https://note.com/masa_wunder) - Hierarchical skill design\n- [Beagle](https://github.com/beagleworks) - Test tampering prevention patterns\n\n## License\n\nMIT License. See [LICENSE.md](LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChachamaru127%2Fclaude-code-harness","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FChachamaru127%2Fclaude-code-harness","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChachamaru127%2Fclaude-code-harness/lists"}