[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93461":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":10,"trendingCount":15,"starSnapshotCount":15,"syncStatus":42,"lastSyncTime":43,"discoverSource":44},93461,"agentsmith","PromptPartner\u002Fagentsmith","PromptPartner","Universal, model-agnostic operating harness for AI agents (Claude, Codex, Gemini, …) — a lean core + work-type profiles assembled by one setup script.","https:\u002F\u002Fpromptpartner.ai",null,"Shell",314,18,278,0,6,7,19,60.04,"MIT License",false,"master",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"agentic-ai","agentic-coding","ai-agents","ai-tools","automation","claude","claude-code","codex","coding-agent","developer-tools","gemini","llm","llm-agents","open-source","prompt-engineering","vibe-coding","2026-07-22 04:02:09","# AgentSmith — the universal agent harness\n\nVibe coding gets you a working demo. **AI-assisted engineering** is what keeps it standing once\ncustomers arrive, the product changes, or another engineer has to touch it. Agentsmith is that\nsecond layer — a portable, battle-tested operating system for Claude Code (and any agent that\nreads a `CLAUDE.md` \u002F `AGENTS.md` \u002F `GEMINI.md`). Drop it on any machine, pick the kind of work\nyou're doing, and the same disciplined core adapts to it — **software, devops\u002Fsetup, marketing &\noutreach, document creation, data crunching, research, design, and general admin.**\n\n> **The agent is the model plus the harness.** The model is ~10% of the outcome; the harness —\n> the rules, tools, memory, guardrails, and feedback loops around it — is the other ~90%, and\n> it's the part you control. This repo is that 90%, generalized and reusable. (The reasoning is in\n> [`docs\u002F01-harness-philosophy.md`](docs\u002F01-harness-philosophy.md); the public work these ideas\n> build on is credited in full under [principles & influences](docs\u002F16-influences.md).)\n\nIt didn't come from a whiteboard. It grew over ~6 months of real, autonomous work — data\ncrunching, marketing outreach, dozens of smaller projects, and one software product still in\nactive development after half a year — across hundreds of sessions. What's here is roughly its\n**fifth iteration**: scrubbed of all project specifics and split into a universal core +\nswappable work-type profiles.\n\n---\n\n## How it works in 4 steps\n\n1. **Install once.** `setup.sh` assembles a deliberately lean `CLAUDE.md` from the universal\n   **core** (the rules that never change) plus the **profile(s)** for the kind of work you're doing.\n   Install the core globally once, then add a thin profile per project. Just run\n   `.\u002Fsetup.sh` (with no flags it's the wizard) — it builds the command for you and shows it\n   before running.\n2. **Work one unit at a time.** Each session takes a single tracked item and runs it\n   **plan → implement → verify → ship** with real autonomy — the agent decides routing and scope,\n   and only pauses for the few things that genuinely need a human (a missing credential, an external\n   surprise).\n3. **Verify before \"done.\"** Nothing ships on vibes. `verify.sh` runs *your* project's real checks,\n   bug fixes need a failing test first (prove-it), and review gates catch what tests can't — evidence\n   before assertion, every time.\n4. **Hand off early, and improve the harness.** At ~25–30% context used (or when you say \"handoff\"),\n   the agent safe-states and writes a recall prompt so the next session resumes clean. And when\n   something goes wrong, the habit is to **fix the system, not just the symptom** — sharpen a rule,\n   add a gate — so that class of failure is less likely next time.\n\nThe deep version of all four — why context is split static\u002Fdynamic, why rigor scales with stakes,\nthe conductor\u002Forchestrator modes — is in [`docs\u002F01-harness-philosophy.md`](docs\u002F01-harness-philosophy.md)\n(a 5-minute read).\n\n**Never used an agent harness?** The docs were written for exactly you — an expert developer new\nto this — and [`docs\u002FREADME.md`](docs\u002FREADME.md) is the map with a reading order (the numbers\n*are* the order): [your first hour](docs\u002F02-your-first-hour.md) and\n[your first loop](docs\u002F06-your-first-loop.md) ·\n[verify means evidence](docs\u002F03-verify-means-evidence.md) (the load-bearing concept) ·\n[operating modes](docs\u002F05-operating-modes.md) (sessions vs loops; which model for which phase) ·\n[why your agent ignored the rule](docs\u002F04-why-your-agent-ignored-the-rule.md) (before it happens) ·\n[the safety model](docs\u002F14-safety-model.md) (what it can do to your machine, and how to bound it) ·\n[adapting it to your team](docs\u002F09-adapting-it-to-your-team.md) · a\n[glossary](docs\u002F17-glossary.md) · incident-earned [dos & don'ts](docs\u002F10-best-practices.md) · and a\n[troubleshooting](docs\u002F15-troubleshooting.md) guide for when it's behaving oddly.\n\n---\n\n## Quick start\n\nThree ways in, easiest first. Pick one.\n\n### 1. Just ask your agent (no terminal needed)\n\nAlready using a coding agent — Claude Code, Codex, OpenClaw, Cursor? Don't run anything yourself.\nFrom inside your project, paste this and the agent does it all — it clones the harness,\n**auto-detects the right profile for your project**, asks you a couple of quick questions, shows\nthe plan, and runs setup in *its* terminal:\n\n```\nSet up the Agentsmith harness in this project for me. Read the instructions at\nhttps:\u002F\u002Fraw.githubusercontent.com\u002FPromptPartner\u002Fagentsmith\u002Fmaster\u002FAGENT-INSTALL.md\nand follow them: get the harness, detect the right profile for this project, ask me\nanything you need, show me what you'll change, and then run its setup.\n```\n\nIt's on-brand: the agent installs its own harness. Full instructions the agent follows live in\n[`AGENT-INSTALL.md`](AGENT-INSTALL.md). *(The raw link resolves once the repo is public; until then,\nclone Agentsmith locally and point your agent at the local `AGENT-INSTALL.md`.)*\n\n### 2. Run the wizard (it asks; you answer)\n\n```bash\n# clone somewhere permanent (it's a tool you keep, not per-project), then just run it:\ngit clone https:\u002F\u002Fgithub.com\u002FPromptPartner\u002Fagentsmith.git ~\u002Ftools\u002Fagentsmith && cd ~\u002Ftools\u002Fagentsmith\n.\u002Fsetup.sh          # ← no flags = the wizard\n```\n\nThat's the default — **bare `.\u002Fsetup.sh` launches the wizard**. It walks you through scope (this\nproject \u002F global \u002F machine-wide \u002F portable export), profile, how careful the assistant should be\n(**safety mode** — cautious by default), operator info, MCP servers, plugin packs, and hooks — then\nprints the exact command it's about to run (so you learn the flags) and runs it on your confirm.\nNothing is written until you say yes, and any file it touches is backed up first.\n\nNo git? Download [the zip](https:\u002F\u002Fgithub.com\u002FPromptPartner\u002Fagentsmith\u002Farchive\u002Frefs\u002Fheads\u002Fmaster.zip),\n`unzip agentsmith-master.zip -d ~\u002Ftools && mv ~\u002Ftools\u002Fagentsmith-master ~\u002Ftools\u002Fagentsmith` — note\n`--self-update` later needs a git clone, not a zip.\n\n**On Windows (PowerShell):** use **`setup.ps1`** — a faithful port with the **same flags and\nbehaviour**. It needs **PowerShell 7+** (`pwsh --version`; `winget install Microsoft.PowerShell` if\nmissing). Every `setup.sh` command here works by swapping `setup.sh` → `pwsh .\u002Fsetup.ps1`; no `jq`\nneeded. If PowerShell blocks the script, allow it for the session with `Set-ExecutionPolicy -Scope\nProcess Bypass`. Full detail: [`INSTALL.md`](INSTALL.md).\n\n```powershell\ngit clone https:\u002F\u002Fgithub.com\u002FPromptPartner\u002Fagentsmith.git $HOME\\tools\\agentsmith\ncd $HOME\\tools\\agentsmith\npwsh .\u002Fsetup.ps1          # ← the wizard\n```\n\n### 3. Drive the flags yourself (power users)\n\nSkip the wizard by passing options. On this path the safety default is **trusted** (runs without\nprompts — see [Permissions](#permissions--dangerous-mode-)); add `--safety cautious` to soften it.\n\n```bash\n.\u002Fsetup.sh \\\n  --profile software-dev \\\n  --operator-name \"Your Name\" \\\n  --operator-role \"your role\" \\\n  --tracker github \\\n  --target \u002Fpath\u002Fto\u002Fyour\u002Fproject\n\n# mixed work? list several (dominant first):\n.\u002Fsetup.sh --profile devops-setup,software-dev --target .\n\n# cautious \u002F shared machine? assemble the rules only, touch nothing global:\n.\u002Fsetup.sh --profile document-creation --safety cautious --assemble-only --target .\n```\n\n**Layered setup (recommended once you run this across several projects):** install the universal\n**core** once globally, then add only the **profile** per project —\n\n```bash\n.\u002Fsetup.sh --global --operator-name \"Your Name\"        # core → ~\u002F.claude\u002FCLAUDE.md + config + plugins\n.\u002Fsetup.sh --profile software-dev --profile-only --target \u002Fpath\u002Fto\u002Fproject   # thin per-project file\n```\n\nClaude Code concatenates the global core with each project's file automatically. See\n[`docs\u002F12-platforms-and-tools.md`](docs\u002F12-platforms-and-tools.md) for per-project vs global.\n\nThat writes a lean `CLAUDE.md` into your project, scaffolds the supporting structure, and (unless\n`--assemble-only`) installs the global config + the four universal plugins. Re-run any time —\nit's idempotent and only rewrites its own managed block.\n\n**Useful flags:** `--with-plugins dev-workflow,stack-lsp` (opt-in plugin packs, latest from\nsource) · `--with-skills` (install the bundled 6-skill harness pack — see below) · `--with-hooks`\n(pre-commit secret-scan) · `--also-agents-md` \u002F `--also-gemini-md` (emit cross-tool rule files) ·\n`--update-plugins` · `--self-update` (pull a newer harness + re-assemble — see below) · `--doctor`\n(check install health) · `--dry-run`.\n\n**The bundled skill pack (`--with-skills`).** Six self-contained, work-type-neutral skills you can\ninvoke by name: **`\u002Fhandoff`** (wrap up cleanly), **`\u002Fverify`** (is this shippable?),\n**`\u002Fharness-help`** (non-coder? start here — it explains your profile, rules, and what to type\nnext), **`\u002Fharness-doctor`** (is my harness healthy?), **`\u002Fnew-research`**, **`\u002Fnew-feedback`**.\nIn project mode they install into `\u003Cproject>\u002F.claude\u002Fskills\u002F`; with `--global`, into\n`~\u002F.claude\u002Fskills\u002F`. New to this? Just run `claude` in your project and type `\u002Fharness-help`.\n\n**Keeping the harness current — `--self-update`.** Once the harness lives in a git checkout,\n`.\u002Fsetup.sh --self-update` (or `.\u002Fsetup.ps1 --self-update`) fast-forwards that checkout from its\nremote and then re-assembles every managed `CLAUDE.md` block so your rules reflect the new\ncore\u002Fprofiles in one step. The remote is configurable, never baked in: `--from \u003Curl>`, else\n`$HARNESS_REMOTE`, else a one-line `.harness\u002Fremote` file, else the checkout's own `origin`. Auth\nauto-detects from the URL — `git@…`\u002F`ssh:\u002F\u002F…` use your SSH key; `https:\u002F\u002F…` reads a token from\n`$HARNESS_GH_TOKEN` (read at runtime, never written to disk). It refuses to run on a dirty checkout\n(your local edits are safe), preserves your operator name\u002Frole\u002Ftracker through the re-assemble, and\ntakes `--no-reassemble` (fetch only) or `--dry-run` (preview the plan).\n\nPrefer to do it by hand? See [`INSTALL.md`](INSTALL.md).\n\n---\n\n## What's inside\n\n```\ncore\u002F         The universal rules — loaded every session. Lean by design (static context).\nprofiles\u002F     9 work-type modules — one (or more) gets assembled into CLAUDE.md.\nexamples\u002F     5 worked end-to-end projects (filled CLAUDE.md + verify.conf, one bundles a skill).\nconfig\u002F       Global settings.json, statusline, MCP examples, the plugin matrix.\nskills\u002F       Skill bundle: how-to, RECOMMENDED map, the 6-skill harness pack + example (--with-skills).\nscripts\u002F      verify.sh (gate), new-research.sh, new-feedback.sh, handoff.sh, secret-scan.sh + leak-gate.sh (+their tests), install-git-hooks.sh.\ntemplates\u002F    plan, progress-log, handoff, research-doc, quality-gate.\ndocs\u002F         The docs set — docs\u002FREADME.md is the index: philosophy, newcomer guides, profiles, feedback\u002F log.\nsetup.sh      Assembles CLAUDE.md + installs config\u002Fplugins\u002Fskills\u002Fhooks. The one command you run.\nsetup.ps1     Native-Windows PowerShell port of setup.sh — same flags, same behaviour (incl. --wizard).\n.harness\u002F     verify.conf.example (your project's definition of \"shippable\") + this repo's own verify.conf.\n```\n\n### The core (the part that never changes)\n\n| File | What it enforces |\n|---|---|\n| `00-identity` | Who you're talking to; how the agreement is layered |\n| `10-operating-model` | Autonomy, when-to-pause, match-rigor-to-stakes, conductor\u002Forchestrator, the 80% rule |\n| `20-principle-rules` | The 10 rules: understand-first, prove-it, verify-the-whole-chain, atomic, finish-the-docs, track-defects, **no-secrets**, **research-never-deleted**, keep-surface-small |\n| `30-anti-rationalization` | The STOP table — the thoughts that precede shipping something broken |\n| `40-subagents-and-tools` | Routing, parallel dispatch, MCP discipline |\n| `50-git-and-handoff` | Branch\u002Fcommit rules + the memory-first handoff protocol |\n| `60-evolving-the-harness` | **The System-Evolution Mindset** — fix the system, not just the symptom |\n\n### The 9 profiles\n\n`software-dev` · `devops-setup` · `marketing-outreach` · `document-creation` · `data-crunching`\n· `general-admin` · `deep-research` · `creative-design` · `autonomous-loops`\n\nEach defines what *done* and *verified* mean for that work, its quality gates, its failure\nmodes, the skills\u002Ftools that help, and a STOP-table addendum. See\n[`docs\u002F07-how-to-pick-a-profile.md`](docs\u002F07-how-to-pick-a-profile.md).\n\n---\n\n## The one habit that makes it compound\n\nWhen the agent stumbles — you had to correct it, it iterated too much, you re-derived an old\ndecision — don't just fix the symptom. **Improve the harness** so that class of mistake is less\nlikely next time: a sharpened rule, a new gate, a hook, a skill, a feedback note\n(`core\u002F60-evolving-the-harness.md`). *Most agent failures are configuration failures.* A harness\nthat gets a little better every session beats any one-off fix.\n\n---\n\n## Permissions & dangerous mode ⚠\n\n**Safety mode** decides how much the agent does without asking. Setup ships two presets and\npicks one for you:\n\n| Mode | `defaultMode` | Behaviour | Chosen when |\n|---|---|---|---|\n| **cautious** | `acceptEdits` | Auto-applies **file edits**, but **prompts before shell commands and network calls**. | The **wizard default** (`.\u002Fsetup.sh` with no flags). |\n| **trusted** | `bypassPermissions` | Runs **most tool calls without asking** — edits, shell, network. (The `rm -rf \u002F` and `rm -rf ~` circuit-breakers still prompt.) | The **flag-path default** (direct `--profile …`), and whenever you pass `--safety trusted`. |\n\nOverride either way with `--safety cautious|trusted`. The chosen preset is scaffolded to\n`.claude\u002Fsettings.local.json.example`; copy it to `.claude\u002Fsettings.local.json` to activate.\n(Under **cautious**, setup also leaves the global dangerous-mode confirmation **on** —\n`skipDangerousModePermissionPrompt: false` — instead of the trusted box's `true`.)\n\n**The risk of trusted mode:** a wrong or manipulated step can delete files, exfiltrate data\n(e.g. `curl`), or push to a remote **without a prompt**. It's acceptable **only on a machine you\nfully own** — not a shared, client, or production machine. If you're new to this, stay on\ncautious (the default) until you trust the setup.\n\n**To change it later** (plain JSON — takes effect next session):\n\n- Set `\"defaultMode\"` in `.claude\u002Fsettings.local.json` to `\"acceptEdits\"` (cautious),\n  `\"default\"` (prompt for everything), or `\"bypassPermissions\"` (trusted).\n- Toggle `\"skipDangerousModePermissionPrompt\"` in `~\u002F.claude\u002Fsettings.json` to restore or skip\n  the dangerous-mode confirmation.\n- Org-wide lock: a managed-settings policy can set\n  `\"permissions\": { \"disableBypassPermissionsMode\": \"disable\" }` so no project can re-enable it.\n\n## Requirements\n\n- **Claude Code** (or another agent that reads a `CLAUDE.md`\u002F`AGENTS.md`). The rules are plain\n  Markdown and work with any of them.\n- **bash + jq** for `setup.sh` (jq optional but recommended — it merges settings instead of\n  overwriting). Scripts are POSIX-ish bash; no other runtime required.\n- Plugins are optional and load on demand — nothing here *requires* them to function.\n\n## Principles & influences\n\nThe harness doesn't invent its ideas — it earns them from real incidents on a production project,\nand it stands on a body of public work. Every principle is mapped to who said it first, with\nquotes and source links, in [`docs\u002F16-influences.md`](docs\u002F16-influences.md).\n\n**Pairs well with [`pm-skills`](https:\u002F\u002Fgithub.com\u002Fphuryn\u002Fpm-skills).** That toolkit is the\n\"decide *what* to build and why\" half — product discovery, strategy, launch; Agentsmith is the\n\"build it so it keeps existing\" half. Different layer, same goal — and they compose on the same\nmachine. More in [`docs\u002F16-influences.md`](docs\u002F16-influences.md#complementary-work-not-influences).\n\n## License \u002F provenance\n\n**[MIT](LICENSE)** — yours to reuse, adapt, and ship, commercially or otherwise; just keep the\ncopyright notice. Nothing here is vendored third-party code, so there are no upstream obligations\nattached. Contains no credentials, hostnames, or project-specific data (verified at build). The\nconceptual framing stands on prior public work, credited in full in\n[`docs\u002F16-influences.md`](docs\u002F16-influences.md); the rules are earned from real incidents on a\nproduction project.\n\n---\n\n## Who's behind this\n\nI'm Lukas Hertig, founder of [PromptPartner](https:\u002F\u002Fwww.promptpartner.ai). Two decades in B2B\nSaaS and cloud taught me the same lesson over and over — most recently while scaling a software\ncompany to a €1.5B exit: **the value is in the system and the context, not the tool.**\n\nThat's the whole thesis of this harness. Most AI projects don't fail on the technology — the\nmodels work. They fail on the prompts, the context, and staying pointed at a real business\nproblem. So we built the scaffolding that keeps an agent honest, ran it on real client and\ninternal work for months, and let it earn its rules the hard way. This repo is that scaffolding,\ngeneralized.\n\n**Doing this in your own stack and want a second pair of eyes?** No pitch — just free, specific\nrecommendations. [Book 30 minutes](https:\u002F\u002Fcal.com\u002Fpromptpartner\u002F30min), or start at\n[promptpartner.ai](https:\u002F\u002Fwww.promptpartner.ai).\n\n---\n\n## Star history\n\nIf this saves you setup time, a star helps others find it.\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FPromptPartner\u002Fagentsmith?style=social)](https:\u002F\u002Fgithub.com\u002FPromptPartner\u002Fagentsmith\u002Fstargazers)\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=PromptPartner\u002Fagentsmith&type=Date)](https:\u002F\u002Fstar-history.com\u002F#PromptPartner\u002Fagentsmith&Date)\n",2,"2026-07-19 02:30:03","CREATED_QUERY"]