Detalle del Skill
architecture-diagram
Analyzes codebases and generates architecture diagrams in multiple formats.
Revisar antes de usar
La revisión automática comprueba relevancia, no seguridad ni respaldo. Lee las instrucciones de la fuente antes de usar este Skill.
SKILL.md
Este extracto es una copia guardada durante la revisión. La fuente externa contiene la versión completa y actual.
---
name: architecture-diagram
description: Generate architecture diagrams in Mermaid, PlantUML, or diagrams.net formats
disable-model-invocation: false
---
# Architecture Diagram Generator
I'll analyze your codebase and generate visual architecture diagrams showing component relationships, data flow, and system structure.
Arguments: `$ARGUMENTS` - diagram type or format (e.g., "mermaid", "plantuml", "component", "data-flow")
## Strategic Analysis Process
<think>
Effective architecture diagrams require understanding:
1. **Project Structure Analysis**
- What's the application architecture? (monolith, microservices, serverless)
- What layers exist? (frontend, backend, database, services)
- How do components communicate?
- What are the major modules and their responsibilities?
- Are there clear architectural patterns? (MVC, MVVM, Clean Architecture)
2. **Diagram Type Selection**
- Component diagram: Show major components and relationships
- Sequence diagram: Show interaction flows
- Data flow diagram: Show how data moves through system
- Deployment diagram: Show infrastructure and deployment
- Class diagram: Show object-oriented structure
- Entity-relationship: Show database schema
3. **Format Decision**
- Mermaid: Simple, version-controllable, GitHub/GitLab rendering
- PlantUML: More features, complex diagrams, requires rendering
- Diagrams.net (Draw.io): Visual editing, XML format
- ASCII art: Terminal-friendly, simple visualizations
4. **Detail Level**
- High-level overview: Major components only
- Medium detail: Components + key interactions
- Detailed: All modules, functions, data flows
- Focus on what's most valuable for documentation
</think>
## Phase 1: Architecture Discovery
**MANDATORY FIRST STEPS:**
1. Analyze project structure and file organization
2. Identify architectural patterns from code
3. Map component dependencies
4. Detect technology stack and frameworks
Let me analyze your project architecture:
```bash
# Analyze project structure
echo "=== Architecture Analysis ==="
# Detect project type
if [ -d "src/components" ] || [ -d "components" ]; then
echo "Frontend components detected"
fi
if [ -d "src/api" ] || [ -d "api" ] || [ -d "routes" ]; then
echo "API/Backend layer detected"
fi
if [ -d "src/models" ] || [ -d "models" ]; then
echo "Data models detected"
fi
if [ -d "src/services" ] || [ -d "services" ]; then
echo "Service layer detected"
fi
# Count major components
echo ""
echo "Component counts:"
find src -type f -name "*.js" -o -name "*.ts" -o -name "*.jsx" -o -name "*.tsx" 2>/dev/null | wc -l | xargs echo "Files:"
find src -type d -maxdepth 2 2>/dev/null | wc -l | xargs echo "Directories:"
# Identify framework
if grep -q "\"next\"" package.json 2>/dev/null; then
echo "Framework: Next.js"
elif grep -q "\"react\"" package.json 2>/dev/null; then
echo "Framework: React"
elif grep -q "\"vue\"" package.json 2>/dev/null; then
echo "Framework: Vue"
elif grep -q "\"express\"" package.json 2>/dev/null; then
echo "Framework: Express (Node.js)"
fi
```
## Phase 2: Component Relationship Mapping
I'll map relationships between components:
**Analysis Methods:**
- Import/export analysis (module dependencies)
- API endpoint mapping (request/response flows)
- Database relationship detection (foreign keys, relations)
- Event system mapping (event emitters/listeners)
- Service dependencies (dependency injection patterns)
**Using Native Tools:**
- **Grep** to find import statements and dependencies
- **Glob** to identify component files by pattern
- **Read** key architectural files (routers, services, models)
- Pattern detection for architectural styles
I'll analyze:
- Frontend component hierarchy
- Backend route handlers and middleware
- Service layer dependencies
- Database entity relationships
- External API integrations
## Phase 3: Diagram Generation
Based on analysis, I'll generate appropriate diagrams:
### MerLeer la fuente completa en GitHub (abre una página externa)