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 (use architect-refactor instead) or for lightweight exploration before planning (use /aep instead).
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.
tools
--- name: deep-review description: Performs deep code review via an isolated fresh agent (triple perspective, anti-bias). Use when the user asks for an in-depth review of current branch changes, or when invoked by /resolve step 08. Do NOT use for reviewing PRs from GitHub (use review-pr skill instead) or for a quick correctness scan with effort levels (use bundled /code-review instead). argument-hint: [--ticket <id>] [--base <branch>] [--fix] [--severity <level>] allowed-tools: Read, Glob, Grep,
tools
Resolve git rebase conflicts methodically. Classifies each conflict (imports/namespace cleanup vs real logic clash), analyzes the commit introducing the change against the current ticket context, auto-fixes only trivial cases with a per-file summary, and asks the user when ambiguous. Verifies static analysis tools pass at the end and optionally runs functional tests. Use after `git rebase` triggers conflicts, or when the user asks to "resolve conflicts", "fix rebase", "j'ai des conflits", "aide-moi sur ce rebase".
development
Synchronize the markdown test plan in docs/qa/ with the current state of the codebase. Use after adding or modifying features to keep the plan up to date, or to bootstrap a test plan for the first time. Do NOT use to execute tests (use /qa-run instead) and do NOT use to design product specs (use /express-need instead).
tools
Execute the markdown test plan in docs/qa/ via Playwright MCP and create a ticket on each failing scenario. Use after /qa-sync, before a release, or to validate a feature end-to-end. Do NOT use to design or update scenarios (use /qa-sync instead) and do NOT use for visual regression (use visual-verify agent instead).