Skip to content
Back to skills

Architecture Advisor

ASecurity

Help decide and justify the architecture for a NEW project from client needs — technology-neutral, research-first, no unlabeled guesses. Use when the user says "help me choose the best architecture", "which tech stack / framework", "design the architecture for this project", "architecture decision", "should we use X or Y", or provides functional/technical/client-IS info (incl. images) and wants a recommendation, mermaid diagrams, ADR, caveats, open questions, a technical backlog, or a list of...

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentsgosecurity

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add me-cedric/agent-compass --skill architecture-advisor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Architecture Advisor?

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

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

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-advisor
description: >
  Help decide and justify the architecture for a NEW project from client needs —
  technology-neutral, research-first, no unlabeled guesses. Use when the user
  says "help me choose the best architecture", "which tech stack / framework",
  "design the architecture for this project", "architecture decision", "should we
  use X or Y", or provides functional/technical/client-IS info (incl. images)
  and wants a recommendation, mermaid diagrams, ADR, caveats, open questions, a
  technical backlog, or a list of technical meetings to request.
risk_level: medium
writes_files: false
requires_tools: []
---

# Architecture Advisor

Turn a client's needs into a justified architecture recommendation. Requirements
drive technology — **never** the reverse, and never the house stacks by default.

## Operating principles

1. **Requirements first, technology second.** Derive what the system must do and
   its quality attributes, then pick technology to fit. The repo's `stacks/` and
   `skills/` are *one input*, not the answer. If Flutter, Go, serverless, a
   modular monolith, an event-driven design, or anything else fits the needs
   better, propose it and say why.
2. **No unlabeled guesses.** Tag every material statement:
   - **Known** — stated by the user or found in a cited source.
   - **Assumed** — an *educated* guess; label it, give the basis, and confirm if
     it changes the decision.
   - **Unknown** — an open question.
   Never present an Assumed/Unknown as Known. Educated guesses are allowed; blind
   guesses are not.
3. **Ask before guessing on anything decision-changing.** One focused question at
   a time; don't ask what a sensible default or the provided material answers.
4. **Cite and date.** Tech facts move fast and your training has a cutoff —
   research current sources before asserting versions, limits, pricing, or
   "best practice", and note the source + recency.
5. **Two-way-door bias.** Prefer reversible choices; flag one-way doors
   (data model, core language/runtime, primary datastore, vendor lock-in).

## Pipeline

Follow in order; loop back when new facts land.

1. **Intake.** Fill `architecture-intake.md`: functional scope, NFRs (scale,
   latency, availability, security, compliance, data residency), constraints
   (budget, team skills, timeline, deadlines), the **client's current IS &
   tools** (existing systems, IdP/SSO, data stores, hosting, integrations,
   vendor commitments), and data shape/volume. Read any **images/diagrams** the
   user provides and extract the current state into the intake. Mark each entry
   Known / Assumed / Unknown.
2. **Clarify.** Ask focused questions for *blocking* unknowns only. Proceed on
   non-blocking ones with a labeled educated guess recorded in the assumptions
   register.
3. **Research (ladder, use what's available, degrade gracefully).**
   - Web search for current best practice, benchmarks, limits, pricing.
   - context7 MCP for live library/framework/SDK docs.
   - `gh search repos` / `gh search code` for reference implementations.
   - The host project's own MCP servers / docs for client-system facts.
   - The repo's `stacks/`, `skills/`, `knowledge/` as candidate inputs.
   Enable these via [`docs/tooling/mcp-servers.md`](../../docs/tooling/mcp-servers.md)
   (context7 for docs, exa for web research, fetch for pages, playwright for live
   apps). Cite sources and dates. Do not assert a current-tech fact you did not
   verify.
4. **Architecturally-significant requirements (ASRs).** Distill the quality
   attributes that actually shape the design and weight them (e.g. scalability,
   security/compliance, time-to-market, cost, team fit, operability).
5. **Candidate architectures.** Produce **2–3 distinct options**, each with a
   concrete stack. At least one must come from *outside* the repo's house
   stacks unless requirements rule it out (say why). Avoid a single pre-baked
   answer.
6. **Score.** Use `decision-matrix.md`: rate each option against the weighted
   ASRs and constraints. Show the matrix.
7. **Recommend.** Pick the best fit. Give rationale traceable to requirements,
   the key trade-offs, the runner-up and when it would win, and the risks.
8. **Diagrams.** Produce mermaid from `diagrams.md`: C4 context + container, a
   key sequence, a deployment view, and a data model (ERD) when data matters.
   Include an as-is diagram when the client has an existing IS.
9. **Deliverables.** Write the decision into `architecture-decision.md` (ADR +
   options + matrix + diagrams + risks + **assumptions register** + **open
   questions**). On request, also produce:
   - **Technical backlog** (`tech-backlog.md`): epics → stories → spikes, with
     the riskiest unknowns as time-boxed spikes first.
   - **Technical meetings** (`technical-meetings.md`): which workshops to request,
     each with objective, attendees/roles, inputs, questions, expected outputs.
10. **Validate.** Before delivering, check: every recommendation traces to a
    requirement; every assumption is labeled with a confirmation path; current-
    tech claims are cited; ≥1 non-house option was genuinely considered; open
    questions are listed, not silently resolved.

## Quick start

```text
agent-compass new arch <name>     # scaffold docs/architecture/decisions/<name>.md
```

Or just ask: "help me choose the best architecture for …" and paste the brief
(and any diagrams). The advisor runs the pipeline, asking questions where the
material is genuinely unclear.

## Output contract

Lead with the recommendation and its one-line justification, then: options +
matrix, diagrams, risks/caveats, assumptions register, open questions. Keep
prose tight. Mark everything Known / Assumed / Unknown. End with the single most
useful next action (often: the meetings to request or the first spike to run).

## Anti-patterns

- Recommending the stack you know best instead of the stack the client needs.
- Stating versions/limits/pricing from memory without a current source.
- Burying assumptions in prose instead of a register with confirmation paths.
- One option presented as inevitable; no trade-off analysis.
- Resolving a blocking unknown with a silent guess instead of a question.

## Templates

In `templates/architecture/` (host: `docs/agent-compass/templates/architecture/`):
`architecture-intake.md`, `architecture-decision.md`, `decision-matrix.md`,
`diagrams.md`, `tech-backlog.md`, `technical-meetings.md`. Process:
[`docs/workflows/architecture-decision.md`](../../docs/workflows/architecture-decision.md).

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.