skills/architecture-exploration/SKILL.md
Explore and compare architectural options before committing to a large technical direction. Use when the user wants to evaluate different architectures, compare approaches, choose between competing designs, rethink a subsystem, or understand tradeoffs before a major refactor or migration. Also use for prompts like "explore the architecture", "what are our options", "compare approaches", "what design should we choose", "audit and recommend an improved architecture", or "help me think through a large architectural change" even if the user does not mention a formal architecture review.
npx skillsauth add petekp/claude-skills architecture-explorationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reason deeply about a system, generate real architectural options, and help the user choose the best direction before any migration begins.
This skill is intentionally pre-commit. Its job is to help pick the right architecture, not to execute the migration. Once a direction is chosen, hand the work off to audit-and-migrate.
Large engineering efforts fail long before code is written:
This skill exists to force disciplined exploration before implementation.
This skill does not:
This skill does:
audit-and-migratePerform all of this work directly. Do not rely on other skills to do the shaping, stress-testing, or architecture comparison for you.
If the user has already chosen a direction and wants to land it safely, stop using this skill and use audit-and-migrate.
First excavate reality, then compare options, then recommend.
Do not start with architecture taste. Start with the actual system, the actual constraints, and the actual problem.
Before you recommend an architecture, you must earn the recommendation.
For the relevant system, actively inspect:
Do not recommend major boundary changes based only on the user's summary if the local codebase can answer the question.
When a claim is uncertain, mark it as uncertain. A high-integrity architectural recommendation is one that is well-calibrated, not one that sounds maximally confident.
Before exploring options, pin down the decision you are actually making.
Capture:
If the user already has a candidate solution in mind, treat it as Option A, not as the conclusion.
Understand the current system before proposing alternatives.
For the affected system or systems, map:
Produce a concise current-state map:
## Current System
| Area | Current Owner | Inputs | Outputs | Dependencies | Pain |
|------|---------------|--------|---------|--------------|------|
| ... | ... | ... | ... | ... | ... |
Do not skip this because the user "already knows the system." A rigorous option comparison depends on a shared map of reality.
Generate 2-4 serious architectural options.
Do not generate fake alternatives. Every option must be plausible enough that a strong team could reasonably choose it.
When feasible, include:
Each option must describe:
For every option, run the same analysis.
How well does the option satisfy:
List the must-be-true assumptions:
## Must-Be-True Assumptions
| Assumption | Why It Matters | How to Verify | Fastest Disproof |
|------------|----------------|---------------|------------------|
| ... | ... | ... | ... |
Imagine the option failed one year later. Work backward.
## Pre-Mortem
| Failure Mode | Warning Signal | Prevention |
|--------------|----------------|------------|
| ... | ... | ... |
Evaluate each option on:
Use relative ratings with justification. Avoid fake precision.
## Tradeoff Matrix
| Dimension | Option A | Option B | Option C |
|-----------|----------|----------|----------|
| Simplicity | Medium — ... | High — ... | Low — ... |
| Migration Difficulty | ... | ... | ... |
| Cleanup Burden | ... | ... | ... |
| Operability | ... | ... | ... |
| Testability | ... | ... | ... |
| Long-Term Flexibility | ... | ... | ... |
For each option, state what would make it the wrong choice.
Examples:
What remains uncertain? Distinguish:
Do not stop at listing options. Make a recommendation.
The recommendation must include:
If the recommendation is genuinely unclear, say so and explain exactly which uncertainty blocks a good decision.
Before committing, propose the cheapest high-value spikes to kill uncertainty.
Good spikes are:
Examples:
For each spike:
## Validation Spikes
| Spike | Question Answered | Cost | Success Signal | Failure Signal |
|-------|-------------------|------|----------------|----------------|
| ... | ... | ... | ... | ... |
audit-and-migrateOnce the user chooses a direction, hand off the decision package cleanly.
The handoff section must include:
This section should make it easy to start audit-and-migrate without reopening the architecture debate.
For non-trivial explorations, produce a decision-grade artifact at .claude/architecture/ARCHITECTURE_OPTIONS.md or the project’s equivalent docs location.
Use this structure:
# Architecture Exploration: [System Name]
## Goal
## Problem
## Invariants
## Non-Goals
## Constraints
## External Surfaces
## Current System
| Area | Current Owner | Inputs | Outputs | Dependencies | Pain |
## Option 1: [Name]
### Architecture Shape
### Why It Might Work
### Tradeoffs
### Failure Modes
### Disqualifiers
### Cleanup / Migration Implications
### Unknowns
## Option 2: [Name]
...
## Tradeoff Matrix
| Dimension | Option 1 | Option 2 | Option 3 |
## Assumptions
| Assumption | Why It Matters | How to Verify | Fastest Disproof |
## Risk Register
| Risk | Option(s) Affected | Likelihood | Impact | Mitigation |
## Validation Spikes
| Spike | Question Answered | Cost | Success Signal | Failure Signal |
## Recommendation
## Runner-Up
## Why The Other Options Lose
## Decision Needed
## Handoff to audit-and-migrate
For smaller requests, present the same structure inline in the conversation.
Do not invent numerical scoring that implies rigor you do not actually have. Relative ratings with explanations are better than fake weighted totals.
Architecture preferences are not evidence. Ground recommendations in:
If every option increases conceptual complexity, you probably missed a better path.
A full rewrite or major structural reset must earn its place. It is rarely the default winner.
Every option gets the same scrutiny. Do not stress-test the user's preferred option less just because it sounds elegant.
Exploration is complete when:
audit-and-migrateIf you reach that point, stop exploring and recommend the decision.
audit-and-migrateUse this skill to answer:
Use audit-and-migrate after the answer becomes:
tools
Comprehensively manually test the Circuit plugin's user-facing surface in either Claude Code or Codex. Use this skill whenever the user asks to "manually test Circuit", "QA the Circuit plugin", "exercise the Circuit surface", "run the Circuit checklist", "smoke test Circuit", "find regressions in Circuit", "test the Claude Circuit plugin", "test the Codex Circuit plugin", or when preparing a Circuit release for marketplace publication. Argument is the host package to test — `claude` or `codex`. Produces a Markdown report with per-command pass/fail, exploratory findings ranked by severity, run-folder evidence links, and a concise terminal summary. Use even if the user does not say the word "test" — phrases like "go through every Circuit command" or "make sure Circuit still works end-to-end" should also trigger.
development
Turn the prompt supplied with this skill into a concise, auditable Codex Goal or explain why a Goal is not the right fit. Use when the user asks to draft, formulate, rewrite, tighten, or create a `/goal` from a plain-language task, especially for multi-step work that needs a durable objective, evidence-based completion, constraints, iteration policy, and a default adversarial review loop.
development
Give the human a fast, plain-English catch-up on what changed in the project: what the agents did, why, and what decisions need their input. Use this whenever the user asks to "catch me up", "what changed", "where are we", "recap", "brief me", "give me the rundown", "what did you do", "summarize the session", "fill me in", or otherwise signals they have been away and want to get back up to speed quickly. Built for someone steering several agent-driven projects at once who does not read the code closely but needs to grasp the core ideas, the choices made, and the open decisions well enough to steer. Trigger even if they do not use these exact words: any request to get oriented on recent progress should use this skill.
tools
Expert Unix and macOS systems engineer for shell scripting, system administration, command-line tools, launchd, Homebrew, networking, and low-level system tasks. Use when the user asks about Unix commands, shell scripts, macOS system configuration, process management, or troubleshooting system issues.