skills/chemiseblanc/software-architecture/SKILL.md
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.
npx skillsauth add aiskillstore/marketplace software-architectureInstall 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.
Document system architecture using a root ARCHITECTURE.md with detailed component docs in docs/*.md.
project/
├── ARCHITECTURE.md # High-level system overview
└── docs/
├── <component>.md # Detailed component documentation
└── ...
When ARCHITECTURE.md exists in project root:
ARCHITECTURE.md to understand system structuredocs/*.md file and link from ARCHITECTURE.mdAnalyze codebase structure
Create ARCHITECTURE.md
docs/ section even if empty initially)Create detail docs for major components
docs/See references/document-templates.md for complete templates.
| 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 |
| Section | Include When | |---------|--------------| | Data Flow | Complex pipelines or transformations | | Code Organization | Non-obvious directory structure | | Configuration | Significant config or environment setup |
docs/*.md)Create a detail doc when a component:
Flexible. Match the component's identity:
docs/auth.md for authentication componentdocs/data-pipeline.md for data pipelinedocs/cli.md for CLI handling| Section | Content | |---------|---------| | Purpose | What this component does | | Key Files | Table of important files | | Key Abstractions | Classes, interfaces, functions |
| 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 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.
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:
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:
| 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 |
After structural changes:
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.