arch-design

Design architecture docs for new features, refactors, or redesigns. Produces implementation-ready docs with complete file impact analysis.

24 stars

Best use case

arch-design is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Design architecture docs for new features, refactors, or redesigns. Produces implementation-ready docs with complete file impact analysis.

Teams using arch-design should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/arch-design/SKILL.md --create-dirs "https://raw.githubusercontent.com/leogodin217/leos_claude_starter/main/.claude/skills/arch-design/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/arch-design/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How arch-design Compares

Feature / Agentarch-designStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Design architecture docs for new features, refactors, or redesigns. Produces implementation-ready docs with complete file impact analysis.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Architecture Design

Design an architecture doc for a new feature, refactor, or redesign. Produces a doc in `docs/architecture/pending/` with complete file impact analysis.

## Inputs

The user provides one of:
- A feature name or concept (e.g., "behavior mutations")
- A path to an issue doc (e.g., `docs/issues/002-behavior-mutations.md`)
- A description of the problem to solve

## Process

### Checkpoint 1: Problem + Solution (wait for user approval)

1. **Load context:**
   - `docs/CAPABILITIES.md` — current capability status
   - `docs/architecture/README.md` — architecture overview + reading order
   - If user provided an issue path, read that too

2. **Write Problem and Solution sections:**
   - Problem: What's wrong or missing. Include a concrete example (config snippet, error, limitation).
   - Solution: High-level approach. One paragraph + diagram or YAML snippet.

3. **Present to user for approval.** Do not continue until they confirm the direction is right.

### Automated Phase (after direction is approved)

4. **Load relevant architecture docs** per README.md reading order for the area being designed.

5. **Read existing source code** that the design touches. Use Grep/Glob/find_references to locate all relevant files.

6. **Write remaining sections** using the template at `.claude/skills/arch-design/template.md`:
   - **Semantics** — behavioral rules, edge cases, ordering, timing
   - **Configuration** — YAML examples if the feature has educator-facing config
   - **Interface Contracts** — function signatures with full docstrings
   - **Validation Rules** — parse-time (Pydantic) and business rules
   - **Implementation Impact** — the key section (see below)
   - **What Doesn't Change** — explicit scope boundaries

7. **Build the Implementation Impact section:**
   - Use Grep to find every import of types/functions being moved or modified
   - Use find_references for symbols being renamed or relocated
   - Use Glob to find test files that cover affected modules
   - For each file: action (Create/Modify), path, one-line description of change
   - Separate into: Source Files, Test Files, Import Updates
   - The Import Updates table must show current import → new import for every file affected by moves/renames

8. **Write the complete doc** to `docs/architecture/pending/<name>.md`

9. **Present the full doc to user** with a summary of:
   - Total files affected (create/modify counts)
   - Import sites found
   - Any design decisions that could go either way (flag for user)

## Quality Rules

- **No invented scenario values** (Principle #7) — contracts must not introduce defaults for educator-specified parameters
- **No future scaffolding** (Principle #8) — design only what this feature needs, not extensibility for hypothetical future work
- **Breaking changes are fine** (Principle #9) — don't add compatibility shims
- **Complete import tracing** — every file that imports a moved/renamed symbol must appear in the Import Updates table. Use Grep for `from module import symbol` and `import module` patterns.
- **Concrete contracts** — every function signature includes Args, Returns, Raises. No `...` bodies in the doc; show the signature and docstring only.
- **Testable sections** — Semantics section should use tables (Condition | Result) so sprint specs can derive test cases directly.
- **No implementation code** — design docs contain signatures and docstrings, never implementation bodies. Describe behavior in prose and tables, not code blocks with for-loops or if-statements. Wrong: showing the literal code to insert into `processor.py`. Right: "After `execute_action()` returns non-empty decisions, apply mutations and record history if tracked."
- **No duplication with sprint specs** — the design doc provides rationale, semantics, and constraints (the WHY). The sprint spec provides contracts, phases, and test cases (the WHAT). If a sprint spec will be written from this design doc, the sprint planner extracts contracts from here — don't write content that forces the planner to duplicate or filter.

## Output Location

`docs/architecture/pending/<feature-name>.md`

The `pending/` directory holds designs that haven't been implemented yet. After sprint completion, move to `docs/architecture/` if the design becomes a permanent reference, or delete if it was consumed by the sprint spec.

Related Skills

role-architect

24
from leogodin217/leos_claude_starter

System architect mode for designing interfaces, contracts, and architecture decisions.

arch-review

24
from leogodin217/leos_claude_starter

Review architecture documents against code implementation and principles.

verify-sprint

24
from leogodin217/leos_claude_starter

Spec-fidelity verification tracing requirements through code.

session

24
from leogodin217/leos_claude_starter

Analyze Claude Code session transcripts — search, summarize, list, or inspect how a session went.

role-educator

24
from leogodin217/leos_claude_starter

Course designer mode for creating exercises, configs, and QA criteria.

review-tests

24
from leogodin217/leos_claude_starter

Comprehensive test review using parallel test-reviewer agents.

review-sprint

24
from leogodin217/leos_claude_starter

Post-implementation mechanical audit of sprint deliverables.

issue

24
from leogodin217/leos_claude_starter

Create, list, and resolve review issues. Critical issues get individual files for research; warnings and gaps go to a quick-fix checklist.

implement-sprint

24
from leogodin217/leos_claude_starter

Automated sprint implementation with context discipline and quality gates.

get-started

24
from leogodin217/leos_claude_starter

Interactive setup guide for configuring CLAUDE.md and CAPABILITIES.md.

eval-sprint

24
from leogodin217/leos_claude_starter

Adversarial evaluation of sprint spec before implementation.

create-sprint

24
from leogodin217/leos_claude_starter

Guide sprint planning from scope assessment to spec artifacts.