diagrams
Skill10 starsChanged 4 months agoMITView on GitHub
Create high-level overview diagrams showing interactions between components, subsystems, layers, feature packages, services, or systems, rendered via the mermaid or drawio skill. Use when asked to create architecture overviews, component interaction diagrams, subsystem diagrams, layer diagrams, feature maps, service interaction diagrams, system landscapes, or integration maps. Triggers on "diagram", "overview diagram", "BC interaction", "component interaction", "architecture overview", "layer diagram", "feature map", "system diagram", "integration diagram", or requests to visualize how components, layers, or services communicate. Not for detailed class diagrams or sequence diagrams.
9 other projects use a version of this.
Adopted by
Most recently taken up by
- Zejnilovic/agdtheir own version, first seen Nov 1, 2026
- AlexCiortan/setlisttheir own version, first seen Oct 29, 2026
- conjurer-rich/skillstheir own version, first seen Oct 25, 2026
- natsukium/claude-code-figures-plugintheir own version, first seen Oct 17, 2026
- nimadorostkar/Claude-Skills-collectiontheir own version, first seen Oct 13, 2026
- roastedbeans/claude-skillstheir own version, first seen Aug 11, 2026
Used with
Projects with it also use observability.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
OpenAISkillobservability
Vercel Observability expert guidance — Drains (logs, traces, speed insights, web analytics), Web Analytics, Speed Insights, runtime logs, custom events, OpenTelemetry integration, and monitoring dashboards. Use when instrumenting, debugging, or optimizing application performance and user experience on Vercel.
Also in 3 projects that use this
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- nimadorostkar/Claude-Skills-collection★ 33same name
- natsukium/claude-code-figures-plugin★ 14same name
- Zejnilovic/agd★ 5same name
- HartreeWorks/research-skills★ 4same name
- AlexCiortan/setlist★ 2same name
- conjurer-rich/skills★ 1same name
- mmondora/claude-skills★ 1same name
- gologo13/agent-skills★ 0same name
- roastedbeans/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- conventional-commitSkill
- drawioSkill
- java-conventionsSkill
- java-distillerSkill
- mermaidSkill
- microprofile-serverSkill
- migrate-to-bceSkill
- quarkus-jnosqlSkill
- sdd4j-bceSkill
- sdd4j-ears-testsSkill
- sdd4j-hexagonalSkill
- sdd4j-package-by-featureSkill
- sdd4j-package-by-layerSkill
- sdd4jSkill
- slddSkill
- spring-boot-serverSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 77
No declared or detectable architecture → component, grouping, and external vocabulary only (the renderers' Default mapping)
- Distinctive: line 81
When the user does not specify components, analyze the codebase per the detected architecture:
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Architecture Overview Diagrams
Create diagrams that show interactions and dependencies between components, groupings, and external services at a high level of abstraction. This skill routes the request: it detects the architecture, scope, and format, then delegates rendering to the mermaid or drawio skill, which owns the shape mapping and palette.
Workflow
- Detect the architecture — resolve which shape mapping applies:
- the user names it explicitly ("BCE diagram", "layered view", "feature map")
AGENTS.md## SDD4Jdeclares ansdd4j-*architecture adapter- codebase scan (see Information Gathering)
- still ambiguous → include it as an extra question in step 3
- Gather information — identify components, groupings, external services, and interactions to visualize, per the detected architecture.
- Choose scope and format — ask the user using a single AskUserQuestion call with two questions:
- Scope: "System view" (each component is a single opaque node — default) or "Inside a component" (expand one component's internal structure)
- Format: "Mermaid (Recommended)" (text-based, version-control friendly, renders natively in GitHub/GitLab — default for README.md in GitHub projects) or "draw.io" (visual editor, richer styling, exportable to PNG/SVG)
- Invoke the chosen skill — use the Skill tool to invoke
mermaidordrawiowith the detected architecture, scope, identified elements, and interactions. When the diagram is destined for a README.md in a GitHub project, default to Mermaid without asking.
Scope Guidelines
System view (default)
- Show components, groupings, and external services — not classes, methods, or fields
- Represent each component as a single node labeled by its responsibility:
Orders,Payments,Users - Group components into containers when they share a domain, module, or layer
- Focus on interactions: which component calls which, what data flows where
- Label arrows with the interaction type when not obvious:
REST,async,JPA - Show external dependencies (third-party APIs, databases, message brokers) as separate nodes
Inside a component
- Expand one component into its internal structure, per the architecture:
- BCE → boundary, control, and entity layers
- Package By Layer → the capability's classes inside layer containers
- Package By Feature → the feature package's internals, using layer element styles
- Hexagonal → ports, use case, and domain inside the hexagon; driving adapters on the left, driven adapters and externals on the right
- Show internal flow (e.g. boundary → control → entity, entrypoint → application → domain)
- Cross-component edges connect at the boundary or entrypoint that owns the interaction
- External dependencies connect to the internal element that uses them
- Expanding several components at once produces noisy diagrams — expand a single component unless the user asks otherwise
Architecture Profiles
BCE
- Vocabulary: business component (BC), subsystem, boundary, control, entity, external
- Detection: packages shaped
[org].[project].[bc].[boundary|control|entity];sdd4j-bcedeclared inAGENTS.md - Interactions: which boundary calls which boundary; externals connect to the layer that uses them
- Based on BCE architecture (see bce.design)
Package By Layer
- Vocabulary: capability, layer container (entrypoints, application, domain, infrastructure), entrypoint/application/domain/infrastructure class, external
- Detection: global
controller,service,repository,modelpackage roots;sdd4j-package-by-layerdeclared inAGENTS.md - Interactions: entrypoint → application → domain/infrastructure flow
Package By Feature
- Vocabulary: feature package (capability), module, shared package, external
- Detection: self-contained capability packages under a base package;
sdd4j-package-by-featuredeclared inAGENTS.md - Interactions: declared calls and events between feature packages; shared packages are exceptional nodes
Hexagonal (Ports & Adapters)
- Vocabulary: capability, driving adapter (inbound), inbound port, use case, outbound port, driven adapter (outbound), domain, external
- Detection:
port/adapterpackage roots or*.port.*/*.adapter.*segments (canonical:<capability>.application.port.in|out,<capability>.adapter.in|out);sdd4j-hexagonaldeclared inAGENTS.md - Ambiguity:
application/domain/infrastructurelayer names overlap with Package By Layer — the distinguishing signal isport/adapterpackages; layer roots alone do not imply hexagonal; when both readings fit, ask rather than guess - Interactions: driving adapter → inbound port → use case → domain; use case → outbound port → driven adapter → external. Draw driving side left, driven side right.
Generic
- No declared or detectable architecture → component, grouping, and external vocabulary only (the renderers' Default mapping)
Information Gathering
When the user does not specify components, analyze the codebase per the detected architecture:
- BCE: scan for BC packages (children of the top-level application package containing
boundary/control/entitysub-packages); find cross-BC interactions via injected references, REST client calls, or messaging - Package By Layer: scan layer roots and group classes by the project's capability mapping (class-name prefix, declared
AGENTS.mdmapping) - Package By Feature: scan feature packages under the base package; find edges via imports or calls crossing package boundaries
- Hexagonal: scan capability packages for
adapter.in.*/adapter.out.*andapplication.port.*; edges are driving-adapter calls into inbound ports and outbound-port usages resolved to driven adapters - All: determine external dependencies (third-party APIs, cloud services, databases, message brokers)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

