plugins/ce/skills/architecting-systems/SKILL.md
Guides clean, scalable system architecture during the build phase. Use when designing modules, defining boundaries, structuring projects, managing dependencies, or preventing tight coupling and brittleness as systems grow.
npx skillsauth add rileyhilliard/claude-essentials architecting-systemsInstall 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.
Core principle: Small decisions made early compound into either clean systems or massive technical debt. Get the structure right and the system stays maintainable as it grows. Get it wrong and every change gets harder.
Load the relevant reference based on what you're working on:
| Working on... | Load | File |
|---------------|------|------|
| Layers, vertical slices, file organization | Structure | references/structure.md |
| Interfaces, dependency inversion, contracts | Coupling | references/coupling.md |
| Bounded contexts, API design, module boundaries | Boundaries | references/boundaries.md |
| Async patterns, race conditions, queues | Concurrency | references/concurrency.md |
| Logging, health checks, metrics, tracing | Observability | references/observability.md |
Load multiple references when the task spans topics. For most greenfield work, start with Structure and Coupling.
Every architectural decision has a complexity cost. Spend that budget where it matters.
| Worth the complexity | Not worth it | |---------------------|--------------| | Separation between domains that change independently | Abstracting code that only has one implementation | | Event-driven for genuinely async workflows | Event-driven for simple request-response flows | | Caching for measured performance bottlenecks | Caching "just in case" | | Microservices for teams that deploy independently | Microservices for a small team's monolith |
The rule: Don't add indirection until you need it. Premature abstraction is as costly as premature optimization. Two similar code blocks are better than a wrong abstraction.
| Problem | Response | |---------|----------| | "Where does this code go?" | If the answer isn't obvious, the structure needs work | | "Changing X requires touching Y" | Missing boundary between X and Y | | "This module does too many things" | Split along separate reasons to change | | "We can't test this in isolation" | Hidden dependencies; inject them instead | | "New devs take weeks to be productive" | Conventions are too weak or too novel | | "Every PR touches 10 files" | Feature code is scattered; colocate it | | "The shared folder keeps growing" | Boundaries are in the wrong place |
Writing architecture documents? This skill covers how to build. For how to write about it (ADRs, design docs, tradeoff analyses), load Skill(ce:writer) and use The Architect persona.
development
Selects and applies professional journalistic story structures (WSJ Formula, Inverted Pyramid, Hourglass, Tick-Tock, etc.) based on the content being written. Use when writing articles, blog posts, features, essays, long-form content, news stories, trend pieces, investigative reports, profiles, or any narrative prose longer than a few paragraphs. Also use when the user asks for help structuring a piece, choosing a story framework, organizing a draft, outlining an article, or wants to know which article format fits their content. Trigger on requests like "help me structure this," "what format should I use," "write a feature about," "draft a blog post on," or any mention of story structure, article architecture, or narrative frameworks. Complements the writer skill (which handles tone and anti-AI rhetoric) by providing the structural blueprint.
testing
Writing style and tone guide for human-sounding content. Use when writing documentation, READMEs, commit messages, PR descriptions, blog posts, LinkedIn posts, social media content, or any user-facing content.
data-ai
Create implementation plans with tasks grouped by subsystem. Related tasks share agent context; groups parallelize across subsystems.
development
Debugging framework that finds root causes before proposing fixes. Use when investigating bugs, errors, unexpected behavior, failed tests, or when previous fixes haven't worked.