architecture-models-4plus1 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited architecture-models-4plus1 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generates Kruchten's 4+1 View Model for any software system. Each deliverable per view is two artefacts:
Plus a prose view document that wraps both and explains the architecture decisions, quality attributes, and concerns.
This skill is portable by design: the same SKILL.md works natively in Claude Code, via a Cursor rule (shims/cursor/), and via a Copilot custom prompt (shims/copilot/). Change logic here; the shims will pick it up.
| View | Who reads it | What it answers | Primary notation |
|---|---|---|---|
| Logical | End-users, analysts, architects | What components exist and how they relate | Mermaid class / component / C4 Container |
| Process | Integrators, performance engineers, operations, BAs | How the system behaves at runtime | Mermaid sequenceDiagram (dev) / flowchart with swimlanes (cross-functional) |
| Development | Developers, software managers | How the codebase is organised | Mermaid flowchart / C4 Component |
| Physical | SRE, infrastructure engineers | How it's deployed and operated | PlantUML deployment + AWS/Azure/GCP stdlib (primary) / Mermaid C4Deployment (fallback) |
| Scenarios (+1) | All stakeholders | Key use cases that exercise the other four | Mermaid flowchart (use-case style) + mini sequences |
Reference files per view: references/logical-view.md, references/process-view.md, references/development-view.md, references/physical-view.md, references/scenarios-view.md. Read the relevant reference before generating that view — do not attempt any view from memory.
Notation cheatsheets: references/notation-mermaid.md, references/notation-plantuml.md, references/notation-bpmn-in-mermaid.md. Read these the first time you render in a given tool.
Decide which mode the user is in. If ambiguous, ask.
Audience drives notation. Ask this exact question if the user has not already told you:
"Who's the primary audience for this documentation? (a) Dev-only — developers, architects, SRE. UML-flavoured notation throughout. (b) Cross-functional — includes business analysts, product, operations. BPMN-style swimlanes for the process view; UML-flavoured elsewhere. (c) Executive — senior stakeholders, steering committees. Simplified C4 at context level only; skip low-level detail."
Record the answer. It determines which notation each view uses. Each reference file has an Audience routing section that tells you exactly what to render for (a), (b), or (c).
Before generating any view, confirm or extract these. If critical information is missing, ask — do not invent silently. If in zero-input mode, generate reasonable assumptions and mark each one with > **Assumption:** blockquotes so the architect can find and verify them.
Checklist:
Read concerns/README.md for the catalogue of concern modules. For each view, pull in the concerns that apply (by default: gdpr-data-protection.md, security.md, bias-fairness.md if ML is present, and regulatory-compliance.md if the system operates in a regulated sector).
Each concern module has a per-view prompts section telling you what to check for that view. Surface any genuine concerns as > **Concern (GDPR):** … blockquotes inside the view document. Do not boilerplate — only flag what actually applies to this system.
Generate in this exact order. Scenarios go last because they validate the others.
references/logical-view.md, generate the Mermaid diagram, wrap in prose, flag concerns.references/process-view.md, generate the Mermaid diagram (sequence or swimlane-flowchart per audience), wrap in prose, flag concerns.references/development-view.md, generate the Mermaid diagram, wrap in prose, flag concerns.references/physical-view.md, generate the PlantUML diagram (with cloud-provider stdlib where relevant), wrap in prose, flag concerns.references/scenarios-view.md, produce the scenario list with a diagram for each key scenario, verify that each scenario exercises elements from all four main views.Each view document uses the structure in templates/view-template.md. Do not abbreviate — architectural documentation is a formal deliverable that must survive being read six months later by someone who wasn't in the conversation.
After each view document, produce the corresponding Miro prompt using templates/miro-prompt-template.md. Miro prompt rules (non-negotiable, derived from the RISEN framework):
See examples/synth-claim/miro-prompts/ for fully-worked examples.
After all views are generated, verify:
scripts/validate-views.py performs mechanical checks on a generated view directory (same names used across views, no orphan components). Run it if you're outputting to disk and want a quick sanity check.
Default output structure on disk:
[system-name]-architecture/
├── 00-system-context.md # The gathered context from Step 3
├── 01-logical-view.md
├── 02-process-view.md
├── 03-development-view.md
├── 04-physical-view.md
├── 05-scenarios-view.md
├── diagrams/ # Rendered diagram sources (edit these, regenerate prose)
│ ├── logical-view.mmd # Mermaid source
│ ├── process-view.mmd
│ ├── development-view.mmd
│ ├── physical-view.puml # PlantUML source
│ └── scenarios-view.mmd
└── miro-prompts/
├── logical-view-prompt.md
├── process-view-prompt.md
├── development-view-prompt.md
├── physical-view-prompt.md
├── scenarios-view-prompt.md
└── full-board-prompt.md # One megaprompt to regenerate the entire boardIf the user wants a single consolidated document, combine all five views with a Table of Contents and put the diagram sources inline. Keep miro-prompts/ as a separate folder regardless.
> **Assumption:** blockquotes so the architect can find and verify them.references/process-view.md, switch audience to (b), regenerate just that view.concerns/fca-compliance.md, add it to the concern catalogue in concerns/README.md.Per-view detail:
references/logical-view.mdreferences/process-view.mdreferences/development-view.mdreferences/physical-view.mdreferences/scenarios-view.mdNotation cheatsheets:
references/notation-mermaid.mdreferences/notation-plantuml.mdreferences/notation-bpmn-in-mermaid.mdConcerns (modular — add, remove, or swap as the company evolves):
concerns/README.md (catalogue)concerns/gdpr-data-protection.mdconcerns/security.mdconcerns/bias-fairness.mdconcerns/regulatory-compliance.mdconcerns/sustainability-climate.mdconcerns/accessibility.mdTemplates:
templates/view-template.mdtemplates/miro-prompt-template.mdWorked example (study this to calibrate tone and specificity):
examples/synth-claim/ — a synthetic hybrid-cloud claims-processing platform with all five views rendered, GDPR concerns flagged, and Miro prompts generated.Scripts:
scripts/validate-views.py — cross-view consistency check.Shims (same skill, different tools):
shims/cursor/architecture-models-4plus1.mdc — Cursor ruleshims/copilot/architecture-models-4plus1.prompt.md — Copilot custom prompt~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.