Skip to content

AI Coding Agent Setup Reference

A curated, reusable catalog for configuring and extending AI coding agents — MCP servers, Skills, Subagents, Slash Commands, Hooks, Plugins, Rules, and memory files — across Claude Code, Cursor, Codex, Windsurf, and the rest. Pull from this any time you stand up a new machine, repo, or product so you never re-research the ecosystem.

0. The Mental Model — 6 Configuration Layers

Section titled “0. The Mental Model — 6 Configuration Layers”

Every modern agent (Claude Code, Cursor, Codex, Windsurf, Cline…) is configured through some combination of these six layers. Learn the layers once; the per-tool syntax is just dialect.

LayerWhat it isWhen it loadsAnalogy
1. Memory / Custom InstructionsAlways-on project context (CLAUDE.md, AGENTS.md, Cursor “Rules for AI”)Every messageThe agent’s constitution
2. RulesConditional instructions scoped by file/glob/description (Cursor .mdc)When their scope matchesStyle guide that opens to the right page
3. SkillsOn-demand expertise packets (SKILL.md + scripts)When the task matches the descriptionA specialist you call in
4. MCP ServersExternal tool/data access (GitHub, DB, browser, APIs)When the agent needs to act on somethingThe agent’s hands
5. SubagentsIsolated agents for parallel/heavy workWhen delegated toJunior teammates
6. HooksCode that fires automatically on events (pre/post tool use)On the triggering eventReflexes / quality gates
(+) PluginsBundles of the above, shared with one installOn installThe whole toolbox, packaged

Rule of thumb: Memory tells it how to think → Rules refine that conditionally → Skills give repeatable expertise → MCP gives it hands → Subagents parallelize → Hooks enforce → Plugins package it all to share.


Where each layer physically lives, per tool. Bookmark this table — it’s the thing you’ll actually look up.

