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.

242 stars

Best use case

software-architecture is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. 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.

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.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "software-architecture" skill to help with this workflow task. Context: 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.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/software-architecture/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/chemiseblanc/software-architecture/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/software-architecture/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How software-architecture Compares

Feature / Agentsoftware-architectureStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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:

1. **Before major changes**: Read `ARCHITECTURE.md` to understand system structure
2. **After structural changes**: Update diagrams and entry points
3. **When adding components**: Create new `docs/*.md` file and link from `ARCHITECTURE.md`
4. **During refactoring**: Update affected diagrams and file references

## Creating Architecture Documentation

### Initial Setup Workflow

1. **Analyze codebase structure**
   - Identify entry points (main, CLI, API handlers)
   - Map major components and their responsibilities
   - Trace key data flows

2. **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)

3. **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

See [references/document-templates.md](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.md` for authentication component
- `docs/data-pipeline.md` for data pipeline
- `docs/cli.md` for 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](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:

```markdown
| 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:

```markdown
| 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:
1. Verify entry points table is accurate
2. Check diagram nodes match actual components
3. Confirm file paths in tables are valid
4. Update any affected detail docs

Related Skills

c4-architecture

242
from aiskillstore/marketplace

Generate architecture documentation using C4 model Mermaid diagrams. Use when asked to create architecture diagrams, document system architecture, visualize software structure, create C4 diagrams, or generate context/container/component/deployment diagrams. Triggers include "architecture diagram", "C4 diagram", "system context", "container diagram", "component diagram", "deployment diagram", "document architecture", "visualize architecture".

react-native-architecture

242
from aiskillstore/marketplace

Build production React Native apps with Expo, navigation, native modules, offline sync, and cross-platform patterns. Use when developing mobile apps, implementing native integrations, or architecting React Native projects.

multi-cloud-architecture

242
from aiskillstore/marketplace

Design multi-cloud architectures using a decision framework to select and integrate services across AWS, Azure, and GCP. Use when building multi-cloud systems, avoiding vendor lock-in, or leveraging best-of-breed services from multiple providers.

architecture

242
from aiskillstore/marketplace

Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.

architecture-decision-records

242
from aiskillstore/marketplace

Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.

langchain-architecture

242
from aiskillstore/marketplace

Design LLM applications using the LangChain framework with agents, memory, and tool integration patterns. Use when building LangChain applications, implementing AI agents, or creating complex LLM w...

architecture-synthesis

242
from aiskillstore/marketplace

Generate a reference architecture specification from analyzed frameworks. Use when (1) designing a new agent framework based on prior art, (2) defining core primitives (Message, State, Tool types), (3) specifying interface protocols, (4) creating execution loop pseudocode, or (5) producing architecture diagrams and implementation roadmaps.

when-releasing-software-use-github-release-management

242
from aiskillstore/marketplace

Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management. Coordinates release-manager, cicd-engineer, tester, and docs-writer agents through hierarchical topology to handle semantic versioning, changelog generation, release notes, deployment validation, and post-release monitoring. Supports multiple release strategies (rolling, blue-green, canary) and automated rollback. Use when creating releases, managing deployments, or coordinating version updates.

architecture-documenter

242
from aiskillstore/marketplace

Document system architecture and technical design decisions for effective team communication and ...

review-architecture

242
from aiskillstore/marketplace

アーキテクチャレビュースキル(設計整合性、コーディング規約、ドキュメント整合性の確認)

site-architecture

242
from aiskillstore/marketplace

When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL structure, or internal linking. Also use when the user mentions "sitemap," "site map," "visual sitemap," "site structure," "page hierarchy," "information architecture," "IA," "navigation design," "URL structure," "breadcrumbs," "internal linking strategy," "website planning," "what pages do I need," "how should I organize my site," or "site navigation." Use this whenever someone is planning what pages a website should have and how they connect. NOT for XML sitemaps (that's technical SEO — see seo-audit). For SEO audits, see seo-audit. For structured data, see schema-markup.

architecture-diagram

242
from aiskillstore/marketplace

Create professional, dark-themed architecture diagrams as standalone HTML files with SVG graphics. Use when the user asks for system architecture diagrams, infrastructure diagrams, cloud architecture visualizations, security diagrams, network topology diagrams, or any technical diagram showing system components and their relationships.