skills/architect/SKILL.md
Software architecture skill for designing high-quality implementation plans. Provides universal patterns, quality checklists, and architectural guidelines. Use during planning phase to ensure plans are well-structured, atomic, and follow best practices. Do NOT use for architectural refactoring of existing code.
npx skillsauth add nicolas-codemate/claudecodeconfig architectInstall 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.
This skill provides architectural guidance for creating high-quality implementation plans. It focuses on universal principles applicable to any technology stack.
Each phase MUST be:
Rule of thumb: If a phase touches more than 3 files, it's probably too big.
GOOD: Linear dependency chain
Phase 1 → Phase 2 → Phase 3
GOOD: Independent phases (can run in parallel)
Phase 1 ──┐
Phase 2 ──┼→ Phase 4
Phase 3 ──┘
BAD: Circular dependencies
Phase 1 ←→ Phase 2
Always ask: "Can this phase be completed if the next phase fails?"
Order phases by risk level (lowest risk first):
Each phase MUST specify:
Before finalizing each phase, verify:
[ ] SCOPE
[ ] Does this phase have a single, clear goal?
[ ] Are all changes directly related to that goal?
[ ] Would splitting this phase improve clarity?
[ ] FILES
[ ] Are there 3 or fewer files modified?
[ ] If more, is there a strong reason?
[ ] Are all file paths explicit and correct?
[ ] DEPENDENCIES
[ ] Are all dependencies on previous phases explicit?
[ ] Can this phase run if the next phase fails?
[ ] Are external dependencies documented?
[ ] VALIDATION
[ ] Is there a concrete way to validate this phase?
[ ] Are tests specified (new or existing)?
[ ] Is the expected outcome clear?
[ ] ROLLBACK
[ ] Can changes be reverted without side effects?
[ ] Are database migrations reversible?
[ ] Is there a rollback procedure documented?
[ ] COMMIT MESSAGE
[ ] Does it follow conventional commits?
[ ] Does it accurately describe the change?
[ ] Is it in English and imperative mood?
Before finalizing the complete plan:
[ ] COMPLETENESS
[ ] Does the plan fully address the original request?
[ ] Are edge cases considered?
[ ] Is error handling included?
[ ] ORDERING
[ ] Are phases in optimal order (lowest risk first)?
[ ] Are dependencies respected?
[ ] Could any phases be parallelized?
[ ] TESTING STRATEGY
[ ] Are unit tests included where appropriate?
[ ] Are integration tests planned?
[ ] Is manual verification documented?
[ ] DOCUMENTATION
[ ] Will code changes require doc updates?
[ ] Are API changes documented?
[ ] Are breaking changes clearly marked?
[ ] RISKS
[ ] Are potential risks identified?
[ ] Are mitigations proposed?
[ ] Is there a fallback if something goes wrong?
For risky features, consider:
Phase 1: Add feature behind flag (disabled)
Phase 2: Implement feature logic
Phase 3: Add tests
Phase 4: Enable flag (or remove)
Benefit: Can ship incrementally, easy rollback.
For replacing existing code:
Phase 1: Create new implementation alongside old
Phase 2: Route new requests to new implementation
Phase 3: Migrate existing usages
Phase 4: Remove old implementation
Benefit: Never breaks existing functionality.
For schema changes:
Phase 1: Add new column (nullable)
Phase 2: Dual-write to old and new
Phase 3: Backfill existing data
Phase 4: Make new column required
Phase 5: Remove old column
Benefit: Zero-downtime migrations.
For API changes:
Phase 1: Add new endpoint/field (don't remove old)
Phase 2: Update consumers to use new
Phase 3: Deprecate old endpoint/field
Phase 4: Remove old (after deprecation period)
Benefit: Backwards compatibility maintained.
For complex integrations:
Phase 1: Write integration tests (failing)
Phase 2: Implement minimal passing version
Phase 3: Refine and optimize
Phase 4: Add edge case handling
Benefit: Clear success criteria from start.
Bad:
## Phase 1: Implement the feature
- Modify 15 files
- Add database tables
- Create API endpoints
- Add frontend components
Fix: Split into focused phases by layer/concern.
Bad:
## Phase 2: Add validation
(secretly depends on Phase 4's utility functions)
Fix: Make dependencies explicit or reorder phases.
Bad:
**Validation**: Should work
Fix: Specify concrete command: make test, npm run lint, etc.
Bad:
## Phase 3: Migrate user data
(no mention of what happens if it fails)
Fix: Add rollback procedure or mark as high-risk.
Bad:
**Commit message**: `feat: add feature and fix bugs and refactor`
Fix: One concern per phase = one clear commit message.
Plans MUST follow this format:
---
feature: {ticket-id-slug}
ticket_id: {ticket-id}
created: {ISO timestamp}
status: pending
total_phases: {N}
---
# {ticket-id}: Implementation Plan - {title}
## Overview
{Brief description of what will be implemented}
---
## Phase 1: {Phase Title}
**Goal**: {What this phase accomplishes}
### Files to modify/create
- `path/to/file.ext` - Description of changes
### Validation
{Concrete command: make test, phpunit tests/Specific/, npm run lint, etc.}
### Commit message
{conventional commit: feat|fix|refactor(scope): description}
---
## Phase 2: {Phase Title}
...
---
## Summary
| Phase | Description | Files | Complexity |
|-------|-------------|-------|------------|
| 1 | ... | N | Low/Medium/High |
| 2 | ... | N | Low/Medium/High |
Important:
## Phase N: TitleWhen using this skill during planning, structure architectural decisions as:
## Architectural Decisions
### Decision 1: [Title]
- **Context**: Why this decision is needed
- **Options considered**: What alternatives exist
- **Decision**: What was chosen
- **Rationale**: Why this option
- **Consequences**: What this implies for implementation
### Phase Structure Rationale
- Why phases are ordered this way
- Which phases could potentially be parallelized
- Where the highest risk lies
This skill is designed to be invoked during AEP's PLAN phase:
ALL OUTPUT MUST BE IN FRENCH when communicating with the user. Technical terms and commit messages remain in English.
development
Method to diagnose and raise the Lighthouse performance score of a public page (landing, marketing, home). Use when asked to improve Lighthouse/PageSpeed scores, when auditing the first uncached paint of a public page, or when a landing embedded in a SPA must reach a top score. Do NOT use for in-app screen performance (data loading, rendering). For a brand-new landing, the first recommendation is static HTML with no framework runtime — most of this skill exists for when that is not an option.
tools
Audits a project's Claude Code setup against real usage — mines the project's conversations (worktrees included), confronts the project's skills/agents/CLAUDE.md with best practices, and proposes adjustments or new skills/agents/rules. Use when the user asks to audit the project config, analyze project conversations, or find automation opportunities for the current project. Do NOT use for the global ~/.claude configuration (use /audit-config instead).
development
Coaching workflow orchestrator. Guides the developer through implementation without writing code.
development
Disciplined methodology for code architecture refactoring. Use when the user asks to refactor architecture, decouple code, restructure a family of classes, redesign an interface, or rename/reorganize a set of related components. Forces a big-picture analysis before any code is written. Do NOT use for simple bug fixes, feature additions, or single-file refactoring.