Agent skill
software-architecture
Document software architecture using ARCHITECTURE.md and docs/*.md files with Mermaid diagrams. Use proactively when ARCHITECTURE.md exists in project root, or invoke to create initial architecture documentation. Covers system design, data flows, component relationships, and code organization with references to key entry points and abstractions.
Install this agent skill to your Project
npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/chemiseblanc/software-architecture
SKILL.md
Software Architecture Documentation
Document system architecture using a root ARCHITECTURE.md with detailed component docs in docs/*.md.
Structure
project/
├── ARCHITECTURE.md # High-level system overview
└── docs/
├── <component>.md # Detailed component documentation
└── ...
Proactive Usage
When ARCHITECTURE.md exists in project root:
- Before major changes: Read
ARCHITECTURE.mdto understand system structure - After structural changes: Update diagrams and entry points
- When adding components: Create new
docs/*.mdfile and link fromARCHITECTURE.md - During refactoring: Update affected diagrams and file references
Creating Architecture Documentation
Initial Setup Workflow
-
Analyze codebase structure
- Identify entry points (main, CLI, API handlers)
- Map major components and their responsibilities
- Trace key data flows
-
Create
ARCHITECTURE.md- Write system overview (1-2 paragraphs)
- Add C4 Context diagram showing system boundaries
- Document entry points table
- List key abstractions
- Add testing overview
- Link to detail docs (create
docs/section even if empty initially)
-
Create detail docs for major components
- One file per logical component in
docs/ - Name files to match component names (flexible convention)
- Include component-level diagrams
- One file per logical component in
See references/document-templates.md for complete templates.
ARCHITECTURE.md Sections
Required Sections
| Section | Content |
|---|---|
| Overview | 1-2 paragraphs on system purpose |
| System Diagram | C4 Context or Container diagram |
| Key Entry Points | Table of primary files with descriptions |
| Key Abstractions | Table of important classes/interfaces/functions |
| Testing | Overview of test strategy and key test locations |
| Detail Docs | Links to docs/*.md files |
Optional Sections
| Section | Include When |
|---|---|
| Data Flow | Complex pipelines or transformations |
| Code Organization | Non-obvious directory structure |
| Configuration | Significant config or environment setup |
Detail Documents (docs/*.md)
Create a detail doc when a component:
- Has 3+ key files or abstractions
- Contains complex internal logic
- Interacts with multiple other components
- Needs sequence diagrams to explain flows
Naming Convention
Flexible. Match the component's identity:
docs/auth.mdfor authentication componentdocs/data-pipeline.mdfor data pipelinedocs/cli.mdfor CLI handling
Required Content
| Section | Content |
|---|---|
| Purpose | What this component does |
| Key Files | Table of important files |
| Key Abstractions | Classes, interfaces, functions |
Optional Content
| Section | Include When |
|---|---|
| Architecture Diagram | Multiple internal subcomponents |
| Sequence Diagram | Multi-step interactions |
| Dependencies | Non-obvious dependencies |
| Testing | Component-specific test patterns |
| Configuration | Component-specific config |
Diagram Selection
| Diagram Type | Use For |
|---|---|
| C4 Context | ARCHITECTURE.md - system boundaries and external actors |
| C4 Container | ARCHITECTURE.md - deployable units (services, databases) |
| C4 Component | docs/*.md - internal structure of a component |
| Flowchart | Control flow, pipelines, decision logic |
| Sequence | Request flows, API interactions, multi-step processes |
| ER Diagram | Data models, entity relationships |
| Class Diagram | Object hierarchies, interface implementations |
Start minimal (3-5 nodes). Add detail only when it improves clarity.
See references/mermaid-patterns.md for diagram templates.
Entry Points and Abstractions
Entry Points Table
Document files that serve as starting points for understanding the codebase:
| File | Description |
|------|-------------|
| `src/main.py` | Application entry point |
| `src/core/engine.py` | Core processing engine |
| `tests/conftest.py` | Test fixtures and setup |
Include:
- Application entry points (main, CLI, handlers)
- Core domain logic locations
- Configuration files
- Test setup and fixtures
Key Abstractions Table
Document important classes, interfaces, and functions:
| Abstraction | Location | Purpose |
|-------------|----------|---------|
| `Engine` | `src/core/engine.py` | Orchestrates processing |
| `Handler` | `src/api/base.py` | Request handling interface |
Focus on:
- Base classes and interfaces
- Core domain objects
- Public API surfaces
- Extension points
Maintaining Documentation
When to Update
| Trigger | Action |
|---|---|
| New component added | Create docs/<component>.md, add link to ARCHITECTURE.md |
| Entry point changed | Update entry points table |
| Major refactoring | Update affected diagrams and file references |
| New external dependency | Update C4 Context diagram |
| Component removed | Remove or archive corresponding detail doc |
Update Checklist
After structural changes:
- Verify entry points table is accurate
- Check diagram nodes match actual components
- Confirm file paths in tables are valid
- Update any affected detail docs
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
perigon-backend
Perigon ASP.NET Core + EF Core + Aspire conventions
perigon-agent
Pointers for Copilot/agents to apply Perigon conventions
perigon-angular
Angular 21+ standalone/Material/signal conventions for Perigon WebApp
fastapi-mastery
Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.
context7-efficient
Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.
browser-use
Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.
Didn't find tool you were looking for?