architecture-docs
SKILL.md
Architecture Documentation Skill
Overview
This skill provides patterns for creating clear, maintainable architecture documentation with properly formatted Mermaid diagrams.
When to Use
- Creating system architecture diagrams
- Documenting data flows
- Writing implementation plans
- Creating entity relationship diagrams
- Updating
docs/implementation-plan/
Mermaid Diagram Best Practices
CRITICAL: Quote Special Characters
Mermaid will break on unquoted special characters. ALWAYS quote node labels containing:
| Character | Example | Wrong | Correct |
|---|---|---|---|
| Parentheses | (info) |
A[Label (info)] |
A["Label (info)"] |
| Brackets | [0] |
A[Array [0]] |
A["Array [0]"] |
| Angle brackets | <table> |
A[Id<table>] |
A["Id<table>"] |
| Colon | : |
A[Key: Value] |
A["Key: Value"] |
| Ampersand | & |
A[A & B] |
A["A & B"] |
| Greater/Less | >, < |
A[x > 5] |
A["x > 5"] |
| Pipe | | |
A[A | B] |
A["A | B"] |
| Question mark | ? |
A[Is valid?] |
A["Is valid?"] |
Flowchart Template
flowchart TD
subgraph Input["π₯ Input Layer"]
A["SAM.gov API"]
B["eMMA Scraper"]
C["RFPMart API"]
end
subgraph Processing["βοΈ Processing"]
D["Canonical Schema"]
E["Deduplication"]
F{"Eligibility Gate"}
end
subgraph Output["π€ Output"]
G["ELIGIBLE"]
H["PARTNER_REQUIRED"]
I["REJECTED"]
end
A --> D
B --> D
C --> D
D --> E
E --> F
F -->|"Pass"| G
F -->|"Partner needed"| H
F -->|"Fail"| I
Sequence Diagram Template
sequenceDiagram
participant U as "User"
participant FE as "React Frontend"
participant BE as "Convex Backend"
participant AI as "Gemini AI"
U->>FE: Click "Evaluate"
FE->>BE: mutation("evaluations.run")
BE->>BE: Check eligibility first
alt Eligible
BE->>AI: Send evaluation prompt
AI-->>BE: Return JSON result
BE-->>FE: Evaluation complete
else Not Eligible
BE-->>FE: Return rejection reason
end
FE-->>U: Show result
Entity Relationship Diagram Template
erDiagram
OPPORTUNITY ||--o{ EVALUATION : "has"
OPPORTUNITY ||--o| PURSUIT : "may have"
EVALUATION ||--|| ELIGIBILITY : "contains"
EVALUATION ||--o{ DIMENSION_SCORE : "contains"
PURSUIT ||--o{ NOTE : "has"
PURSUIT ||--o| BRIEF : "has"
USER ||--o{ PURSUIT : "owns"
OPPORTUNITY {
string id PK
string title
string source
number dueDate
}
EVALUATION {
string id PK
string opportunityId FK
string eligibilityStatus
number totalScore
}
State Diagram Template
stateDiagram-v2
[*] --> New
New --> Triage: Review
Triage --> Bid: Decide to pursue
Triage --> NoBid: Decide to skip
Bid --> Capture: Start capture
Capture --> Draft: Begin writing
Draft --> Review: Submit for review
Review --> Draft: Request changes
Review --> Submitted: Approve
Submitted --> Won: Award received
Submitted --> Lost: Not selected
NoBid --> [*]
Won --> [*]
Lost --> [*]
Documentation Structure
Implementation Plan Structure
docs/implementation-plan/
βββ README.md # Executive summary
β - High-level architecture diagram
β - Phase timeline table
β - Success metrics
β - Approval checklist
β
βββ phase-N-[name]/README.md # Phase details
β - Objectives
β - Data model changes
β - Code examples
β - Implementation checklist
β - Files to create/modify
β
βββ architecture/
βββ README.md # Multi-level architecture
β - Executive view (business flow)
β - Technical view (system components)
β - Implementation view (file structure)
β
βββ DATABASE-SCHEMA.md # Complete schema
- Entity relationship diagram
- Table definitions
- Index definitions
- Complete schema.ts code
Feature Documentation Structure
docs/features/[feature-name]/
βββ README.md # Problem, solution, success criteria
βββ ARCHITECTURE.md # Technical design with diagrams
βββ IMPLEMENTATION.md # Step-by-step plan with checklists
ASCII Diagrams
For inline documentation or simpler contexts, use ASCII art:
Box Diagram
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PROCESSING PIPELINE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β INGEST β DEDUPE β ELIGIBILITY β SCORE β PIPELINE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Flow Diagram
ββββββββββββ ββββββββββββ ββββββββββββ
β INPUT βββββΆβ PROCESS βββββΆβ OUTPUT β
ββββββββββββ ββββββββββββ ββββββββββββ
Decision Tree
βββββββββββββββ
β START β
ββββββββ¬βββββββ
β
ββββββββΌβββββββ
β Eligible? β
ββββββββ¬βββββββ
Yes β No
ββββββββββββββ΄βββββββββββββ
βΌ βΌ
ββββββββββββ ββββββββββββ
β SCORE β β REJECT β
ββββββββββββ ββββββββββββ
Quick Reference
Audience-Specific Diagrams
| Audience | Diagram Type | Focus |
|---|---|---|
| Executive | Flowchart | Business value flow |
| Architect | Component diagram | System boundaries |
| Developer | Sequence diagram | API interactions |
| DBA | ERD | Data relationships |
Diagram Checklist
- All special characters are quoted
- Subgraph labels are descriptive
- Arrows have labels where helpful
- Colors/styles are consistent
- Diagram renders without errors
Weekly Installs
3
Repository
atemndobs/nebula-rfpFirst Seen
Feb 26, 2026
Security Audits
Installed on
gemini-cli3
github-copilot3
codex3
amp3
kimi-cli3
openclaw3