Skip to content
Back to skills

Architecture

ASecurity

Determines the system architecture and technology stack. The Solution Architect designs, the CTO approves. Produces component boundaries, data flow, NFR mechanisms and initial ADRs. Operates the CTO-STACK and ARCH-DESIGN gates.

  • 6 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added September 6, 2026
ai-agentssqlapidatabasefrontendbackend

Works with

  • api

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add bturksoy/claude-code-app-studio --skill architecture --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Architecture?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Architecture
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bturksoy-architecture/badge)](https://www.skillsdirectory.com/skills/bturksoy-architecture)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: architecture
description: Determines the system architecture and technology stack. The Solution Architect designs, the CTO approves. Produces component boundaries, data flow, NFR mechanisms and initial ADRs. Operates the CTO-STACK and ARCH-DESIGN gates.
---

# /architecture

Owner: `solution-architect`, approval: `cto`.
Outputs: `docs/architecture/ARCHITECTURE.md`, `TECH-STRATEGY.md`, initial ADRs.

Prerequisite: `product/requirements/FRD.md` + `NFR.md`

---

## 1. Prepare the input

Context block:
- Project description, scale, critical constraint (from `docs/CONTEXT.md`)
- REQ heading table (Phase 1 scope — not the full text)
- **All NFRs** (these drive the architecture; embed them in full)
- Any known user preferences (from `docs/DECISIONS.md`)

Also ask the user via `AskUserQuestion` (this largely determines the architecture):

**Question 1 — Technology preference**
`Use the stack I know (I'll specify)` / `You recommend (Recommended)` /
`Must be compatible with an existing system`

**Question 2 — Hosting**
`Cloud (managed services)` / `My own server / VPS` / `On-premises` / `Not decided yet`

**Question 3 — Expected scale (first year)**
`< 100 users` / `100 - 10,000` / `10,000+` / `Unknown`

## 2. `solution-architect` and `cto` — parallel call

These two are invoked **in parallel in the same message**; they answer different questions.

### Call A — `solution-architect`

```
<CONTEXT BLOCK + user answers>

Task: produce the architecture design.

1. Context diagram (C4-1): system, actors, external systems — Mermaid
2. Containers (C4-2): responsibility + NFRs satisfied for each
3. Component boundaries and the dependency direction rule
4. Data flow for critical scenarios (at most 3 sequence diagrams)
5. Cross-cutting concerns: identity/authorization, error handling, logging,
   configuration, caching, transaction boundaries
6. NFR mechanism table: | NFR | mechanism | verification method |
   EVERY NFR gets a row. If there is no mechanism, write "OPEN".
7. What we deliberately did not do (eliminated approaches + why)
8. List of decisions that require an ADR (title + why an ADR is needed)

Rule: the simplest thing that works. Choices like distributed systems, microservices
or event sourcing must rest on a concrete NFR — if they do not, do not propose them.
Do not begin your reply with "ARCH-DESIGN: ..." — this is the first, design round.
```

### Call B — `cto`

```
<CONTEXT BLOCK + user answers>

Task: determine the technology stack and produce the TECH-STRATEGY content.

1. Layer-by-layer stack proposal (frontend, backend, database, infrastructure, CI,
   monitoring). For each choice: why this, which alternative was eliminated, exit cost.
2. Allowed / disallowed technology policy
3. Dependency policy: when a library is added, and the criteria
4. Technical debt stance: what we will not pay for now, and when we will
5. Operating cost estimate (rough: low/medium/high + monthly order of magnitude)
6. What this stack will prevent us from doing six months from now

Rule: boring and mature > new and exciting. What the team knows > theoretically best.
Minimize the number of moving parts.
Begin your reply with "CTO-STACK: APPROVED|CONDITIONAL|REJECTED".
```

## 3. Conflict check (you do this)

If the two outputs are inconsistent (the architecture assumes X, the CTO chose Y),
make the conflict **visible** and resolve it via `AskUserQuestion`. Do not ask the
agents again.

## 4. NFR gap audit

For the `ARCH-DESIGN` verdict, **you** check the NFR mechanism table:
- Any NFR whose mechanism is `OPEN` → list them
- Any NFR without a verification method → list them

If there are gaps, send `solution-architect` **one short** second round:
```
The architectural mechanism is missing for these NFRs: <list>
Fill in only those rows. Do not rewrite the whole architecture.
Then give "ARCH-DESIGN: APPROVED|CONDITIONAL|REJECTED".
```

## 5. Present

```
## Architecture Summary
Approach: <one sentence — e.g. "Single service (modular monolith) + PostgreSQL + SPA">

Stack
| Layer | Choice | Why | Eliminated alternative |

Containers
| Name | Responsibility | NFR |

NFR mechanisms: <N>/<M> covered  ⚠ Open: <list>

ADRs required: <title list>

Gates: CTO-STACK <verdict> | ARCH-DESIGN <verdict>
```

`AskUserQuestion`: `Approve and write (Recommended)` / `I want to change the stack` /
`I want a simpler architecture`

## 6. Write

- `docs/architecture/ARCHITECTURE.md`
- `docs/architecture/TECH-STRATEGY.md`
- `docs/architecture/adr/index.md` — the list of required ADRs (not yet written,
  status `Proposed`)
- `docs/CONTEXT.md` → fill in the "Technology stack" table
- `.state/project.json` → the `stack` field + `phase: "design"`
- `.state/gates.jsonl` → two gate lines
- `docs/DECISIONS.md` → the stack decision as one line

## 7. Close

```
✓ Architecture determined.
  Stack: <summary> | ADRs required: <N> decisions

▶ Next steps (in order):
   /adr "<first critical decision>"  — record the critical decisions
   /data-model                        — ER + schema
   /api-contract                      — OpenAPI contract
   /ux-flow                           — user flows  (can run in parallel)
```

---

## Token note

- **2 parallel agent calls** + at most 1 short correction round.
- NFRs are embedded in full (they drive the architecture); REQs only as headings.
- Conflict resolution is done by the model — do not spawn a third agent.
- Do not write all the ADRs here — only produce the list. `/adr` writes them one by one.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…