From architecture
Design or redesign a project's architecture from scratch. Use when the user asks about redesigning or re-architecting a project. Trigger phrases include "設計を見直したい", "アーキテクチャを再設計", "redesign this", "if I were to start over".
npx claudepluginhub tqer39/claude-code-marketplace --plugin architectureThis skill uses the workspace's default tool permissions.
Analyze a project's architecture and produce a structured redesign proposal. The process has four phases: reconnaissance, analysis, dialogue, and proposal.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Analyze a project's architecture and produce a structured redesign proposal. The process has four phases: reconnaissance, analysis, dialogue, and proposal.
Unlike mechanical workflow skills, this skill is a thinking process. The goal is to deeply understand the codebase and have a genuine conversation about tradeoffs. The proposal should be honest about what works and what doesn't. If the current design is sound, say so.
Match the language the user is using in the conversation. Default to Japanese (ja) if ambiguous. All output — phase summaries, questions, the final proposal — should be in the detected locale.
The goal is to build a mental model of the project before forming opinions.
Ask the user what they want to redesign:
For monorepos, narrow down to specific packages before proceeding. Don't try to redesign everything at once.
Use the Agent tool with subagent_type=Explore for thorough exploration. Work through this checklist systematically:
| Area | What to look at |
|---|---|
| Structure | Directory layout, module boundaries, entry points |
| Dependencies | package.json, go.mod, requirements.txt, Cargo.toml, etc. — both what's used and what's surprising |
| Configuration | Environment variables, config files, feature flags |
| Data | Database schemas, migrations, data flow patterns |
| Tests | Test structure, coverage patterns, what's tested vs. what isn't |
| CI/CD | Pipeline definitions, deployment targets, build steps |
| Git history | Recent churn (git log --oneline -30), hot files (sort by frequency from git log output) |
| Documentation | README, ADRs, inline docs — what's documented vs. what's tribal knowledge |
Not every area applies to every project. Skip what's irrelevant. For small projects (<5 files), a quick read-through replaces this checklist.
Categorize the project to calibrate the depth of analysis:
| Scale | Heuristic | Approach |
|---|---|---|
| Small | <5 files, single concern | Lightweight analysis. Often the answer is "rewrite it" rather than "redesign it." |
| Medium | 5-50 files, a few modules | Standard four-phase process. |
| Large | 50+ files, multiple domains | Focus on the highest-impact subsystem first. Break the redesign into scoped proposals. |
Ask the user about constraints that shape the design space. Don't ask all at once — weave these into the conversation naturally:
If the user doesn't know or doesn't care about some of these, use reasonable defaults and move on.
The goal is to form an honest assessment of the current architecture.
Start with what's working. Every codebase has good decisions in it — find them and acknowledge them. This builds trust and ensures the proposal preserves what shouldn't change.
For each problem area you find, classify it:
Focus redesign effort on accidental complexity. Essential complexity warrants better management strategies, not elimination attempts.
Read references/analysis-patterns.md to inform your analysis. Look for:
Don't force-fit pattern names onto the codebase. If the project has its own implicit patterns that work, describe them on their own terms.
Identify specific areas of friction:
Before proposing solutions, share your analysis with the user. Present it conversationally, not as a formal report. Ask for their reaction:
This step matters. Your analysis might be wrong, and the user has context you don't.
The goal is to align on direction before writing a proposal.
Based on the analysis, present 2-3 possible directions. Typically:
For each direction, be concrete about what changes and what stays. Don't present vague platitudes — give specific examples of what the code would look like.
Not every project needs all three options. A small project might only warrant "keep it" vs. "rewrite it." Sound architectures might only need targeted fixes.
Help the user think through tensions:
Get explicit agreement on a direction before writing the proposal. The proposal should hold no surprises — it's a formalization of what you've already discussed.
If the user is just looking for validation that their current architecture is fine, and it is, say so clearly. Don't manufacture a redesign proposal for a codebase that doesn't need one.
The goal is to produce a clear, actionable redesign document.
Read references/output-template.md for the exact template. Fill it in based on the agreed-upon direction from Phase 3.
Key principles for the proposal:
The migration path is the most important part of the proposal. A beautiful target architecture is worthless without a realistic plan to get there.
For each phase:
Show the proposal to the user. Ask if anything needs adjustment. Iterate until they're satisfied.
Some projects grow organically without deliberate architecture. In this case:
If the user is really asking "is my architecture OK", and it is:
If the codebase has severe, pervasive issues:
When the system is in production and can't be taken offline: