optimus-prime
Generates a Claude Code configuration tailored to a specific project. Use whenever the user wants to prime a project, set up claude for a repo, bootstrap claude config, or re-prime/refresh an already-primed project (for example after `/prime-sync` pulled new starter content). Triggers on 'prime', 'prime this project', 'optimus-prime', 're-prime', 'refresh claude config', 'regenerate CLAUDE.md', 'set up claude for this repo'. Deeply analyzes the real codebase and builds project-specific skills, rules, and CLAUDE.md — not generic boilerplate. For ongoing config health checks and proposal review, use `self-evolve` instead.
git clone --depth 1 https://github.com/avibebuilder/claude-prime /tmp/optimus-prime && cp -r /tmp/optimus-prime/.claude/skills/optimus-prime ~/.claude/skills/optimus-primeSKILL.md
Ultrathink. ## Mission Generate a Claude configuration that fits the specific project. Every skill, rule, and CLAUDE.md entry must exist because this project needs it — not because a template included it. Analyze the real codebase deeply, understand its conventions and patterns, and build a config that makes Claude work well here. ## Modes - **Fresh prime** — no claude config yet. Build from scratch. - **Re-prime** — claude config already exists. Preserve intentional project work, refresh what is stale or generic, fill gaps. Default to re-prime whenever meaningful existing config is found. Never overwrite it wholesale without user approval. ## Flow 1. **Analyze** the repo deeply — stack, conventions, boundaries, docs, existing config. See [analysis-checklist.md](./references/analysis-checklist.md). 2. **Propose** findings using the Output Format below. Do not touch meaningful files before approval. 3. **Create skills** via `/skill-creator` — every skill must go through skill-creator to ensure quality and project fit. Starters in `.claude/starter-skills/` are reference input to accelerate creation, not templates to copy. 4. **Generate or refine CLAUDE.md** — lean, high-signal, always-on context only. Point to docs/READMEs for detail. 5. **Rules only if needed** — apply the rule test. Zero rules is valid. 6. **Offer CLAUDE.local.md** — personal preferences (role, sandbox URLs, preferred test data, workflow quirks), gitignored. 7. **Clean up** — delete `.claude/starter-skills/` after processing. Keep protected skills. Confirm all deletions. 8. **Verify** — references resolve, stack claims match evidence, config is project-specific not generic. 9. **Offer skill optimization** — after everything is set up, offer optimization paths sized to how many new skills were created. ≤3 skills: recommend full optimization for all. >3 skills: recommend full optimization for user-designated core skills only + description optimization for the rest (avoids long execution time and token burn). Always emphasize that full optimization takes meaningful time and tokens. **Run sequentially — never in parallel; concurrent runs overload the user's machine.** Follow full step-by-step in [setup-project.md](./references/setup-project.md). ## Placement Decision Matrix Every piece of knowledge must earn its place. Use this to decide where it belongs: | Detected need | Where it belongs | Test | |---|---|---| | General framework/library knowledge | Skill (via `/skill-creator`) | Would a reusable skill teach this across projects? | | Project-specific constraint that still produces wrong code with the right skill loaded | `.claude/rules/<name>.md` with `paths:` | With the relevant skill activated, will code still be wrong without this? | | Identity, commands, stack, key architecture, reference pointers | `CLAUDE.md` | Should this be always-on for most tasks in this repo? | | Detailed architecture or domain explanations | Existing `docs/`, READMEs — referenced from CLAUDE.md | Valuable but too detailed for always-on? | | Dense agent-oriented reference material - referenced from CLAUDE.md | `.claude/project/` (optional) | Do agents need a tighter reference than the human docs provide? | ## Principles - **Domain-scoped, project-fitted.** Skills target a capability, not the project itself — with this project's patterns baked in. Generic templates and project-named catch-alls both degrade context quality. - **Repo evidence is the source of truth.** Verify conventions from actual source files, configs, and docs. Do not assert what you haven't confirmed. - **Lean context, high signal.** Follow the context engineering philosophy — load only what's needed, when it's needed. CLAUDE.md carries always-on essentials. Skills load on demand. Rules auto-attach by path. - **Rules are optional and path-scoped.** Only create a rule when the rule test passes. Do **not** modify `_apply-all.md` — it is a universal boilerplate rule from prime, not project config. - **Reuse over duplication.** If the project has strong docs, point to them. Do not re-author parallel agent docs unless existing material is too noisy or incomplete. ## Output Format Before making non-trivial changes, report findings in this shape: ### Current State What Claude config already exists; what the repo evidence says about stack, tooling, and conventions. ### Proposed Changes What to create, update, keep, or remove — including which skills to build and what each should cover. ### Files to Touch Concrete file list with short purpose notes. Include these only when non-empty: - **Decisions Needing User Input** — overwrites, deletions, or major structural changes - **Risks / Assumptions** — inferred facts that still need verification After approval, implement and finish with a short summary of what changed and any follow-ups. ## References | Reference | Content | |---|---| | [analysis-checklist.md](./references/analysis-checklist.md) | What to inspect during repo + existing-config review | | [setup-project.md](./references/setup-project.md) | Fresh-prime / re-prime step-by-step workflow | ## Additional Context (Optional) <user-context>$ARGUMENTS</user-context>
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
Answer questions about code, architecture, and technical decisions — no implementation. Trigger on questions asking 'why', 'what does this do', 'what is the purpose of', 'explain', 'what's the difference', 'compare', or 'what are the tradeoffs' — even when referencing specific files, code snippets, or inline code. The key signal is the user wants to UNDERSTAND something, not change it. Do NOT trigger for requests to build, fix, plan, review, research, or add/modify code.
Implement, build, create, or add any feature, endpoint, page, component, or functionality. Use this skill whenever the user asks you to write new code or make code changes — whether it's adding an API endpoint, building a UI page, creating an export feature, wiring up a webhook, implementing a search/filter, or any other hands-on coding task. This is the default skill for all 'build this', 'add this', 'create this', 'wire up', 'implement' requests. Covers the full cycle: clarify requirements, plan if needed, write code, verify, and review. Do NOT use for pure research, debugging, documentation, or explanation — only when the user wants working code delivered.
Use when the user wants to save knowledge as a file so others don't have to rediscover it — \"turn this into a doc\", \"write this up\", \"document how X works\", \"we figured this out and want to capture it\", \"nobody should have to figure this out again\". Covers any request to create or update durable written artifacts: onboarding guides, runbooks, ADRs, API docs, architecture notes, postmortems, changelogs, setup guides. The trigger: user wants knowledge captured in a file for future reference, not just a conversation. Do NOT use when still making decisions (→ give-plan), just asking for explanation without a file (→ ask), or writing code (→ cook).
Investigate unexpected behavior and mysterious bugs. Use when the cause of a problem is unknown and the user needs to understand WHY something is happening — symptoms like: sudden unexplained changes in metrics or behavior, works locally but not in staging/production, inconsistent or intermittent failures, correct code producing wrong results, operations succeeding but having no effect, environment-specific failures, duplicate executions, stale data, or any \"why did this change?\" or \"why is this happening?\" situation. Covers infrastructure anomalies (cache hit rates dropping, latency spikes, queue behavior shifts) as well as code bugs. The key signal is confusion about root cause, not a request to implement a known fix. Do NOT use for feature requests, known fixes, planning, or documentation tasks.
Brainstorms and debates approaches, then drives toward an actionable decision. Use whenever someone needs a thinking partner for a decision they're facing: 'discuss', 'debate', 'brainstorm', 'weigh options', 'tradeoffs', 'should I do X or Y', 'help me decide', 'I'm torn between', 'sanity check my thinking', or 'what do you think about'. The user must be asking for help reasoning through a choice — not asking to build, fix, evaluate, plan, or modify something (even if the topic involves this skill itself). Picks the right decision lens, surfaces tradeoffs and blind spots, pushes back when reasoning is genuinely weak, and never implements.
Fetch up-to-date documentation for any library, framework, API, or service into context. Use when the user wants to look up API references, check function signatures or required fields, find feature-specific docs, or verify how an external tool actually works. Triggers for queries about third-party libraries like Stripe, SQLAlchemy, Tailwind, FastAPI, shadcn, Drizzle, Hono, Better Auth — any time the answer lives in official docs rather than in the project codebase. Use this instead of guessing from trained knowledge, which is stale.
Fix bugs and broken behavior when there is enough evidence to act on a repair path. Use for errors, crashes, incorrect results, API failures (500, 404, 403), CORS problems, database exceptions, broken rendering, duplicated or wrong data, off-by-one mistakes, timezone/date bugs, broken forms, config-caused runtime failures, and regressions. Trigger when the user wants the bug repaired and the conversation already contains a clear failing area, a reproducible failing test, a concrete error path, or a prior diagnosis to implement. Do NOT use for new features, pure explanation, architecture discussion, broad research, or bug reports where the main need is figuring out why the behavior happens — use diagnose for that.