033-architecture-diagrams
Skill452 starsChanged 3 months agoApache-2.0View on GitHub
Use when you need to generate Java project diagrams — including UML sequence diagrams, UML class diagrams, C4 model diagrams, UML state machine diagrams, UML Deployment Diagrams, ER (Entity Relationship) diagrams, and bounded-context diagrams — through a modular, step-based interactive process that adapts to your specific visualization needs. This should trigger for requests such as Generate UML diagram; Create sequence diagram; Create class diagram; Create state machine diagram; Create deployment diagram; Create C4 diagram; Create bounded-context diagram; Create context-map diagram. Part of Plinth Toolkit
We split this skill into the rules it gives an agent
36 rules. About 0 are common, 25 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈25
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
Before applying any diagram generation, ensure the project validates.
- Very specific: line 31
MANDATORY: Run ./mvnw validate or mvn validate before applying any diagram generation
- Distinctive: line 32
SAFETY: If validation fails, stop immediately — do not proceed until all validation errors are resolved
- Very specific: line 33
BEFORE READING DIAGRAM REFERENCES: Run the question flow embedded in this SKILL.md first.
- Distinctive: line 36
TOOLING SAFETY: Use only trusted local PlantUML tooling or a repository-approved wrapper.
- Distinctive: line 43
Create state machine diagram
- Very specific: line 54
Run ./mvnw validate or mvn validate before applying any diagram generation.
- Distinctive: line 57
If validation fails, stop and ask to resolve errors first
- Distinctive: line 62
Run this XML-included question flow before reading any diagram-family implementation reference.
- Distinctive: line 71
If you choose "Skip", no diagrams will be generated.
- Distinctive: line 92
Ask this question only if you selected "UML sequence diagrams" or "All diagrams" in Question 1.
- Distinctive: line 98
All sequence diagram types
- Distinctive: line 104
Ask this question only if you selected "UML class diagrams" or "All diagrams" in Question 1.
- Distinctive: line 107
All packages (complete project structure)
- Distinctive: line 115
Ask this question only if you selected "UML class diagrams" or "All diagrams" in Question 1 and did not select "Skip" in Question 3.
- Distinctive: line 125
Ask this question only if you selected "C4 model diagrams" or "All diagrams" in Question 1.
- Distinctive: line 137
Ask this question only if you selected "UML state-machine diagrams" or "All diagrams" in Question 1.
- Distinctive: line 144
All state machine types
- Distinctive: line 150
Ask this question only if you selected "ER diagrams (Entity Relationship)" or "All diagrams" in Question 1.
- Distinctive: line 161
Ask this question only if you selected "Bounded-context diagrams" or "All diagrams" in Question 1.
- Distinctive: line 175
Ask this question only if you selected "UML Deployment Diagrams" or "All diagrams" in Question 1.
- Distinctive: line 181
Ask me for missing deployment topology details
- Distinctive: line 219
After all applicable questions are answered, confirm the selections and map them to references:
- Very specific: line 221
If UML sequence diagrams are selected, read references/033-architecture-diagrams-uml-sequence.md.
- Very specific: line 222
If UML class diagrams are selected, read references/033-architecture-diagrams-uml-class.md.
- Very specific: line 223
If C4 model diagrams are selected, read references/033-architecture-diagrams-c4.md.
- Very specific: line 224
If UML state-machine diagrams are selected, read references/033-architecture-diagrams-state-machine.md.
- Very specific: line 225
If UML Deployment Diagrams are selected, read references/033-architecture-diagrams-deployment.md.
- Very specific: line 226
If ER diagrams are selected, read references/033-architecture-diagrams-er.md.
- Very specific: line 227
If bounded-context diagrams are selected, read references/033-architecture-diagrams-bounded-context.md.
- Distinctive: line 228
If All diagrams is selected, read all seven focused diagram-family references.
- Distinctive: line 229
If Skip is selected for a diagram family, do not read that diagram-family reference.
- Distinctive: line 230
Do not read unselected diagram-family references.
- Distinctive: line 235
Create requested diagrams in PlantUML syntax using only the selected focused references, project inputs, and repository context.
- Distinctive: line 240
Check generated diagrams for syntax correctness and consistency with selected scope before final delivery.
- Very specific: line 242
Use an already installed PlantUML CLI or a repository-approved wrapper to validate and render generated .puml files.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Java Diagrams Generator with modular step-based configuration
Generate comprehensive Java project diagrams through a modular, step-based interactive process that covers UML sequence diagrams, UML class diagrams, C4 model diagrams, UML state machine diagrams, UML Deployment Diagrams, ER (Entity Relationship) diagrams, and bounded-context diagrams using PlantUML syntax. This is an interactive SKILL.
What is covered in this Skill?
- UML sequence diagram generation for application workflows and API interactions
- UML class diagram generation for package structure and class relationships
- C4 model diagram generation for Context, Container, and Component diagrams
- UML state machine diagram generation for entity lifecycles and business workflows
- UML Deployment Diagram generation for runtime topology, nodes, execution environments, deployed components, data stores, queues, external systems, and communication paths
- ER diagram generation from SQL schema (DDL, migrations) using PlantUML Chen notation
- Bounded-context diagram generation for DDD context maps across one or more repositories
- PlantUML syntax for all diagram types
- File organization strategies: single-file, separate-files, or integrated with existing documentation
- Final diagram validation with PlantUML syntax checking
- PlantUML validation and PNG/SVG rendering with a trusted local PlantUML installation or repository-approved wrapper
Constraints
Before applying any diagram generation, ensure the project validates. If validation fails, stop immediately — do not proceed until all validation errors are resolved.
- MANDATORY: Run
./mvnw validateormvn validatebefore applying any diagram generation - SAFETY: If validation fails, stop immediately — do not proceed until all validation errors are resolved
- BEFORE READING DIAGRAM REFERENCES: Run the question flow embedded in this SKILL.md first. Ask the diagram preference questions one by one, collect selected diagram families and output preferences, then read only the implementation references selected by the user's answers
- C4 SCOPE: C4 diagrams are restricted to Context, Container, and Component diagrams
- SUPPLY CHAIN: Generated PlantUML diagrams must use trusted local includes only; do not use remote
!includeURLs for C4 or icon libraries - TOOLING SAFETY: Use only trusted local PlantUML tooling or a repository-approved wrapper; do not pull or run remote container images as part of this skill
When to use this skill
- Generate UML diagram
- Create sequence diagram
- Create class diagram
- Create state machine diagram
- Create deployment diagram
- Create C4 diagram
- Generate ER diagram
- Create bounded-context diagram
- Create context-map diagram
Workflow
- Validate project state
Run ./mvnw validate or mvn validate before applying any diagram generation.
Step constraints:
- If validation fails, stop and ask to resolve errors first
- Ask diagram assessment questions before reading references
Run this XML-included question flow before reading any diagram-family implementation reference. Ask questions one-by-one in strict order, wait for the user's answer to each question, and record selected diagram families, C4 scope, bounded-context repository scope, output organization, file format, and documentation preference before continuing.
IMPORTANT: You MUST ask these questions in the exact order and wording shown here. The very first question to the user MUST be "Question 1: What diagrams do you want to generate?". Do not ask any other questions prior to it.
Diagrams Selection
Conditional Flow Rules:
- Based on your selection here, only the relevant diagram generation steps will be executed.
- If you choose "Skip", no diagrams will be generated.
- Each diagram type has its own conditional follow-up questions.
Question 1: What diagrams do you want to generate?
Options:
- UML sequence diagrams
- UML class diagrams
- UML state-machine diagrams
- C4 model diagrams (Context, Container, Component)
- UML Deployment Diagrams
- ER diagrams (Entity Relationship)
- Bounded-context diagrams
- All diagrams
- Skip
Question 2: For UML sequence diagrams, which types would you like to generate? Ask this question only if you selected "UML sequence diagrams" or "All diagrams" in Question 1.
Options:
- Main application flows (user journeys, authentication, core features)
- API interactions (REST endpoints, request/response patterns)
- Complex business logic flows (multi-step processes, transactions)
- All sequence diagram types
- Skip
Question 3: For UML class diagrams, which scope would you like to cover? Ask this question only if you selected "UML class diagrams" or "All diagrams" in Question 1.
Options:
- All packages (complete project structure)
- Core business logic packages only
- Specific packages (I'll specify which ones)
- Skip
Question 4: For UML class diagrams, what level of detail do you prefer? Ask this question only if you selected "UML class diagrams" or "All diagrams" in Question 1 and did not select "Skip" in Question 3.
Options:
- High-level (classes and relationships only)
- Detailed (include key methods and attributes)
- Full detail (all public methods, attributes, and annotations)
Question 5: For C4 model diagrams, which levels would you like to generate? Ask this question only if you selected "C4 model diagrams" or "All diagrams" in Question 1.
Options:
- Complete C4 model (Context, Container, Component)
- High-level diagrams only (Context and Container)
- Component diagrams only
- Specific C4 levels (Context, Container, and/or Component)
- Skip
Question 6: For UML state-machine diagrams, which types would you like to generate? Ask this question only if you selected "UML state-machine diagrams" or "All diagrams" in Question 1.
Options:
- Entity lifecycles (domain object state transitions like Order, User, Document)
- Business workflows (process state machines like approval, payment, shipping)
- System behaviors (component operational states like connections, jobs, transactions)
- User interactions (UI component state transitions like forms, wizards, dialogs)
- All state machine types
- Skip
Question 7: For ER diagrams, which schema scope would you like to cover? Ask this question only if you selected "ER diagrams (Entity Relationship)" or "All diagrams" in Question 1.
Options:
- Complete database schema (all tables)
- Core domain tables only
- Specific tables (I'll specify which ones)
- Skip
Question 8: For bounded-context diagrams, which repositories should be represented? Ask this question only if you selected "Bounded-context diagrams" or "All diagrams" in Question 1.
Options:
- Current repository only
- One or more local repository paths (I'll provide paths)
- One or more repository URLs (I'll provide URLs)
- A named repository list (I'll provide names and context)
- Skip
For each repository in scope, collect what is available: repository name or path, bounded context, domain or subdomain, owning team, application type, owned data store, exposed interfaces, consumed interfaces, and known relationships.
Question 9: For UML Deployment Diagrams, what source material should be used first? Ask this question only if you selected "UML Deployment Diagrams" or "All diagrams" in Question 1.
Options:
- Existing deployment diagram image or topology sketch (I'll provide the image)
- System description file (I'll provide the file path)
- Repository documentation, configuration, or deployment descriptors
- Ask me for missing deployment topology details
- Skip
When a deployment image or system description file is provided, use it as source material before asking fallback questions. Ask only for missing or ambiguous deployment facts such as actors, services, CI/CD systems, runtime nodes, execution environments, deployed artifacts or components, external systems, data stores, queues, protocols, ports, relationships, and infrastructure or network boundaries.
Question 10: How would you like to organize the generated diagram files?
Options:
- Single directory (all diagrams in /diagrams folder)
- Organized by type (separate folders for each diagram type)
- Organized by package/domain (group related diagrams together)
- Integrated with existing documentation structure
Question 11: What file format would you prefer for the diagrams?
Options:
- PlantUML source files (.puml) only
- PlantUML with markdown documentation
- Both PlantUML and generated images (requires PlantUML rendering)
- Integrated into existing documentation files
Question 12: Would you like to include explanatory documentation with the diagrams?
Options:
- Yes, comprehensive explanations for each diagram
- Yes, brief descriptions and usage notes
- No, just the diagrams
- Integrate explanations into existing documentation
After all applicable questions are answered, confirm the selections and map them to references:
- If UML sequence diagrams are selected, read
references/033-architecture-diagrams-uml-sequence.md. - If UML class diagrams are selected, read
references/033-architecture-diagrams-uml-class.md. - If C4 model diagrams are selected, read
references/033-architecture-diagrams-c4.md. - If UML state-machine diagrams are selected, read
references/033-architecture-diagrams-state-machine.md. - If UML Deployment Diagrams are selected, read
references/033-architecture-diagrams-deployment.md. - If ER diagrams are selected, read
references/033-architecture-diagrams-er.md. - If bounded-context diagrams are selected, read
references/033-architecture-diagrams-bounded-context.md. - If All diagrams is selected, read all seven focused diagram-family references.
- If Skip is selected for a diagram family, do not read that diagram-family reference.
- Do not read unselected diagram-family references.
- Read selected references and generate PlantUML diagrams
Create requested diagrams in PlantUML syntax using only the selected focused references, project inputs, and repository context.
- Validate and finalize outputs
Check generated diagrams for syntax correctness and consistency with selected scope before final delivery.
Use an already installed PlantUML CLI or a repository-approved wrapper to validate and render generated .puml files. If PlantUML is not available, report the missing trusted tool and provide setup guidance instead of downloading or running remote execution artifacts.
Validate PlantUML syntax without generating images:
plantuml -checkonly diagramsRender PNG images:
plantuml -tpng diagramsRender SVG images:
plantuml -tsvg diagramsPoint the command at the directory or .puml file containing generated diagrams. Do not pull or run external container images during validation.
Reference
For detailed guidance, examples, and constraints, see:
- references/033-architecture-diagrams-uml-sequence.md
- references/033-architecture-diagrams-uml-class.md
- references/033-architecture-diagrams-c4.md
- references/033-architecture-diagrams-state-machine.md
- references/033-architecture-diagrams-deployment.md
- references/033-architecture-diagrams-er.md
- references/033-architecture-diagrams-bounded-context.md
Other versions2 projects use a version of this.
Word for word · 1
- jabrena/plinth★ 448100% same
Edited · 1
- jabrena/cursor-rules-examples★ 264% same
Wrote their own version · 0
None found.
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 repository124 other files it gives its agents.
- AGENTS.mdAGENTS.md
- 001-commands-inventorySkill
- 002-agents-inventorySkill
- 003-skills-inventorySkill
- 004-commands-installationSkill
- 005-agents-installationSkill
- 012-agile-epicSkill
- 013-agile-featureSkill
- 014-agile-user-storySkill
- 021-problem-framingSkill
- 022-root-cause-analysisSkill
- 023-assumption-analysisSkill
- 024-context-mappingSkill
- 025-quality-attribute-discoverySkill
- 030-architecture-adr-generalSkill
- 041-planning-plan-modeSkill
- 042-planning-openspecSkill
- 043-planning-github-issuesSkill
- 044-planning-jiraSkill
- 045-planning-azure-devopsSkill
- 051-design-two-steps-methodsSkill
- 052-design-hamburger-methodSkill
- 053-design-simple-rulesSkill
- 054-design-tddSkill
- 055-design-parallel-changeSkill
- 056-design-avoid-breaking-changesSkill
- 057-design-feature-togglesSkill
- 058-design-bddSkill
- 059-design-atddSkill
- 110-java-maven-best-practicesSkill
- 111-java-maven-dependenciesSkill
- 112-java-maven-pluginsSkill
- 113-java-maven-documentationSkill
- 114-java-maven-searchSkill
- 121-java-object-oriented-designSkill
- 122-java-type-designSkill
- 123-java-design-patternsSkill
- 124-java-secure-codingSkill
- 125-java-concurrencySkill
- 126-java-exception-handlingSkill
- 128-java-genericsSkill
- 130-java-testing-strategiesSkill
- 131-java-testing-unit-testingSkill
- 132-java-testing-integration-testingSkill
- 133-java-testing-acceptance-testsSkill
- 141-java-refactoring-with-modern-featuresSkill
- 142-java-functional-programmingSkill
- 143-java-functional-exception-handlingSkill
- 144-java-data-oriented-programmingSkill
- 145-java-refactoring-high-performanceSkill
- 151-java-performance-jmeterSkill
- 152-java-performance-gatlingSkill
- 161-java-profiling-detectSkill
- 162-java-profiling-analyzeSkill
- 163-java-profiling-refactorSkill
- 164-java-profiling-verifySkill
- 170-java-documentationSkill
- 181-java-observability-loggingSkill
- 182-java-observability-metrics-micrometerSkill
- 183-java-observability-tracing-opentelemetrySkill
- The first 60 shown.
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.

