Surface map
Do not edit this file. pnpm census writes it from the live registries.
Surface at a glance
| Surface | Count | Defined in |
|---|---|---|
| MCP tools | 105 | packages/mcp/tools/* via packages/mcp/tools/router/index.js |
| - action tools | 23 | one per module, registered explicitly |
| - skill tools | 82 | one per catalog skill, generated |
| MCP resources | 172 | packages/mcp/resources/index.js |
| MCP prompts | 41 | packages/mcp/prompts/index.js |
| - reusable | 22 | workflow and area prompts |
| - persona | 19 | 19 active roles, one command each |
| Skills | 82 | skills/rule-*/SKILL.md |
| Review personas | 19 | packages/mcp/core/review/roles/index.js |
| Guardrail rules | 124 | skills/*/guardrails/ and packages/mcp/core/guardrails/index.js |
| Agent slash commands | 44 | packages/mcp/core/agents/commands/index.js |
| Agent/IDE command targets | 15 | packages/mcp/core/agents/command-targets/index.js |
| CLI commands | 28 | packages/mcp/cli/_program.js |
| Hook events | 4 | packages/mcp/core/agents/_hooks.js |
| Architecture decisions | 248 | docs/adr/ADR.md |
Command / Tool / Skill map (127)
The table has one row per slash command. Then it has one row for each skill
with no slash command. An agent reaches these skills through an area command
or the router. The last rows are the other action tools. - means no value.
| Command | Tool | Skill | Description |
|---|---|---|---|
rule |
- | - | Explicitly route a request through rule-mcp |
rule-adr |
- | - | Write an ADR via rule_tool_process_adr, then offer /rule-keep so the decision lands in the export decision-cache |
rule-area-ai |
rule_tool_ai |
rule-ai |
ai work: route free text to the right ai leaf skills/tools |
rule-area-backend |
rule_tool_backend |
rule-backend |
backend work: route free text to the right backend leaf skills/tools |
rule-area-data |
rule_tool_data |
rule-data |
data work: route free text to the right data leaf skills/tools |
rule-area-devops |
rule_tool_devops |
rule-devops |
devops work: route free text to the right devops leaf skills/tools |
rule-area-frontend |
rule_tool_frontend |
rule-frontend |
frontend work: route free text to the right frontend leaf skills/tools |
rule-area-meta |
rule_tool_meta |
rule-meta |
meta work: route free text to the right meta leaf skills/tools |
rule-area-platform |
rule_tool_platform |
rule-platform |
platform work: route free text to the right platform leaf skills/tools |
rule-area-process |
rule_tool_process |
rule-process |
process work: route free text to the right process leaf skills/tools |
rule-area-styleguide |
rule_tool_styleguide |
rule-styleguide |
styleguide work: route free text to the right styleguide leaf skills/tools |
rule-area-toolchain |
rule_tool_toolchain |
rule-toolchain |
toolchain work: route free text to the right toolchain leaf skills/tools |
rule-area-ui |
rule_tool_ui |
rule-ui |
ui work: route free text to the right ui leaf skills/tools |
rule-check |
rule_tool_check |
- | Auto-detect area from context and run rule-mcp guardrails validation |
rule-compress |
rule_tool_compress |
- | Run rule_tool_compress: sole engine for prompt/context preprocessing and prose postprocessing |
rule-export |
- | - | Distill the current project: session map, idempotent telemetry merge, .flight emit (keep by default), then interview dubious decisions into the export decision-cache |
rule-fix |
rule_tool_fix |
- | Apply the deterministic guardrail fixes of every skill to the changed files |
rule-git |
rule_tool_git |
- | Audit the feature history and normalize it: Conventional Commit violations, merge commits, and (with --force) merge-commit removal - every rewrite behind a confirmation gate |
rule-handoff |
rule_tool_handoff |
- | Produce a compressed context handoff (ADR summary + git context) to resume in a new session, commiting pending work as scoped Conventional Commits first. |
rule-handon |
rule_tool_handon |
- | Resume: verify the last handoff against the repository as it is now, archive what finished, and propose the next workstream |
rule-init |
rule_tool_init |
- | Prepare a project end to end: git hooks, recorder directory, tokensave, dependency pins, then scaffold the missing config and toolchain |
rule-keep |
rule_tool_keep |
- | Confirm one decision into the export decision-cache via rule_tool_keep |
rule-persona-a11y |
- | - | Audit, review and plan as a Accessibility Expert with 20 years of experience - the request decides how deep the run goes |
rule-persona-ai |
- | - | Audit, review and plan as a AI Engineer with 15 years of experience - the request decides how deep the run goes |
rule-persona-architect |
- | - | Audit, review and plan as a Software Architect with 30 years of experience - the request decides how deep the run goes |
rule-persona-auth |
- | - | Audit, review and plan as a Authentication and Identity Engineer with 18 years of experience - the request decides how deep the run goes |
rule-persona-backend |
- | - | Audit, review and plan as a Backend and API Design Engineer with 20 years of experience - the request decides how deep the run goes |
rule-persona-data |
- | - | Audit, review and plan as a Data Engineer with 25 years of experience - the request decides how deep the run goes |
rule-persona-devops |
- | - | Audit, review and plan as a DevOps, Release and Distribution Engineer with 25 years of experience - the request decides how deep the run goes |
rule-persona-devx |
- | - | Audit, review and plan as a Developer Experience and Toolchain Engineer with 15 years of experience - the request decides how deep the run goes |
rule-persona-docs |
- | - | Audit, review and plan as a Senior Documentation Engineer with 25 years of experience - the request decides how deep the run goes |
rule-persona-frontend |
- | - | Audit, review and plan as a Frontend Platform Engineer with 20 years of experience - the request decides how deep the run goes |
rule-persona-i18n |
- | - | Audit, review and plan as a Localization Engineer with 15 years of experience - the request decides how deep the run goes |
rule-persona-oss |
- | - | Audit, review and plan as a Open Source Steward with 25 years of experience - the request decides how deep the run goes |
rule-persona-performance |
- | - | Audit, review and plan as a Performance Engineer with 20 years of experience - the request decides how deep the run goes |
rule-persona-privacy |
- | - | Audit, review and plan as a Privacy and Compliance Engineer with 20 years of experience - the request decides how deep the run goes |
rule-persona-qa |
- | - | Audit, review and plan as a QA and Test Engineer with 25 years of experience - the request decides how deep the run goes |
rule-persona-security |
- | - | Audit, review and plan as a Security Engineer with 25 years of experience - the request decides how deep the run goes |
rule-persona-simplicity |
- | - | Audit, review and plan as a Staff Engineer for Simplicity with 30 years of experience - the request decides how deep the run goes |
rule-persona-supply-chain |
- | - | Audit, review and plan as a Supply Chain and Licensing Engineer with 20 years of experience - the request decides how deep the run goes |
rule-persona-ui |
- | - | Audit, review and plan as a UI/UX Lead with 20 years of experience - the request decides how deep the run goes |
rule-stats |
rule_tool_stats |
- | Read local telemetry via rule_tool_stats: calls, cache hits, tokens, latency |
rule-update |
rule_tool_update |
- | Apply an available server update explicitly, and report what changed |
rule-usage |
rule_tool_usage |
- | Declare a usage sidecar via rule_tool_usage when no transcript is available |
| - | rule_tool_ai_agent_architecture |
rule-ai-agent-architecture |
Use when building or reviewing an agent, an MCP server, or a tool surface. |
| - | rule_tool_ai_context_engineering |
rule-ai-context-engineering |
Use when an agent session is getting expensive, slow or worse at its job. |
| - | rule_tool_ai_evals |
rule-ai-evals |
Use when building or auditing evals for an AI feature. |
| - | rule_tool_ai_prompting |
rule-ai-prompting |
Use when working with an AI coding agent, and when teaching someone to. |
| - | rule_tool_backend_express |
rule-backend-express |
Use when building Express.js 5+ applications. |
| - | rule_tool_backend_fastify |
rule-backend-fastify |
Use when building Fastify 5+ applications. |
| - | rule_tool_backend_graphql |
rule-backend-graphql |
Use when designing, implementing, securing, or operating GraphQL APIs. |
| - | rule_tool_backend_hono |
rule-backend-hono |
Use when building Hono 4+ edge-compatible APIs. |
| - | rule_tool_backend_nestjs |
rule-backend-nestjs |
Use when building NestJS 10+ applications. |
| - | rule_tool_backend_node |
rule-backend-node |
Use when scaffolding or hardening a Node.js backend. |
| - | rule_tool_backend_security |
rule-backend-security |
Use when securing a backend or reviewing authentication. |
| - | rule_tool_backend_workers |
rule-backend-workers |
Offload CPU-bound JavaScript to worker_threads, pools, and cluster. |
| - | rule_tool_data_duckdb |
rule-data-duckdb |
Use when working with DuckDB for analytical queries and embedded OLAP. |
| - | rule_tool_data_indexed_db |
rule-data-indexed-db |
Use when using IndexedDB in the browser for client-side storage. |
| - | rule_tool_data_mongodb |
rule-data-mongodb |
Use when working with MongoDB 7+. |
| - | rule_tool_data_mysql |
rule-data-mysql |
Use when working with MySQL 8+ or MariaDB 11+. |
| - | rule_tool_data_postgresql |
rule-data-postgresql |
Use when working with PostgreSQL 16+. |
| - | rule_tool_data_sql |
rule-data-sql |
Use when writing SQL queries or designing relational database schemas. |
| - | rule_tool_data_sqlite |
rule-data-sqlite |
Use when working with SQLite for embedded databases. |
| - | rule_tool_data_validation |
rule-data-validation |
Use when validating international business data. |
| - | rule_tool_devops_deploy_preview |
rule-devops-deploy-preview |
Use when every merge request must get its own ephemeral preview environment. |
| - | rule_tool_devops_docker |
rule-devops-docker |
Use when creating or maintaining Docker configuration. |
| - | rule_tool_devops_observability |
rule-devops-observability |
Use when defining production observability, SLOs, logging, metrics, tracing, alerts, incident response, or rollback verification. |
| - | rule_tool_devops_testing |
rule-devops-testing |
Use when writing unit or integration tests with Vitest. |
| - | rule_tool_frontend_angular |
rule-frontend-angular |
Use when building Angular standalone components. |
| - | rule_tool_frontend_react |
rule-frontend-react |
Use when building React 18+ functional components. |
| - | rule_tool_frontend_solidjs |
rule-frontend-solidjs |
Use when building SolidJS applications with fine-grained reactivity. |
| - | rule_tool_frontend_svelte |
rule-frontend-svelte |
Use when building Svelte 5 applications with runes API. |
| - | rule_tool_frontend_vue |
rule-frontend-vue |
Use when building Vue 3 Composition API components. |
| - | rule_tool_frontend_workers |
rule-frontend-workers |
Use when browser JavaScript blocks the main thread. |
| - | rule_tool_meta_astro |
rule-meta-astro |
Use when building Astro islands-architecture sites. |
| - | rule_tool_meta_next |
rule-meta-next |
Use when building Next.js applications. |
| - | rule_tool_meta_nuxt |
rule-meta-nuxt |
Use when building Nuxt.js applications. |
| - | rule_tool_meta_remix |
rule-meta-remix |
Use when building Remix or React Router applications. |
| - | rule_tool_platform_auth |
rule-platform-auth |
Choose the right authentication strategy for a web app in 2026. |
| - | rule_tool_platform_desktop |
rule-platform-desktop |
Use when building desktop applications with Electron. |
| - | rule_tool_platform_library |
rule-platform-library |
Use when developing reusable npm packages. |
| - | rule_tool_platform_web |
rule-platform-web |
Use when building browser-based web applications. |
| - | rule_tool_process_adr |
rule-process-adr |
Use when recording architecture decisions. |
| - | rule_tool_process_ai |
rule-process-ai |
Use when planning how AI fits the delivery lifecycle rather than a single task, or when writing anything a reader will see. |
| - | rule_tool_process_bmad |
rule-process-bmad |
Use when following the BMad structured delivery method. |
| - | rule_tool_process_cargo_release |
rule-process-cargo-release |
"Set up a secure release process for a Rust crate: publish to crates.io through Trusted Publishing, keep the API token out of the workflow, dry-run before the irreversible upload. |
| - | rule_tool_process_changelog |
rule-process-changelog |
Use when a project needs a CHANGELOG, when deciding where changelog entries come from, or when one has drifted from the commits. |
| - | rule_tool_process_code_review |
rule-process-code-review |
Use when preparing, conducting, or improving a pull or merge request review. |
| - | rule_tool_process_npm_release |
rule-process-npm-release |
"Set up a secure release process for an npm package to protect it from supply chain attacks. |
| - | rule_tool_process_readme |
rule-process-readme |
'Write or improve a README.md for an open source project. |
| - | rule_tool_process_tdd |
rule-process-tdd |
Use when developing test-first (red-green-refactor) or when writing tests: unit tests via TDD, accessibility tests with Playwright + axe-core, or test setup for a project. |
| - | rule_tool_process_uv_release |
rule-process-uv-release |
"Set up a secure release process for a Python package managed with uv: build with uv, publish to PyPI through Trusted Publishing, keep no API token in a workflow. |
| - | rule_tool_styleguide_a11y |
rule-styleguide-a11y |
WCAG 2.2 AA compliance framework integrating A11Y.md persistent context protocol. |
| - | rule_tool_styleguide_baseline |
rule-styleguide-baseline |
Use when deciding whether a platform feature is safe to use, or when writing guidance that recommends one. |
| - | rule_tool_styleguide_comments |
rule-styleguide-comments |
Use when writing or reviewing code comments. |
| - | rule_tool_styleguide_configuration |
rule-styleguide-configuration |
Use when setting up base project configuration files. |
| - | rule_tool_styleguide_css |
rule-styleguide-css |
Use when writing CSS following rule-mcp architecture. |
| - | rule_tool_styleguide_file_tree |
rule-styleguide-file-tree |
Use when laying out a source tree: the underscore-barrel convention, where a component folder puts its index.js, which files carry the underscore prefix, and what a barrel must re-export. |
| - | rule_tool_styleguide_git |
rule-styleguide-git |
Use whenever writing, preparing, or validating git commits and pushes. |
| - | rule_tool_styleguide_html |
rule-styleguide-html |
Use when writing semantic HTML following rule-mcp conventions. |
| - | rule_tool_styleguide_i18n |
rule-styleguide-i18n |
Use when a product ships in more than one language or region. |
| - | rule_tool_styleguide_javascript |
rule-styleguide-javascript |
Use when writing JavaScript or TypeScript following rule-mcp conventions. |
| - | rule_tool_styleguide_json |
rule-styleguide-json |
Use when structuring JSON data or API responses. |
| - | rule_tool_styleguide_markdown |
rule-styleguide-markdown |
Use when writing Markdown documentation following rule-mcp style. |
| - | rule_tool_styleguide_naming |
rule-styleguide-naming |
Use when following rule-mcp naming conventions for files, folders, and exports. |
| - | rule_tool_styleguide_typescript |
rule-styleguide-typescript |
Use when writing or reviewing TypeScript code, or configuring its compiler. |
| - | rule_tool_toolchain_biome |
rule-toolchain-biome |
Use when configuring Biome linter and formatter. |
| - | rule_tool_toolchain_eslint |
rule-toolchain-eslint |
Use when configuring ESLint for JavaScript/TypeScript projects. |
| - | rule_tool_toolchain_husky |
rule-toolchain-husky |
Use when setting up Git hooks with Husky. |
| - | rule_tool_toolchain_parcel |
rule-toolchain-parcel |
Use when building applications with Parcel 2+ bundler. |
| - | rule_tool_toolchain_pnpm |
rule-toolchain-pnpm |
Use when managing packages with pnpm. |
| - | rule_tool_toolchain_rspack |
rule-toolchain-rspack |
Use when configuring Rspack as build tool. |
| - | rule_tool_toolchain_turborepo |
rule-toolchain-turborepo |
Use when orchestrating monorepos with Turborepo. |
| - | rule_tool_toolchain_vite |
rule-toolchain-vite |
Use when configuring Vite as build tool. |
| - | rule_tool_ui_design_system |
rule-ui-design-system |
Use when creating production-grade UI components and design systems. |
| - | rule_tool |
- | Route prompt to correct rule-mcp skill. |
| - | rule_tool_search |
- | Semantic search across ALL rule-mcp skills using BM25 ranking. |
| - | rule_tool_detect |
- | Detect project framework, TypeScript usage, and build tool from package.json. |
| - | rule_tool_structural |
- | Declare current task structural or architectural. |
| - | rule_tool_plan |
- | Ask expert review persona to audit, review or plan this project; returns operation contract. |
| - | rule_tool_audit |
- | Run audit as expert review persona; returns audit operation contract. |
| - | rule_tool_review |
- | Run review as expert review persona; returns review operation contract. |
| - | rule_tool_write_plan |
- | Write durable development plan to docs/plans/_<slug>.md and register it in plan-of-plans.md. |
| - | rule_tool_impersonation |
- | Create or refresh audit/review/plan documents for review persona run (impersonation bookkeeping). |
| - | rule_tool_sync |
- | Check how far base branch has moved since this branch forked, and propose rebase. |
| - | rule_tool_gateway |
- | Single-entry orchestrator: make routing decision, load skill evidence, verify code with lint-like guardrail checks, and return receipt. |
| - | rule_tool_apply |
- | Write files to disk after rule_tool_gateway validation. |