by mturac
Ghost personas review your code before it ships. Find edge cases, race conditions, and business logic bugs before production.
# Add to your Claude Code skills
git clone https://github.com/mturac/simulacrasimulacra is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by mturac. Ghost personas review your code before it ships. Find edge cases, race conditions, and business logic bugs before production. It has 57 GitHub stars.
simulacra's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/mturac/simulacra" and add it to your Claude Code skills directory (see the Installation section above).
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh simulacra against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Without Simulacra — you ship this:
function applyDiscount(cart) {
if (cart.total >= 500) {
cart.items.forEach(item => item.price *= 0.8);
}
return cart;
}
"Looks fine. Ship it." ✅
With Simulacra — three ghosts find three bugs:
👤 Reckless Rick (The Adversary): "Your
forEachmutates prices in place. I hit Back twice — 630 TL cart drops to 322 TL. Your company eats the 308 TL difference."🔥 IDEMPOTENCY — 🔴 Critical
👤 Corporate Claire (Enterprise Edge): "I'm paying in EUR.
cart.total = 200fails the>= 500check. My 7000 TRY order gets no discount. I'm switching vendors."🔥 BUSINESS-LOGIC — 🟠 High
👤 OOM Reaper (Chaos Monkey): "Memory spike at item 7 of 14. Half the cart is discounted, half isn't. No rollback. The corruption persists to your database."
🔥 PARTIAL-FAILURE — 🔴 Critical
Three bugs. Zero lines of test code. Before the PR even opens.
/plugin marketplace add mturac/simulacra
/plugin install simulacra@simulacra
/plugin install skill-scorer@simulacra
cp -r skills/simulacra ~/.codex/skills/
cp -r skills/skill-scorer ~/.codex/skills/
Copy skills/simulacra/SKILL.md to your project's .cursor/skills/ (or equivalent) directory.
cp -r skills/simulacra ~/.config/gemini/skills/ # gemini
cp -r skills/simulacra ~/.opencode/skills/ # opencode
npx skills add mturac/simulacra
Copy the skills/ folder to your agent's skill directory. The skills are pure
markdown — no dependencies, no build step, no runtime.
Every code review spawns 3 ghost personas by default (up to 7 on request):
| Ghost | Perspective | Hunts For |
|---|---|---|
| 👤 The Adversary | User who breaks things | Race conditions, double-submit, replay attacks, back-button abuse |
| 🏢 Enterprise Edge | Complex business customer | Multi-currency, tax exemptions, B2B rules, locale, permissions |
| 🐵 Chaos Monkey | Infrastructure bad day | Timeouts, partial failures, OOM, connection drops, network partitions |
| 🧑💻 Junior Dev (+request) | Future maintainer | Readability, magic numbers, implicit knowledge, missing docs |
| 📈 The Scaler (+request) | 1000x traffic | N+1 queries, unbounded loops, missing pagination, memory growth |
| 🔒 The Auditor (+request) | Security & compliance | Injection, auth bypass, data exposure, sensitive logging |
| ⏰ Time Traveler (+request) | 6 months from now | Dependency rot, API deprecation, schema drift, tech debt |
Each ghost produces:
Bonus skill included. Rate any SKILL.md on a 0-100 scale.
> Score this skill: [paste any SKILL.md]
10 dimensions. Weighted composite. SHIP / REWORK / SCRAP verdict:
| Score | Verdict |
|---|---|
| 80-100 | 🟢 SHIP IT |
| 60-79 | 🟡 REWORK |
| 40-59 | 🟠 MAJOR REWORK |
| 0-39 | 🔴 SCRAP |
Calibrated against Anthropic's own skill-creator rubric. Average skill scores 45-55.
┌──────────────┐
│ Your Code │
└──────┬───────┘
│
▼
┌──────────────┐ ┌─────────────────────────┐
│ Complexity │────▶│ Trivial? → One-line │
│ Gate │ │ "Low risk" + stop │
└──────┬───────┘ └─────────────────────────┘
│ Non-trivial
▼
┌──────────────┐
│ Butterfly │ 6 checks: idempotency, mutation,
│ Effect Scan │ transactions, races, cache, biz logic
└──────┬───────┘
│
▼
┌──────────────┐
│ Ghost │ 3-7 personas spawned
│ Personas │ Each with unique failure perspective
└──────┬───────┘
│
▼
┌──────────────┐
│ Structured │ Timeline + Testimony + Bug Report
│ Simulation │ per ghost (mandatory slots)
└──────┬───────┘
│
▼
┌──────────────┐
│ Resolution │ Tier 1: Quick Fix
│ Tiers │ Tier 2: Robust Architecture
│ │ Tier 3: Generated Test Suite
└──────┬───────┘
│
▼
┌──────────────┐
│ JSON Output │ Machine-readable bug report
│ + Summary │ for CI/CD and issue trackers
└──────────────┘
Simulacra v2 tested against 25 common code snippets with known bugs:
| Metric | Result |
|---|---|
| True positives (real bugs found) | 68/82 (83%) |
| False positives (fabricated bugs) | 3/82 (3.7%) |
| Unique bugs (not caught by linters) | 41/68 (60%) |
| Average ghosts needed to find all bugs | 2.4 |
| Bugs found by Adversary ghost only | 23 |
| Bugs found by Enterprise ghost only | 12 |
| Bugs found by Chaos ghost only | 15 |
Methodology: 25 TypeScript/Python snippets with seeded bugs (idempotency, race, partial-failure, business-logic). Each run 3x. Scored against known bug list.
Bugs are characters, not warnings. Static analyzers give you lint errors. Simulacra gives you stories. A story about Rick hitting the back button three times is more memorable — and more actionable — than "potential mutation detected."
Silence is better than noise. If a ghost can't find a real bug, it says so. No fabricated issues to seem thorough. The complexity gate ensures trivial code doesn't get forced theater.
Structured output is a first-class citizen. Every simulation produces JSON alongside the narrative. Your CI pipeline can consume it. Your issue tracker can import it. The ghosts are entertaining but the data is what ships.
See CONTRIBUTING.md. The easiest way to contribute:
skills/simulacra/demo/skills/skill-scorer/examples/MIT — see LICENSE.