# rogasper/system-analyst-skill architecture

> Architecture diagram of the GitHub repository rogasper/system-analyst-skill, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rogasper/system-analyst-skill
- Repository: https://github.com/rogasper/system-analyst-skill

## Overview

FSD Analyzer is an agent skill that guides an AI coding assistant from functional requirements to technical artifacts and analysis. Its principal workflow is to interpret an FSD, optionally resolve ambiguity, then produce specifications, models, tasks, and planning outputs; separate modes compare or check existing artifacts. The README documents these capabilities, while the sampled Python scripts implement only optional local validation and entity-extraction helpers. Unsampled skill and reference contents limit claims about internal call flow.

Main entry points: [`SKILL.md`](https://github.com/rogasper/system-analyst-skill/blob/main/SKILL.md) (Analyzer Skill), [`optional_web/app.py`](https://github.com/rogasper/system-analyst-skill/blob/main/optional_web/app.py) (Optional Web UI), [`scripts/extract_entities.py`](https://github.com/rogasper/system-analyst-skill/blob/main/scripts/extract_entities.py) (Entity Hints), [`scripts/validate_erd.py`](https://github.com/rogasper/system-analyst-skill/blob/main/scripts/validate_erd.py) (DBML Validator)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["FSD Workflow"]
  node_skill["Analyzer Skill<br/>[SKILL.md]"]
  node_context["Project Context"]
  node_discovery["Discovery Questions"]
end

subgraph group_artifacts["Artifact Generation"]
  node_api["API Specification<br/>[spec_api_format.md]"]
  node_erd["ERD and DBML<br/>[erd_format.md]"]
  node_uml["UML Diagrams<br/>[uml_format.md]"]
  node_devtasks["Developer Tasks<br/>[task_format.md]"]
  node_fetasks["Frontend Tasks"]
  node_openapi["OpenAPI Output<br/>[openapi_format.md]"]
  node_rtm["Traceability Matrix<br/>[rtm_format.md]"]
  node_security["Auth and Security<br/>[auth_security.md]"]
  node_errors["Error Catalog<br/>[error_catalog.md]"]
end

subgraph group_analysis["Analysis and Planning"]
  node_gap["Gap Analysis<br/>[gap_analysis.md]"]
  node_consistency["Consistency Check"]
  node_timeline["Timeline Planning"]
  node_migration["Migration Plan"]
  node_master["Master Artifacts"]
end

subgraph group_helpers["Local Helpers"]
  node_extract["Entity Hints"]
  node_validateerd["DBML Validator<br/>[validate_erd.py]"]
  node_validatespec["Spec Validator<br/>[validate_spec.py]"]
  node_compare["Artifact Comparator"]
  node_webui["Optional Web UI<br/>[app.py]"]
end

node_analyst(("Product Analyst"))
node_assistant(("AI Assistant"))

node_analyst -->|"provides requirements"| node_assistant
node_assistant -->|"uses skill"| node_skill
node_skill -->|"uses context template"| node_context
node_skill -->|"supports discovery"| node_discovery
node_skill -->|"generates specs"| node_api
node_skill -->|"generates schemas"| node_erd
node_skill -->|"generates diagrams"| node_uml
node_skill -->|"generates task cards"| node_devtasks
node_skill -->|"generates frontend tasks"| node_fetasks
node_skill -->|"consolidates specs"| node_openapi
node_skill -->|"traces requirements"| node_rtm
node_skill -->|"documents security"| node_security
node_skill -->|"defines error conventions"| node_errors
node_skill -->|"compares artifacts"| node_gap
node_skill -->|"checks consistency"| node_consistency
node_skill -->|"estimates timeline"| node_timeline
node_skill -->|"plans migration"| node_migration
node_skill -->|"supports incremental work"| node_master
node_assistant -.->|"runs optional helper"| node_extract
node_assistant -.->|"runs optional helper"| node_validateerd
node_assistant -.->|"runs optional helper"| node_validatespec
node_assistant -.->|"runs optional helper"| node_compare
node_webui -->|"runs script"| node_extract
node_webui -->|"runs script"| node_validateerd
node_webui -->|"runs script"| node_validatespec

click node_skill "https://github.com/rogasper/system-analyst-skill/blob/main/SKILL.md"
click node_context "https://github.com/rogasper/system-analyst-skill/blob/main/references/project_context_template.md"
click node_discovery "https://github.com/rogasper/system-analyst-skill/blob/main/references/discovery_questions.md"
click node_api "https://github.com/rogasper/system-analyst-skill/blob/main/references/spec_api_format.md"
click node_erd "https://github.com/rogasper/system-analyst-skill/blob/main/references/erd_format.md"
click node_uml "https://github.com/rogasper/system-analyst-skill/blob/main/references/uml_format.md"
click node_devtasks "https://github.com/rogasper/system-analyst-skill/blob/main/references/task_format.md"
click node_fetasks "https://github.com/rogasper/system-analyst-skill/blob/main/references/frontend_task_format.md"
click node_openapi "https://github.com/rogasper/system-analyst-skill/blob/main/references/openapi_format.md"
click node_rtm "https://github.com/rogasper/system-analyst-skill/blob/main/references/rtm_format.md"
click node_security "https://github.com/rogasper/system-analyst-skill/blob/main/references/auth_security.md"
click node_errors "https://github.com/rogasper/system-analyst-skill/blob/main/references/error_catalog.md"
click node_gap "https://github.com/rogasper/system-analyst-skill/blob/main/references/gap_analysis.md"
click node_consistency "https://github.com/rogasper/system-analyst-skill/blob/main/references/consistency_check.md"
click node_timeline "https://github.com/rogasper/system-analyst-skill/blob/main/references/timeline_estimation.md"
click node_migration "https://github.com/rogasper/system-analyst-skill/blob/main/references/migration_strategy.md"
click node_master "https://github.com/rogasper/system-analyst-skill/blob/main/references/master_artifacts.md"
click node_extract "https://github.com/rogasper/system-analyst-skill/blob/main/scripts/extract_entities.py"
click node_validateerd "https://github.com/rogasper/system-analyst-skill/blob/main/scripts/validate_erd.py"
click node_validatespec "https://github.com/rogasper/system-analyst-skill/blob/main/scripts/validate_spec.py"
click node_compare "https://github.com/rogasper/system-analyst-skill/blob/main/scripts/compare_artifacts.py"
click node_webui "https://github.com/rogasper/system-analyst-skill/blob/main/optional_web/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_skill,node_context,node_discovery toneBlue
class node_api,node_erd,node_uml,node_devtasks,node_fetasks,node_openapi,node_rtm,node_security,node_errors toneAmber
class node_gap,node_consistency,node_timeline,node_migration,node_master toneMint
class node_extract,node_validateerd,node_validatespec,node_compare,node_webui toneRose
class node_analyst,node_assistant toneIndigo
```

## Components

### FSD Workflow

- [Analyzer Skill](https://github.com/rogasper/system-analyst-skill/blob/main/SKILL.md): `SKILL.md`
- [Project Context](https://github.com/rogasper/system-analyst-skill/blob/main/references/project_context_template.md): `references/project_context_template.md`
- [Discovery Questions](https://github.com/rogasper/system-analyst-skill/blob/main/references/discovery_questions.md): `references/discovery_questions.md`

### Artifact Generation

- [API Specification](https://github.com/rogasper/system-analyst-skill/blob/main/references/spec_api_format.md): `references/spec_api_format.md`
- [ERD and DBML](https://github.com/rogasper/system-analyst-skill/blob/main/references/erd_format.md): `references/erd_format.md`
- [UML Diagrams](https://github.com/rogasper/system-analyst-skill/blob/main/references/uml_format.md): `references/uml_format.md`
- [Developer Tasks](https://github.com/rogasper/system-analyst-skill/blob/main/references/task_format.md): `references/task_format.md`
- [Frontend Tasks](https://github.com/rogasper/system-analyst-skill/blob/main/references/frontend_task_format.md): `references/frontend_task_format.md`
- [OpenAPI Output](https://github.com/rogasper/system-analyst-skill/blob/main/references/openapi_format.md): `references/openapi_format.md`
- [Traceability Matrix](https://github.com/rogasper/system-analyst-skill/blob/main/references/rtm_format.md): `references/rtm_format.md`
- [Auth and Security](https://github.com/rogasper/system-analyst-skill/blob/main/references/auth_security.md): `references/auth_security.md`
- [Error Catalog](https://github.com/rogasper/system-analyst-skill/blob/main/references/error_catalog.md): `references/error_catalog.md`

### Analysis and Planning

- [Gap Analysis](https://github.com/rogasper/system-analyst-skill/blob/main/references/gap_analysis.md): `references/gap_analysis.md`
- [Consistency Check](https://github.com/rogasper/system-analyst-skill/blob/main/references/consistency_check.md): `references/consistency_check.md`
- [Timeline Planning](https://github.com/rogasper/system-analyst-skill/blob/main/references/timeline_estimation.md): `references/timeline_estimation.md`
- [Migration Plan](https://github.com/rogasper/system-analyst-skill/blob/main/references/migration_strategy.md): `references/migration_strategy.md`
- [Master Artifacts](https://github.com/rogasper/system-analyst-skill/blob/main/references/master_artifacts.md): `references/master_artifacts.md`

### Local Helpers

- [Entity Hints](https://github.com/rogasper/system-analyst-skill/blob/main/scripts/extract_entities.py): `scripts/extract_entities.py`
- [DBML Validator](https://github.com/rogasper/system-analyst-skill/blob/main/scripts/validate_erd.py): `scripts/validate_erd.py`
- [Spec Validator](https://github.com/rogasper/system-analyst-skill/blob/main/scripts/validate_spec.py): `scripts/validate_spec.py`
- [Artifact Comparator](https://github.com/rogasper/system-analyst-skill/blob/main/scripts/compare_artifacts.py): `scripts/compare_artifacts.py`
- [Optional Web UI](https://github.com/rogasper/system-analyst-skill/blob/main/optional_web/app.py): `optional_web/app.py`

### Other components

- **Product Analyst**
- **AI Assistant**

## Connections

- Product Analyst → AI Assistant: provides requirements (evidence: `README.md`)
- AI Assistant → Analyzer Skill: uses skill (evidence: `README.md`)
- Analyzer Skill → Project Context: uses context template (evidence: `README.md`)
- Analyzer Skill → Discovery Questions: supports discovery (evidence: `README.md`)
- Analyzer Skill → API Specification: generates specs (evidence: `README.md`)
- Analyzer Skill → ERD and DBML: generates schemas (evidence: `README.md`)
- Analyzer Skill → UML Diagrams: generates diagrams (evidence: `README.md`)
- Analyzer Skill → Developer Tasks: generates task cards (evidence: `README.md`)
- Analyzer Skill → Frontend Tasks: generates frontend tasks (evidence: `README.md`)
- Analyzer Skill → OpenAPI Output: consolidates specs (evidence: `README.md`)
- Analyzer Skill → Traceability Matrix: traces requirements (evidence: `README.md`)
- Analyzer Skill → Auth and Security: documents security (evidence: `README.md`)
- Analyzer Skill → Error Catalog: defines error conventions (evidence: `README.md`)
- Analyzer Skill → Gap Analysis: compares artifacts (evidence: `README.md`)
- Analyzer Skill → Consistency Check: checks consistency (evidence: `README.md`)
- Analyzer Skill → Timeline Planning: estimates timeline (evidence: `README.md`)
- Analyzer Skill → Migration Plan: plans migration (evidence: `README.md`)
- Analyzer Skill → Master Artifacts: supports incremental work (evidence: `README.md`)
- AI Assistant → Entity Hints: runs optional helper (evidence: `README.md`)
- AI Assistant → DBML Validator: runs optional helper (evidence: `README.md`)
- AI Assistant → Spec Validator: runs optional helper (evidence: `README.md`)
- AI Assistant → Artifact Comparator: runs optional helper (evidence: `README.md`)
- Optional Web UI → Entity Hints: runs script (evidence: `optional_web/app.py`)
- Optional Web UI → DBML Validator: runs script (evidence: `optional_web/app.py`)
- Optional Web UI → Spec Validator: runs script (evidence: `optional_web/app.py`)
