src/autoskillit/skills_extended/make-arch-diag/SKILL.md
Generate architecture diagram for a specific component or system. Prompts user to select which area to document, then creates comprehensive mermaid diagrams.
npx skillsauth add talont-org/autoskillit make-arch-diagInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Creates comprehensive architecture diagrams for selected components or systems using mermaid syntax.
ALWAYS:
/autoskillit:mermaid skill for diagram creation{{AUTOSKILLIT_TEMP}}/make-arch-diag/{component-name}/ (relative to the current working directory)NEVER:
Ask the user which area they want diagrammed:
Which component or system would you like to diagram?
Examples:
- Authentication system
- Database layer
- API endpoints
- Message queue processing
- State management
- Specific feature (e.g., "user registration flow")
Please specify the component/system:
Based on user input, determine:
Investigate the codebase:
Choose appropriate diagram types:
Component Diagram (Always include)
Data Flow Diagram (Include if data transformation is central)
Sequence Diagram (Include if interactions are complex)
State Diagram (Include if state management is central)
Deployment Diagram (Include for infrastructure docs)
Use /autoskillit:mermaid skill to create each diagram:
Create {{AUTOSKILLIT_TEMP}}/make-arch-diag/{component}/architecture.md:
# {Component} Architecture
## Overview
[2-3 paragraph overview of the component]
## Diagrams
### Component Structure
[Embed component diagram]
### Data Flow
[Embed data flow diagram]
### Sequence Diagrams
[Embed sequence diagrams for key operations]
## Components
### Component 1: {Name}
- **Purpose**: [What it does]
- **Responsibilities**: [What it's responsible for]
- **Dependencies**: [What it depends on]
- **Interface**: [How others interact with it]
### Component 2: {Name}
[Repeat for each component]
## Key Flows
### Flow 1: {Operation}
1. [Step 1]
2. [Step 2]
3. [Step 3]
### Flow 2: {Operation}
[Repeat for each key operation]
## Design Decisions
### Decision 1: {Topic}
- **Context**: [Why this decision was needed]
- **Options Considered**: [Alternatives]
- **Chosen**: [What was chosen]
- **Rationale**: [Why]
- **Tradeoffs**: [Costs and benefits]
## Constraints and Invariants
- [Constraint 1]
- [Constraint 2]
- [Invariant 1]
- [Invariant 2]
## Extension Points
- [Where/how to extend functionality]
## Related Documentation
- [Links to other architecture docs]
- [Links to API documentation]
- [Links to design documents]
%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60}}}%%
graph TB
classDef handler fill:#e65100,stroke:#ffb74d,stroke-width:2px,color:#fff;
classDef stateNode fill:#004d40,stroke:#4db6ac,stroke-width:2px,color:#fff;
classDef integration fill:#c62828,stroke:#ef9a9a,stroke-width:2px,color:#fff;
classDef output fill:#00695c,stroke:#4db6ac,stroke-width:2px,color:#fff;
subgraph API ["API Layer"]
Login["/login endpoint<br/>━━━━━━━━━━<br/>POST credentials"]
Refresh["/refresh endpoint<br/>━━━━━━━━━━<br/>POST refresh token"]
Logout["/logout endpoint<br/>━━━━━━━━━━<br/>POST token"]
end
subgraph Auth ["Authentication Service"]
AuthService["AuthService<br/>━━━━━━━━━━<br/>authenticate()<br/>generate_token()<br/>verify_token()"]
TokenManager["TokenManager<br/>━━━━━━━━━━<br/>create_access_token()<br/>create_refresh_token()<br/>validate_token()"]
end
subgraph Storage ["Data Layer"]
UserDB[(User Database)]
TokenCache[(Token Cache<br/>Redis)]
end
Login --> AuthService
Refresh --> TokenManager
Logout --> TokenManager
AuthService --> UserDB
AuthService --> TokenManager
TokenManager --> TokenCache
class Login,Refresh,Logout handler;
class UserDB,TokenCache stateNode;
class AuthService,TokenManager integration;
Color Legend: | Color | Category | Description | |-------|----------|-------------| | Orange | Handler | API endpoints | | Teal | State | Data storage | | Red | Integration | Service components |
sequenceDiagram
participant Client
participant API as /login endpoint
participant Auth as AuthService
participant DB as User Database
participant TM as TokenManager
participant Cache as Redis
Client->>API: POST /login {username, password}
API->>Auth: authenticate(username, password)
Auth->>DB: query user by username
DB-->>Auth: User record
Auth->>Auth: verify password hash
alt Valid credentials
Auth->>TM: generate_tokens(user_id)
TM->>Cache: store refresh token
Cache-->>TM: OK
TM-->>Auth: {access_token, refresh_token}
Auth-->>API: Success + tokens
API-->>Client: 200 OK + tokens
else Invalid credentials
Auth-->>API: AuthenticationError
API-->>Client: 401 Unauthorized
end
%%{init: {'flowchart': {'nodeSpacing': 40, 'rankSpacing': 50}}}%%
flowchart LR
classDef phase fill:#6a1b9a,stroke:#ba68c8,stroke-width:2px,color:#fff;
classDef handler fill:#e65100,stroke:#ffb74d,stroke-width:2px,color:#fff;
classDef output fill:#00695c,stroke:#4db6ac,stroke-width:2px,color:#fff;
Input["Credentials<br/>━━━━━━━━━━<br/>username<br/>password"]
subgraph Processing
Hash["Hash Password<br/>━━━━━━━━━━<br/>bcrypt"]
Compare["Compare<br/>━━━━━━━━━━<br/>stored vs provided"]
Generate["Generate Tokens<br/>━━━━━━━━━━<br/>JWT + Refresh"]
end
Output["Response<br/>━━━━━━━━━━<br/>access_token<br/>refresh_token<br/>expires_in"]
Input --> Hash --> Compare --> Generate --> Output
class Input phase;
class Hash,Compare,Generate handler;
class Output output;
Color Legend: | Color | Category | Description | |-------|----------|-------------| | Purple | Phase | Input/stages | | Orange | Handler | Processing steps | | Dark Teal | Output | Final output |
Presentation Layer → Business Logic Layer → Data Access Layer
Use component diagram with horizontal layers.
Input → Stage 1 → Stage 2 → Stage 3 → Output
Use data flow diagram showing transformations.
Event Source → Event Bus → Handlers → Side Effects
Use sequence diagram showing event flow.
Service A ↔ API Gateway ↔ Service B ↔ Database
Use deployment diagram showing runtime structure.
development
Generate YAML recipes for .autoskillit/recipes/. Use when user says "make script skill", "generate script", "script a workflow", "write a script", "create a script", "new recipe", "write a pipeline", or when loaded by other skills for script formatting.
data-ai
Create Uncertainty Representation visualization planning spec showing error bar definitions, distribution-aware alternatives, and multi-seed variance protocols. Statistical lens answering "How is uncertainty honestly represented?"
data-ai
Create Temporal Dynamics visualization planning spec showing axis scaling (linear vs log), smoothing disclosure, epoch/step alignment, run aggregation (mean + variance bands), early-stopping markers, and wall-clock vs step-count x-axis. Temporal lens answering "Are training dynamics shown clearly and honestly?"
data-ai
Create Narrative Story Arc visualization planning spec showing visual consistency across the report (same color = same model everywhere), logical figure progression, redundant figure detection, and narrative dependency between figures. Narrative lens answering "Do the figures tell a coherent story across the report?"