From rna-mcp
Generate an architecture diagram from RNA data. Queries frameworks, endpoints, entry points, and external service calls, then renders in the user's preferred format (d2, mermaid, plantuml, etc.).
How this skill is triggered — by the user, by Claude, or both
Slash command
/rna-mcp:arch-diagramThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate an architecture diagram from RNA data. Teaches the traversal — the user picks the output format.
Generate an architecture diagram from RNA data. Teaches the traversal — the user picks the output format.
When the user asks for an architecture diagram, system overview, service map, or component diagram of a repo that has an RNA index.
Execute these in order. Each step builds on the previous.
repo_map(repo="<path>")
Entry points reveal deployment units (each entry point = a runnable service/script). Hotspot files reveal where complexity concentrates. Active outcomes reveal what the system is for.
search(query="", kind="api_endpoint", repo="<path>", limit=30, compact=true)
API endpoints reveal the contract between services. Group by file path to identify which deployment unit owns which routes.
search(query="", kind="framework", repo="<path>", limit=30, compact=true)
Each framework node has a language context. Group them: "this is a C#/ASP.NET service with npgsql" vs "this is a TypeScript/React frontend." LLMs know what each framework does — use that knowledge to identify infrastructure dependencies (databases, caches, message brokers, external APIs).
list_roots(repo="<path>")
Extract: root names, languages detected, framework counts. This confirms the language mix and workspace boundaries.
outcome_progress(repo="<path>")
If outcomes are declared, this reveals what the system is trying to achieve — annotate the diagram with business purpose, not just technical structure.
search(query="https://api.", repo="<path>", limit=20)
search(query="connection", kind="const", repo="<path>", limit=10)
String literal constants containing API URLs and connection strings reveal external dependencies and can distinguish different uses of the same service (e.g., OpenAI completions endpoint vs embeddings endpoint).
Group by: entry points + directory prefixes + project files (.csproj, package.json, Cargo.toml). Each entry point from repo_map typically represents a separate deployable. Common patterns:
src/Services/X/ + entry point = a serviceapps/web/ + React framework = SPA frontendsrc/Workers/X/ + entry point = background workerscripts/ = operational tooling (usually not a deployed service)Every component should show:
Databases, caches, message brokers, and external APIs are infrastructure — render them differently (cylinders for storage, clouds for external APIs). The framework names tell you what they are.
Produce the diagram in whatever format the user requests (d2, mermaid, plantuml, ASCII, etc.). If the user doesn't specify, ask.
The diagram should show:
Keep it high-level — this is architecture, not a class diagram. Collapse internal details. One box per deployable, not one box per file.
npx claudepluginhub open-horizon-labs/repo-native-alignment --plugin rna-mcpAutomatically analyzes codebases to generate zero-config architecture diagrams by detecting project type, tech stack, and structure. For repo overviews without custom specs.
Maps system architecture by reading codebase, identifying services and connections, and outputting C4-level Mermaid diagrams with descriptions. Use for architecture overviews or system diagrams.
Generates Mermaid flowcharts visualizing high-level codebase component relationships. Use for onboarding, PR reviews, and understanding system structure.