An agent harness for Claude Code that morphs into your project's own
A Technical Lead plans each feature and waits for your approval. A Full-stack agent builds it, a QA agent verifies it, and a short retro turns what went wrong into rules. Every ten features, a prune deletes the rules that never fired.
Open source, MITAny language or frameworkBuilt and run for about 150 features on Twinpage
- Plan
- Build
- QA
- Retro
- Prune
- Share
Your agent rules need a delete button
If you have been writing CLAUDE.md rules, subagents and checklists by hand, you know they only grow. Morphness is that work packaged, with a loop that keeps it short and true.
Plan first, then build
The Technical Lead writes a plan with testable acceptance criteria and waits for your approval before any code is written.
QA is never skipped
A separate QA agent runs your checks and records evidence for every criterion, so "done" means verified, not claimed.
Learns from its mistakes
After every feature, a short retro turns what went wrong into rules. Every ten features, a prune audits them: the ones that caught problems stay, the ones that never fired go.
Works on any codebase
New or existing repos, any language or framework. It keeps your CLAUDE.md, shows a diff for settings and lands everything on a branch you review.
Safe by default
Secrets and pushes to protected branches are denied from the first install. Every agent reads the rule: never write to a shared remote environment.
Yours to configure
Branches, checks, modules, risk areas, models and effort live in one harness.config.yml. Every rule and checklist is a Markdown file in your repo.
What happens on each feature
You talk to the Technical Lead in the main chat. It plans, delegates and never writes code itself.
- PlanThe Technical Lead writes acceptance criteria. You approve.
- BuildFull-stack builds the approved plan and its tests.
- QAQA runs your checks. A fail goes back to Full-stack.
- RetroUp to three action items become rules, with your say.
- PruneEvery ten features: rules that never fired get cut.
- ShareRules that fired can become community lessons.
Technical Lead
Your session. Plans each feature, gets your approval, delegates and keeps the rules current.
Full-stack
Builds the approved plan and its tests. Sonnet at medium effort for pattern-copy work.
QA
Runs the checks and validates every acceptance criterion, with the evidence recorded.
Researcher
Answers a question about your code or the web with cited sources, read-only, when you want an answer and not a change.
Legal writer
Writes wording that makes a legal promise, when a feature needs it.
/morph-init installs and sets up the harness./morph-update reviews what changed upstream and brings in what you accept, merged with your edits./morph-doctor checks the wiring, flags a due prune and counts upstream updates waiting./morph-share turns rules that fired into a PR to the lessons catalog.Install
The setup scans your repo, then asks a short series of questions, each with a suggested answer. It suggests skills, connectors and lessons that fit your stack, and installs only the ones you accept.
Ask your agent
Paste this in any Claude Code session inside your repo, new or existing:
Set up the Morphness agent harness in this repo by following https://github.com/antarsoft/morphness/blob/main/INSTALL.md step by step. Scan the repo first, then ask me the setup questions one at a time with your suggested answer. Keep my existing files, install skills or connectors only after I say yes, and put every change on a new branch for me to review. If Morphness is already installed here, follow its UPDATE.md instead and show me what changed upstream.
Or as a plugin
Add the marketplace, install, then run the setup:
/plugin marketplace add antarsoft/morphness /plugin install morphness@morphness /morph-init
Prefer to copy files yourself? scripts/install.sh copies and never overwrites. Needs: Claude Code with plugins, subagents and effort levels; the opus and sonnet models; git and bash. Each feature costs about three agent runs (plan, build, QA) plus a short retro.
Your first feature
- Ask the Technical Lead:
plan <feature>. - Read the plan and its acceptance criteria, then approve it.
- Full-stack builds it, then QA checks every criterion.
- You get a steps file (anything only you can do) and a short retro.
What lands in your repo
AGENTS.md,CLAUDE.md,.claude/rules/- The rules every session loads.
.claude/agents/- Full-stack, QA, researcher and legal-writer subagents at several effort levels.
harness/- The process: lifecycle, handoffs, checks, release, the plan checklist, and how it morphs. Optional modules for Claude Projects, data access, browser e2e, legal wording and a roadmap.
project/- Your project's facts: stack, the commands behind each check, risk areas, effort per area.
harness.config.yml- Branches, modules, named checks, CI gate, risk areas, models and effort, loop limits.
_harness/- Runtime: feature folders, learnings, prunes, releases.
From the community, for the community.
Rules that prove themselves can help the next team
When a prune shows a rule caught a real problem, /morph-share strips anything project-specific and drafts a PR to the shared catalog. A maintainer checks it is new, portable and backed by evidence. /morph-update then offers it to every project it matches.
The catalog starts with lessons from Twinpage, the product Morphness was built and run on for about 150 features. Lessons are amended, never replaced: your report strengthens an existing lesson when one matches.