old-skills/architecture/SKILL.md
Use when you have a PRD and need to design the technical approach — components, data flow, dependencies, and tech decisions — before breaking work into tasks.
npx skillsauth add olamedia/analytics-skills architectureInstall 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.
Design the technical architecture for a set of requirements: components, data flow, dependency graph, tech stack decisions, integration points, and risks.
When NOT to use: The technical approach is already documented in an architecture.md, or the change is trivial (single file, no architectural decisions).
prd.md from the artifact folder (required)context-map.md from the artifact folder (required — for tech stack and existing patterns)brainstorming.md from the artifact folder (recommended — for chosen direction rationale)architecture.md saved to the artifact folder (see references/formats.md for template)Read prd.md, context-map.md, and optionally brainstorming.md from the artifact folder. If prd.md or context-map.md is missing, tell the user which skill to run first.
Also check for project documentation listed in references/context-sources.md (docs/TechStack.md, docs/ProjectStructure.md). If available, use them for tech stack details and project structure when designing components and mapping integration points.
Extract:
From the PRD requirements, identify the distinct components needed:
For each component, define:
Follow existing codebase patterns. If the project uses a service layer pattern, use it. If components are colocated with tests, follow that. Do not invent new patterns when existing ones work.
Describe how data moves through the system for the key user stories:
[User Action]
→ [Frontend Component] (handles UI state)
→ [API Call] (request to backend)
→ [Route Handler] (validation, auth)
→ [Service] (business logic)
→ [Database] (persistence)
← [Response]
← [API Response]
← [UI Update] (re-render with new data)
Cover the primary happy path and the most important error path.
Map what must be built before what. This directly feeds the task breakdown:
[Database Schema / Migrations]
├── [Types / Interfaces]
│ ├── [Service Layer]
│ │ ├── [API Endpoints]
│ │ │ └── [Frontend API Client]
│ │ │ └── [UI Components]
│ │ └── [Validation Logic]
│ └── [Test Utilities]
└── [Seed Data]
Implementation order follows the graph bottom-up: foundations first.
For every non-trivial technical choice, record:
| Decision | Choice | Rationale | |----------|--------|-----------| | State management | [e.g. URL params + React state] | [Why — aligns with existing pattern, simpler than Redux for this scope] | | Data fetching | [e.g. SWR with optimistic updates] | [Why — already in the stack, handles caching] | | Validation | [e.g. Zod schemas shared client/server] | [Why — single source of truth, TypeScript inference] |
Do not introduce new dependencies without justification. Check the existing stack first (context map).
How does this feature connect to what already exists?
State what is and isn't allowed during implementation:
| Risk | Impact | Mitigation | |------|--------|------------| | [e.g. Schema migration breaks existing queries] | High | [Run migration in staging first, write rollback] | | [e.g. New endpoint conflicts with existing route] | Medium | [Check route registry before adding] |
Flag high-risk items — these should be tackled early in the task breakdown (fail fast).
Write architecture.md to the artifact folder using the template from references/formats.md.
Present the architecture to the user for review. Walk through:
Apply requested changes, then save.
Announce the saved path:
"Architecture saved to
[path]/architecture.md."
| Rationalization | Reality | |---|---| | "I'll figure out the architecture while coding" | Architecture decisions made under implementation pressure are worse. 15 minutes of design saves hours of refactoring. | | "This is too small for an architecture document" | If it touches 3+ files or makes a tech decision, write it down. A short document is fine. | | "The PRD already describes the technical approach" | PRD describes WHAT. Architecture describes HOW — components, data flow, dependencies. Different concerns. | | "I know the codebase, I don't need to document integration points" | The task breakdown skill and any agent doing implementation will need this documented. Write it for them. | | "We can refactor later if the architecture is wrong" | Wrong architecture is the most expensive kind of rework. Get it right in a document before committing to code. |
Before handing off, confirm:
architecture.md saved to artifact folder"Architecture complete. Next recommended skill: breakdown — slice this into ordered, interlinked development tasks."
testing
Rebase current feature branch onto master (or configured base) with automated conflict resolution. Handles pre-checks, conflict classification, and post-rebase verification. Use when the user asks to rebase, update a branch, sync with master, or resolve rebase conflicts.
development
FE feature analysis from raw idea (or YouTrack ticket) through to a split-aware developer briefs. Produces context-map.md, requirements.md, task-brief-{side}.md. Generic — project knowledge is auto-discovered.
testing
Concise technical communication that stays readable and honest. Cuts fluff about fifty to seventy percent while keeping natural flow, uncertainty markers, and human tone. Levels lite (default), mid, tight. Short SKILL body; rules below are complete.
documentation
Strip LLM tells from text so it reads human. Triggers: humanize, sounds like AI, too robotic, natural rewrite, AI slop, or obvious LLM patterns. Reference: https://en.wikipedia.org/wiki/WP:Signs_of_AI_writing