Scan a codebase and recommend Claude Code automations tailored to its stack — which MCP servers, skills, hooks, subagents, and plugins would actually earn their keep here. Use when: 'what automations for this repo?', 'scan this codebase for Claude setup', 'what should I build as a skill/hook/subagent?', 'what MCP servers should I install here?', 'audit my Claude setup for this project', 'new-project automation review', 'first-time Claude Code setup for this codebase', 'recommend plugins for X project', 'what's missing from my .claude/ setup?'. Output: a prioritized report grouped by automation type, each with the codebase signal that triggered it. Delegates the 'skill vs hook vs subagent vs MCP' decision rules to /claude-expert; owns the scan workflow + signal-to-recommendation mapping itself. Read-only — suggests, does not build.
Scan a repository's stack, patterns, and conventions, then propose the handful of Claude Code automations (MCP servers, skills, hooks, subagents, plugins) that would actually pay off.
For the underlying "what type of automation fits this need?" decision, defer to /claude-expert's decision table. This skill is about reading the codebase and mapping its signals to concrete recommendations.
Collect signals in a single parallel burst. Read-only; no writes.
# Project manifests — pick the stack
ls -la package.json pyproject.toml Cargo.toml go.mod pom.xml Gemfile requirements*.txt 2>/dev/null
# Top of manifest to catch deps without loading the world
head -80 package.json pyproject.toml 2>/dev/null
# Existing Claude Code wiring
ls -la .claude/ CLAUDE.md .agents/ .mcp.json 2>/dev/null
# Layout cues
ls -la src/ app/ lib/ tests/ e2e/ pages/ api/ server/ client/ 2>/dev/null
# Tooling signals
ls -la .prettierrc* .eslintrc* ruff.toml .ruff.toml tsconfig.json pytest.ini 2>/dev/null
ls -la .github/workflows/ .gitlab-ci.yml 2>/dev/null
# Sensitive files to protect with hooks
ls -la .env* *.lock package-lock.json yarn.lock poetry.lock 2>/dev/null
Parallelize with multiple Bash calls in one message — these are independent.
Signal tables (keep to 1–2 recommendations per category; don't flood):
| Signal | Recommend | Why |
|---|---|---|
| Popular framework (React, Vue, Next, Express, FastAPI, Django, Rails) in deps | context7 | Live docs for anything the LLM might stale on |
Playwright/Puppeteer deps or .spec.ts/.e2e. files | Playwright MCP or chrome-devtools | Browser automation, visual debugging |
| PostgreSQL/Supabase/Prisma usage | postgres / supabase MCP | Schema + query tooling |
.github/ workflows present | GitHub MCP | PR/issue/actions from the agent |
| Cloudflare bindings / wrangler.toml | cloudflare MCP | Workers/D1/R2 ops |
| Postman collections in repo | postman MCP | Sync specs + tests |
.claude/skills/<name>/ or user-scope)| Signal | Create skill | Scope |
|---|---|---|
| Project-specific workflow with >2 invocations per week | Named skill with triggers | Project |
| API with OpenAPI/route handlers | api-docs or api-standards | Project |
| Test suite + team conventions | gen-test with project examples | Project |
| CLAUDE.md references a manual "always do X" step | Skill that automates X | Project |
| Recurring audit (type drift, schema drift, i18n coverage) | maintenance-style skill | Project |
For how to author the skill itself (SKILL.md shape, frontmatter, progressive disclosure) → /claude-expert.
.claude/settings.json or project settings.json)| Signal | Hook | Type |
|---|---|---|
| Prettier/ESLint/Ruff/Black configured | Auto-format + lint on file save | PostToolUse(Edit/Write) |
| TypeScript project | tsc --noEmit after edits to .ts | PostToolUse(Edit/Write) |
| Test dir + fast tests | Run related tests after edits | PostToolUse(Edit/Write) |
.env* or secret files present | Block edits to .env* | PreToolUse(Edit/Write) |
| Lock files present | Block direct lock edits | PreToolUse(Edit/Write) |
| Agent produces commits | Pre-commit review hook | PreToolUse(Bash git commit) |
"Whenever X happens, do Y" = hook. "Sometimes I do Y after X" = skill or slash command.
.claude/agents/ or .agents/agents/)| Signal | Subagent | Why |
|---|---|---|
| Auth / payments / PII code | security-reviewer | Isolated, read-only, focused review |
| Large codebase (>500 files) | code-reviewer | Separate context, parallel review |
| Frontend-heavy | ui-reviewer or ux-accessibility-reviewer | Domain-specific lens |
| API project | api-standards | MCP/OpenAI spec compliance |
| Fan-out-able tasks (file scans, doc extraction) | Haiku-tier worker subagent | Cheap, parallel |
Tool allowlist: read-only reviewers get Read, Grep, Glob only. For model tiers + parallel dispatch see /metaprompt.
| Signal | Plugin | Why |
|---|---|---|
| Active PR/CI work | commit-commands, code-review | Commit + review ergonomics |
| Frontend design | frontend-design | Design system + component patterns |
| Postman ecosystem | postman | Deep Postman integration |
| Cloudflare infra | cloudflare | Workers/D1/R2/etc. |
| Figma-driven UI | figma | Code-connect + implementation |
Be skeptical of plugins that duplicate existing skills (/claude-expert can recommend uninstalls after a sweep).
Produce ONE report, no more than 1–2 recommendations per category. Format:
# Claude Code automation recommendations — <project>
## Codebase profile
- Stack: <language/framework>
- Size: <files/LOC rough>
- Existing Claude wiring: <.claude/ contents, CLAUDE.md present?>
- Notable patterns: <tests, docs, CI, sensitive files>
## Recommendations
### 🔌 MCP servers
1. **<name>** — Signal: <what triggered it>. Payoff: <what it saves>.
### 🧩 Skills
1. **<name>** — Signal: <…>. Build as project-scope skill at `.claude/skills/<name>/`.
### 🪝 Hooks
1. <Hook type on matcher> — Signal: <…>. Prevents: <…>.
### 🤖 Subagents
1. **<name>** — Signal: <…>. Tool allowlist: <Read, Grep, Glob | …>.
### 📦 Plugins (optional — install only if you'd use ≥3x/month)
1. <plugin name> — Signal: <…>.
## Not recommended
<Things the signals suggest but you should skip — explain why briefly>
.claude/settings.json, never install a plugin, never scaffold a skill. Output the recommendation; let the user pick what to build..env.example but no actual .env — skip the env-block hook until a real .env appears")..claude/skills/ and .agents/skills/ first; don't suggest a skill with the same name..claude/skills/ or .agents/skills/ (commits with the repo). Cross-project → user scope. Never put a product-named skill in user scope./claude-expert.claude plugin ...; don't do it for them./metaprompt./librarian.