LayerClaude CodeCursorCodex CLIClaude Desktop
MemoryCLAUDE.md (project), ~/.claude/CLAUDE.md (global), CLAUDE.local.md.cursor/rules/ + AGENTS.mdAGENTS.md (walks root→cwd)
Rules(use CLAUDE.md / skills).cursor/rules/*.mdcAGENTS.md per-folder
Skills.claude/skills/ (project), ~/.claude/skills/ (user).agents/skills/ / via marketplace.agents/skills/ (project), ~/.codex/skills/ (user)Uploaded in UI / API
MCP.mcp.json (project) or claude mcp add.cursor/mcp.json (project), ~/.cursor/mcp.json (global)[mcp_servers] in ~/.codex/config.toml or codex mcp addclaude_desktop_config.json + Connectors UI
Subagents.claude/agents/*.md(agent mode)[agents] in config.toml
Commands.claude/commands/*.md (now unified w/ skills)(chat)(skills)
Hookssettings.json hooks blockCursor Hookshooks.json / [hooks] in config.toml
Plugins/plugin + marketplacesMarketplacecodex plugin marketplacesConnectors
Settings~/.claude/settings.jsonSettings UI / .cursor/~/.codex/config.tomlApp settings

The convergence: AGENTS.md (memory) and SKILL.md (skills) are becoming cross-tool standards — write once, most agents read them. MCP is universal. The tool-specific bits are mostly rules format and settings location.


The USB-C port for AI — one open standard so any compliant client can plug into any compliant server. Created by Anthropic (Nov 2024), donated to the Linux Foundation’s Agentic AI Foundation in Dec 2025 (vendor-neutral now). ~10K servers in the official registry as of mid-2026.

  • Host = the AI app (Claude Code, Cursor, Codex, Claude Desktop, ChatGPT).
  • Server = the integration (GitHub, Postgres, browser…). One client per server.
  • Transports: stdio (local process, fastest for local tools) and Streamable HTTP (remote servers; replaced the old SSE transport). Pick stdio for local dev tools, HTTP for hosted/team services.
  • Primitives: Tools (actions), Resources (data), Prompts (templates).
ResourceURL
Spec & docshttps://modelcontextprotocol.io/
Official registry (“app store”)https://github.com/modelcontextprotocol/registry
Reference servers repohttps://github.com/modelcontextprotocol/servers
MCP Inspector (debug/test servers)https://github.com/modelcontextprotocol/inspector
Spec blog (roadmap, releases)https://blog.modelcontextprotocol.io/

Official reference servers (the maintained core set)

Section titled “Official reference servers (the maintained core set)”

Install pattern: npx -y @modelcontextprotocol/server-<name>.

ServerPurpose
FilesystemScoped read/write to local files
GitLocal repo operations
FetchFetch + convert web content for the model
MemoryPersistent knowledge-graph memory
Sequential ThinkingStructured multi-step reasoning
TimeTime/timezone utilities
EverythingReference/test server exercising all primitives

Note: many early reference servers (GitHub, Slack, Postgres, Puppeteer, GDrive) graduated into vendor-maintained official servers in their own repos — see below.

High-value production servers (your stack)

Section titled “High-value production servers (your stack)”
ServerWhat it doesWhere
GitHubPRs, issues, repo mgmt beyond githttps://github.com/github/github-mcp-server
PlaywrightDrive/inspect a real browser (your shared Chrome-profile setup)https://github.com/microsoft/playwright-mcp
Chrome DevToolsControl + inspect Chrome(official, via registry)
Context7Up-to-date library/framework docs injected on demandhttps://github.com/upstash/context7
SupabaseManage DB/auth/storagehttps://github.com/supabase-community/supabase-mcp
PostgreSQLQuery/inspect schemasvia registry (multiple impls)
SentryPull error/trace contexthttps://docs.sentry.io/product/sentry-mcp/
FigmaRead designs into the agenthttps://www.figma.com/ (Dev Mode MCP)
NotionRead/write workspacehttps://github.com/makenotion/notion-mcp-server
StripePayments opshttps://github.com/stripe/agent-toolkit
VercelDeploy/inspect projectshttps://vercel.com/docs/mcp
CloudflareWorkers/KV/R2/D1https://github.com/cloudflare/mcp-server-cloudflare
Exa / PerplexityWeb search for agentshttps://github.com/exa-labs/exa-mcp-server

MCP discovery directories (where to find servers)

Section titled “MCP discovery directories (where to find servers)”
DirectoryNoteURL
Official RegistryCanonical, community-governedhttps://registry.modelcontextprotocol.io/
SmitheryLargest installer/registry, one-click client confighttps://smithery.ai/
GlamaBrowsable server cataloghttps://glama.ai/mcp/servers
PulseMCPNews + directory, updated frequentlyhttps://www.pulsemcp.com/
mcp.soCommunity directoryhttps://mcp.so/
awesome-mcp-servers (appcypher)Curated listhttps://github.com/appcypher/awesome-mcp-servers
awesome-mcp (abordage)Auto-updated dailyhttps://github.com/abordage/awesome-mcp
Terminal window
# Claude Code — local stdio server
claude mcp add github -- npx -y @modelcontextprotocol/server-filesystem ~/code
# Claude Code — remote HTTP server
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# Codex CLI
codex mcp add github -- npx -y @github/github-mcp-server
# (or edit [mcp_servers] in ~/.codex/config.toml)
# Cursor — edit .cursor/mcp.json (or use the Marketplace UI)
claude_desktop_config.json
{
"mcpServers": {
"context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp"] },
"supabase": { "command": "npx", "args": ["-y", "@supabase/mcp-server-supabase"] }
}
}

⚠️ Security: an MCP server runs with your credentials and can read/write whatever you scope it to. Read the source before connecting anything to a host that has your tokens. Matters doubly for your pharma/SOC 2 work — keep prod-credentialed servers off shared/experimental hosts.


Folders of instructions + scripts + resources that the agent loads only when the task matches — keeping the context window clean until needed. Now a cross-tool standard (works in Claude Code, Cursor, Codex, Copilot, Goose, Claude.ai, API…).

ResourceURL
Anthropic Skills repo (official examples + skill-creator)https://github.com/anthropics/skills
Agent Skills standard (cross-tool spec)https://agentskills.io/
Claude Code skills docshttps://code.claude.com/docs/en/skills
Skills API quickstarthttps://docs.claude.com/en/docs/agents-and-tools/agent-skills
ai-agent-skills universal installer (npx)npx ai-agent-skills install <skill> --agent <agent>

A skill is just a folder with a SKILL.md (YAML frontmatter + Markdown body):

---
name: my-skill
description: What it does AND when to use it. Be a little "pushy" — Claude
under-triggers skills. e.g. "Use whenever the user mentions X, Y, or Z,
even if they don't say 'skill'."
# optional: disable-model-invocation: true (manual-only)
# optional: context: fork (run in a subagent to protect main context)
---
Step-by-step instructions. Keep this lean; push examples/edge-cases/templates
into sibling files the agent pulls in only when relevant.
  • skill-creator — Anthropic’s official skill that scaffolds a new skill (structure, SKILL.md, validation, optional PR + local download). It’s in anthropics/skills and ships in Claude.ai. Just say “use skill-creator to build a skill for X.” https://github.com/anthropics/skills/tree/main/skills/skill-creator
  • mcp-builder — companion skill that scaffolds an MCP server (Python FastMCP or TS SDK).
  • Description-writing is the #1 lever: skills mostly fail by under-triggering. Front-load the use case, name concrete trigger phrases, and be slightly pushy.
SourceURL
anthropics/skills (official)https://github.com/anthropics/skills
awesome-claude-code (skills, hooks, commands, agents)https://github.com/hesreallyhim/awesome-claude-code
Smithery (skills section)https://smithery.ai/
Terminal window
# Universal installer (auto-routes to the right folder for your agent)
npx ai-agent-skills install frontend-design --agent claude-code
npx ai-agent-skills install anthropics/skills/pdf
# Claude Code — register the official repo as a plugin marketplace
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills

Isolated agent instances for parallel work and context protection — searching files, scanning logs, deep research — so the main session stays focused. You can assign cheaper/faster models to grunt-work subagents.

ToolWhereHow
Claude Code.claude/agents/*.md (YAML frontmatter: name, description, optional model, tools)/agents to create interactively; invoke by name or natural language
Codex[agents] table in config.toml (+ per-agent config_file)role-based; see Codex Subagents docs
CursorAgent mode / background agentsUI
.claude/agents/code-reviewer.md
---
name: code-reviewer
description: Reviews diffs for bugs, security, and maintainability.
model: claude-haiku-4-5 # cheaper model for grunt work
---
You read code diffs and report issues. Focus on correctness and security.

Pattern that works: a slash command (or skill) invokes a subagent for planning, then the main agent handles execution — structured workflow + full tool access.


User-initiated shortcuts (/command) — saved prompts/workflows, per-project or global. In recent Claude Code, custom commands have merged into skills (a SKILL.md is callable as /skill-name), but the .claude/commands/ folder still works.

ToolWhere
Claude Code.claude/commands/*.md (project), ~/.claude/commands/*.md (user) — or just use skills
Codexvia skills
Built-ins/help, /clear, /model, /agents, /plugin, /doctor, /team-onboarding (Claude Code)

Code that fires automatically on events — invisible, deterministic enforcement. Run Prettier before an edit is accepted, run typecheck after, block a dangerous command, send a desktop notification when a task finishes. ~24 hook events in Claude Code.

ToolWhereEvents (examples)
Claude Codehooks block in settings.jsonPreToolUse, PostToolUse, Notification, Stop, SubagentStop
Codexhooks.json or [hooks] in config.toml (project hooks load only if trusted)command hooks (pre/post)
CursorCursor Hookslifecycle events

Use hooks for quality gates (lint/typecheck/test) and guardrails (never commit without review, never rm -rf). Skills you invoke; hooks just run.


A plugin bundles commands + subagents + MCP servers + hooks + skills into a one-command install — the cleanest way to share a whole setup across repos/teammates.

ToolHow
Claude Code/plugin marketplace add <git-or-local> then /plugin install <name>@<marketplace>
Codexcodex plugin marketplace commands (Git or local sources)
CursorMarketplace UI
ResourceURL
Claude Code plugins announcementhttps://www.anthropic.com/news/claude-code-plugins
awesome-claude-code (plugins, marketplaces)https://github.com/hesreallyhim/awesome-claude-code
anthropics/skills as a marketplacehttps://github.com/anthropics/skills

Your ECC plugin (16 agents / 40 commands / 60+ skills) is exactly this pattern at scale. Your .zaj/ shared-skill protocol is your own private marketplace-in-waiting — packaging it as a real plugin marketplace would make it one-command-installable across every machine/repo.


8. Rules (Cursor-specific, but conceptually universal)

Section titled “8. Rules (Cursor-specific, but conceptually universal)”

Persistent, conditionally-loaded instructions. Cursor moved from a single legacy .cursorrules file to the .cursor/rules/*.mdc directory for scope control + token efficiency (legacy file still read).

Four activation modes — choosing right is the whole game:

ModeLoads whenUse for
Always Applyevery requestyour stack declaration only
Auto Attacheda matching file glob is touchedlanguage/framework rules (React, SQL…)
Agent Requestedthe agent decides from the rule’s descriptiontool-specific (Supabase, Stripe…)
Manualyou type @rule-namerarely-needed specialized rules

Token discipline: Cursor’s working context is ~20k tokens; bloated always-on rules eat your thinking space. Keep all-but-stack rules conditional; write dense, not wordy.

ResourceURL
cursor.directory (rules + MCP catalog)https://cursor.directory/
awesome-cursorruleshttps://github.com/PatrickJS/awesome-cursorrules
Cursor docshttps://docs.cursor.com/

The always-on “constitution.” Keep it tight: build/lint/test commands, conventions, do’s and don’ts, project structure. Re-read every session so you never re-explain the project.

FileRead by
CLAUDE.mdClaude Code (project), ~/.claude/CLAUDE.md (global), CLAUDE.local.md (untracked personal)
AGENTS.mdCodex, Cursor, and a growing list — the cross-tool standard; Codex walks repo-root → cwd concatenating them
ResourceURL
AGENTS.md standardhttps://agents.md/
Anthropic memory/CLAUDE.md docshttps://code.claude.com/docs/en/memory
# AGENTS.md (works in Codex, Cursor, and others)
## Build / Test
pnpm install · pnpm build · pnpm test
## Conventions
- TypeScript strict; no default exports
- Commit format: feat/fix/chore(scope): description
## Guardrails
- Never commit without review · Verify a package is installed before importing

Tip: maintain ONE AGENTS.md as the source of truth and symlink/point CLAUDE.md at it where you want Claude-specific additions — avoids drift across tools. (Fits your .zaj/ shared-protocol goal.)


ClientTypeConfig homeMCPSkillsMemoryNotes
Claude CodeCLI + IDE + desktop + web + iOS~/.claude/, .claude/claude mcp add / .mcp.json.claude/skills/CLAUDE.mdMost mature ecosystem; Agent Teams (Feb 2026). Your primary.
CursorAI-first IDE (+ CLI, JetBrains plugin).cursor/.cursor/mcp.json + Marketplacemarketplace / .agents/skills.cursor/rules + AGENTS.mdBest inline editing; .mdc rules; Background Agent; npm i -g @cursor/cli. Your secondary.
CodexCLI + VS Code ext + desktop~/.codex/config.toml, .codex/[mcp_servers] / codex mcp add~/.codex/skills/, .agents/skills/AGENTS.mdOne config shared across all 3 surfaces; built-in web search; Node 22+. Can run as an MCP server.
WindsurfAI IDE.windsurf/native MCPrulesrules + AGENTS.mdCascade agent; native MCP client.
ClineOpen-source VS Code agentVS Code settingsMCP supportedrulesStrong open-source option.
ZedGPU editorsettingsnative MCPFast; native MCP client.
AntigravityGemini-based agent IDEMCPGoogle, public preview (you’ve evaluated).
KiroAWS spec-driven agent IDEMCPspec filesSpec-first workflow (you’ve evaluated).
Client docsURL
Claude Codehttps://code.claude.com/docs/
Cursorhttps://docs.cursor.com/
Codexhttps://developers.openai.com/codex/
Windsurfhttps://docs.windsurf.com/
Clinehttps://docs.cline.bot/
Zedhttps://zed.dev/docs/

The lists worth bookmarking — they update faster than any static doc.

ListCoversURL
awesome-claude-codeSkills, hooks, commands, agents, plugins, orchestratorshttps://github.com/hesreallyhim/awesome-claude-code
awesome-mcp-servers (appcypher)MCP servers, all categorieshttps://github.com/appcypher/awesome-mcp-servers
awesome-mcp (abordage)Servers + clients + frameworks, daily auto-updatehttps://github.com/abordage/awesome-mcp
awesome-cursorrulesCursor rule templates by stackhttps://github.com/PatrickJS/awesome-cursorrules
cursor.directoryRules + MCP, browsablehttps://cursor.directory/
anthropics/skillsOfficial skills + skill-creator + mcp-builderhttps://github.com/anthropics/skills
SmitheryMCP servers + skills installerhttps://smithery.ai/
MCP official registryCanonical server registryhttps://registry.modelcontextprotocol.io/

Section titled “12. Recommended Zajaly Setup (Committed Baseline)”

Opinionated, given your stack (Claude Code primary, Cursor secondary, the .zaj/ ecosystem, pharma + multi-SaaS work). Adopt this; tune later.

A. One source of truth for memory

  • Maintain a single AGENTS.md per repo (works in Cursor + Codex), and a thin CLAUDE.md that points to it with Claude-specific additions. Kills cross-tool drift — the exact pain .zaj/ is meant to solve.

B. Core MCP servers (install everywhere)

  1. Context7 — current library docs on demand (stops the agent hallucinating old APIs; pairs with your “research modern libraries” prompter default).
  2. Filesystem + Git — table stakes.
  3. GitHub — PRs/issues without leaving the agent.
  4. Playwright — your shared persistent Chrome-profile QA setup.
  5. Supabase + Postgres — for Slidely/Pharmax/ClinPharm data work.
  6. Sentry — once a product is in staging/prod.
  7. Figma — when design-to-code is in play.

C. Skills discipline

  • Keep your zaj-* skills as the private core; package them as a Claude Code plugin marketplace so any machine gets them with /plugin install. That’s the upgrade path for .zaj/ shared-skill protocol.
  • Use skill-creator to author new ones (don’t hand-roll), and mcp-builder if you ever wrap an internal API as MCP.
  • Write pushy descriptions — under-triggering is the #1 skill failure.

D. Hooks (guardrails that matter for pharma/SOC 2)

  • PreToolUse: block destructive commands; require review before commit.
  • PostToolUse: run lint + typecheck on edited files.
  • Notification hook so long agent runs ping you (helps the ADHD fire-and-forget trap).

E. Rules (Cursor)

  • ONE always-on stack-declaration rule. Everything else Auto Attached (by glob) or Agent Requested (by description). Protect the ~20k context budget.

F. Security posture

  • Vet every MCP server’s source before giving it credentials. Keep prod-credentialed servers (Supabase prod, Stripe live) out of experimental/secondary clients — Claude Code project-scoped only, never a global config you forget about.

13. Things You Might Have Missed (Checklist)

Section titled “13. Things You Might Have Missed (Checklist)”
  • AGENTS.md is the cross-tool memory standard — write it once instead of maintaining separate Cursor rules + CLAUDE.md + Codex config. Symlink the rest at it.
  • Skills are cross-tool now — your zaj-* skills aren’t Claude-Code-only; the same SKILL.md runs in Cursor/Codex via the Agent Skills standard.
  • MCP SSE transport is deprecated — new remote servers use Streamable HTTP. Don’t copy old SSE config from 2024 tutorials.
  • Skill descriptions are the whole ballgame — agents under-trigger; be pushy and name trigger phrases.
  • Context budget is finite — every always-on rule / fat CLAUDE.md / unused MCP server is tax on the agent’s thinking space. Prune ruthlessly; make rules conditional.
  • MCP servers run with your credentials — read the source; scope tightly; keep prod creds off shared hosts. (Your SOC 2 instinct applies here.)
  • Plugins beat manual file-syncing — package .zaj/ as a marketplace so a new machine is one command, not an afternoon.
  • Codex shares one config across CLI/VS Code/Desktop — if you want identical setup across surfaces, that’s its edge over Claude Code.
  • MCP Inspector exists — debug a flaky server with npx @modelcontextprotocol/inspector instead of guessing.
  • skill-creator and mcp-builder are official — don’t hand-build skills or MCP servers from scratch; scaffold them.
  • MCP is now Linux Foundation-governed — it’s a durable bet, not a single-vendor gamble. Specific server names are snapshots; the protocol is permanent.

Maintained for the Zajaly AI-agent stack. Companion to Starlight-Awesome-List.md. Sourced from official MCP, Claude Code, Cursor, and Codex documentation plus the major community awesome-lists.

Metadata

  • Created: 2026-06-08
  • Version: v1.0
  • Verified current as of: June 2026 (MCP under Linux Foundation/AAIF; Claude Code Agent Teams; Cursor .mdc rules; Codex unified config)
  • Changelog:
    • v1.0 (2026-06-08) — Initial compilation: 6-layer config model, cross-client file map, MCP (servers + directories + setup), Skills (standard + skill-creator), Subagents, Slash Commands, Hooks, Plugins, Cursor Rules, AGENTS.md/CLAUDE.md memory, client quick-reference, master awesome-list index, committed Zajaly baseline, missed-items checklist.