“This should be a skill”
The analyst can argue down as well as up: the task has no real decisions, so an agent loop only adds cost.
Most teams pick an agent architecture first and hope it holds. simagent turns that around. You write the intent, the lab simulates competing architectures against adversarial scenarios, and it recommends the smallest design that reliably does the job.
Recommended Architecture ──────────────────────── Architecture complexity: 2/10 ✓ Pre-commit deterministic hook ✓ Coverage analysis skill ✓ PR evaluation skill ✓ CI workflow ✗ Coordinator unnecessary ✗ Subagents unnecessary ✗ MCP unnecessary ✗ Persistent state unnecessary
The problem
Does this problem deserve another agent?How many agents can we put in here?
A team decides it needs “four agents, two skills and three hooks” before anyone has tested whether one skill and a hook would do. Multi-agent systems do beat simpler designs on the right, highly parallel work. They also cost more, run slower, burn more context and are harder to maintain, and nobody measured whether the trade was worth it.
simagent was written to make that decision with evidence, and to make it a permanent step in engineering rather than a one-off debate:
How it was designed
In RepoGenics, AI makes the guesses, tests pick the winners and the repo remembers. simagent runs the same loop one level up: the thing evolving is the shape of the agent system.
The selective pressure. Goal, inputs, outputs, success criteria, constraints and expected failure modes, written before any design.
The Architecture Generator proposes competing candidates instead of trusting the first design it invents.
Every candidate runs every scenario. The evaluator scores outcomes, cost and burden; the weakest shapes are rejected with reasons.
The proven architecture becomes a blueprint in the repo, and failure clusters feed the next intent, so lessons are not relearned.
Non-bypassable policies become deterministic hooks. The minimum sufficient rule keeps unneeded agents out.
The core idea
The lab starts at the bottom of the ladder and climbs only when the scenarios demand it. Sometimes the right answer is a single skill. Sometimes it is ordinary deterministic code.
Inside the lab
An intent goes in on the left. A proven architecture, its evidence and a generated repository come out on the right. When simulations fail, the Failure Analyst sends revised hypotheses back to the start.
Captures goal, inputs, outputs, success criteria, constraints, environment and expected failure modes.
Produces competing candidates, from a single skill to a coordinator with specialized workers.
Builds realistic and adversarial cases: bad input, tool timeouts, agent loops, context exhaustion, security violations.
Runs every candidate across every scenario in a sandbox with real prompts, mock MCP servers and failure injection.
Scores outcomes, not transcripts: quality, reliability, context and tool efficiency, cost, latency, burden.
Clusters failures, names root causes and recommends architecture changes, so the lab teaches as well as grades.
Writes the proven design into a runner’s layout. The architecture comes first; the vendor format comes last.
The experiment
Fifteen scenario types in five families. A design that only survives the happy path is not a design you can ship. Runs scale from 20 to 50 to 100 per cell as confidence is needed.
The teaching part
Instead of a red FAILED, the analyst explains the cluster. In the spec’s worked example, a large share of failures traced back to one decision: the coordinator handed every worker the whole repository. The fix is an architecture change, and the lab re-runs to prove it.
The analyst can argue down as well as up: the task has no real decisions, so an agent loop only adds cost.
The rule is a non-bypassable policy, so it belongs in deterministic code, not in a prompt the model may skip.
The sub-tasks are genuinely independent, so parallel workers improve completion time and keep each context clean.
The deliverable
Once a design is proven, the Blueprint Generator writes it in the layout of the team’s tool. Switching runners means regenerating the blueprint, not re-deciding the architecture.
.github/ ├── intents/ ├── skills/ ├── agents/ ├── prompts/ ├── hooks/ ├── workflows/ ├── instructions/ └── evals/
.claude/
├── skills/
├── agents/
├── hooks/
└── commands/
Cursor, Gemini and future runners
follow the same pattern.Grounded in practice
simagent is not betting on future AI. The pieces are practices Anthropic has described publicly; simagent wraps them around an intent-first decision about architecture.
Simulate before production. Anthropic’s write-up of its multi-agent research system describes testing agents in simulation with the real prompts and tools, and using a tool-testing agent to rewrite tool descriptions after observing failures. It also reports that multi-agent runs used roughly 15× the tokens of a chat. Read the post
Generate scenarios, judge at scale. Bloom, Anthropic’s open-source evaluation framework, generates scenarios, runs rollouts with simulated users and tools, and judges the results. Read about Bloom
The evidence
| Intent and design written | DONEThe repository’s README and intent document define the lifecycle, the minimum sufficient architecture principle and the design goals. |
|---|---|
| Seven capabilities specified | DONEEach capability has its inputs, outputs and responsibilities written down, from Intent Analyzer to Blueprint Generator. |
| Scenario taxonomy | DONEFifteen scenario types are named, covering input, repository shape, tool failures and agent behavior. |
| Worked example | DESIGNEDThe test-coverage intent and its recommended output show the target format. They are a specification, not a measured run. |
| Simulation Runner and Evaluator | NOT YETThe sandbox, mock MCP servers, failure injection and scoring are the next build. No success rates are claimed until they run. |
| Blueprint Generator | NOT YETThe target layouts for Copilot and Claude Code are defined; generation is not implemented. |
Why it matters
Token cost, latency and maintenance are paid only where the scenarios show a simpler design fails.
Every recommendation comes with the rejected candidates and the failure clusters that ruled them out.
The decision is made once, independent of vendor, and expressed in whichever runner the team uses.
Bring an intent. Leave with the smallest architecture that meets it, the evidence behind the choice, and a repository layout your team’s runner understands.
Talk to Repogenicsimagent is at the design-specification stage. The recommendation shown above is the target output from the spec, not a measured result. View the repository