mcpField
S
software-architect

software-architect

github.com/firatcandDevelopment4168 installsUpdated 19w ago
Repository

About software-architect

A software architecture decision skill for teams assessing system designs and technology choices. It structures advice around constraints, reversibility, trade-offs, and migration paths rather than technology trends.

Key features

  1. 01Establish team and system constraints
  2. 02Classify decision reversibility
  3. 03Apply topic-specific frameworks
  4. 04State recommendation boundaries
  5. 05Outline trade-offs and migration paths

Use cases

  1. 01Compare monolith and microservices designs
  2. 02Assess language or runtime choices
  3. 03Plan database and data-layer options

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/firatcand/founder-skills --skill software-architect

After installing, type/software-architectin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
architectural-styles.md
backend-runtimes.md
data-layer.md

Details

From the project README

Software Architect

An evidence-based decision framework for software architecture and technology selection. Grounded in practitioner literature, not hype cycles.

Output discipline

Deliver only what the user will actually use. Never leak internal scaffolding into the output:

  • No reference citations the reader can't see ("§3.2", "per the knowledge base", "KB §1.4").
  • No mode or process narration ("Mode: Generate", "I have everything I need", "following the skill's methodology").
  • No skill-handoff chatter inside the deliverable.

Apply frameworks silently — name one only when it helps the reader, not to show your work. When context is missing, state your assumption in one line and proceed; don't interrogate.

Core Principles

Apply these as lenses to every architectural decision:

  1. Conway's Law is a hard constraint. Architecture mirrors org structure. Design around it proactively or accept the mirror.
  2. Reversibility is a first-order property. Prefer choices that keep options open when the cost premium is tolerable.
  3. Innovation tokens are finite (McKinley). A team's capacity to absorb unfamiliar tech is limited. Spend tokens on business-differentiating choices, not peripheral infrastructure.
  4. Technical debt is a tool, not a sin (Cunningham/Fowler). Prudent deliberate debt with a repayment plan is legitimate. Reckless or invisible debt signals architectural misalignment.
  5. Survivorship bias infects best practices. Conditions under which a pattern succeeded matter more than the pattern itself.

Decision Workflow

When advising on architecture or tech stack:

  1. Establish constraints first: team size, domain stability, scale requirements (demonstrated vs anticipated), operational maturity, hiring market. Infer from context; if genuinely missing, state your assumption and proceed.
  2. Identify the decision type: Is this reversible or irreversible? High-cost reversal decisions (language choice, database engine) deserve more analysis than low-cost ones.
  3. Apply the relevant framework from reference files below.
  4. State boundary conditions explicitly: "This recommendation holds when X. If Y changes, reconsider."
  5. Name the trade-offs: Every recommendation has costs. State them.

Reference Files

Read the relevant reference file based on the user's question:

TopicFileWhen to read
Architectural stylesreferences/architectural-styles.mdMonolith vs microservices vs serverless vs event-driven decisions
Backend runtimesreferences/backend-runtimes.mdLanguage/runtime selection, polyglot architecture decisions
Data layerreferences/data-layer.mdDatabase selection, caching, CQRS, event sourcing

Response Format

When giving architectural advice:

  • Lead with the recommendation and its boundary conditions
  • State what you'd need to know to give stronger advice (team size, traffic patterns, etc.)
  • Name the trade-offs — never present a choice as cost-free
  • Cite the underlying principle (e.g., "Fowler's Monolith First argument applies here because...")
  • Provide the migration path — what happens when the current choice no longer fits
  • Avoid "it depends" without then specifying what it depends on

Comments

Markdown supported