# Hack23 Cia C4 Architecture Documentation

> C4 Architecture Documentation Skill

- Skill: `tomevault-io/hack23-cia-c4-architecture-documentation` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/hack23-cia-c4-architecture-documentation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/hack23-cia-c4-architecture-documentation/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/hack23-cia-c4-architecture-documentation

---


# C4 Architecture Documentation Skill

## Purpose
Document CIA platform architecture using C4 model for different abstraction levels.

## When to Use
- ✅ Documenting system architecture
- ✅ Onboarding new developers
- ✅ Architecture decision records
- ✅ Security architecture reviews

## C4 Model Levels

### Level 1: System Context
```
[External Users] --uses--> [CIA Platform] --uses--> [Riksdagen API]
[CIA Platform] --uses--> [World Bank API]
[CIA Platform] --uses--> [PostgreSQL Database]
```

### Level 2: Container Diagram
```
[Web Browser] --HTTPS--> [Spring MVC App] --JDBC--> [PostgreSQL]
[Spring MVC App] --HTTPS--> [External APIs]
[Spring MVC App] --uses--> [Redis Cache]
```

### Level 3: Component Diagram
```java
// Service Layer Components
@Component PoliticianService --uses--> @Repository PoliticianRepository
@Component VotingAnalysisService --uses--> @Repository VotingRecordRepository
@Component RiksdagenClient --calls--> [External Riksdagen API]
```

### Level 4: Code
```java
// Detailed class design
public class PoliticianService {
    private final PoliticianRepository repository;
    private final RiksdagenClient riksdagenClient;
    // Implementation details...
}
```

## PlantUML Diagrams
```plantuml
@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml

Person(user, "Citizen", "Wants political transparency")
System_Boundary(cia, "CIA Platform") {
    Container(web, "Web Application", "Spring MVC, Vaadin 8", "Provides UI")
    ContainerDb(db, "Database", "PostgreSQL", "Stores data")
}
System_Ext(riksdagen, "Riksdagen API", "Government data")

Rel(user, web, "Uses", "HTTPS")
Rel(web, db, "Reads/Writes", "JDBC")
Rel(web, riksdagen, "Fetches data", "HTTPS/REST")
@enduml
```

## References
- C4 Model: https://c4model.com/
- ARCHITECTURE.md
- FUTURE_ARCHITECTURE.md

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/hack23) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

