architecture-monolith
Architecture Monolith
Overview
Use this skill to design modular monoliths that preserve internal autonomy without introducing distributed-system overhead.
Scope Boundaries
- Product scope or team size favors a single deployable unit.
- Cross-domain workflows require strong transactional consistency.
- Operational simplicity is a top constraint.
Core Judgments
- Module boundaries: domain cohesion and dependency direction inside one codebase.
- Internal contracts: which module APIs are allowed and how enforced.
- Data ownership in shared database: logical ownership and write access discipline.
- Future extraction seams: where boundaries should support later service splits.
Practitioner Heuristics
- Treat modules like products with stable public interfaces.
- Forbid cross-module database writes except through explicit module APIs.
- Keep shared kernel minimal and intentionally versioned.
- In dynamic languages, define explicit module interface types to avoid ad hoc maps and pervasive casts at boundaries.
Workflow
- Partition core domains into modules with clear responsibility.
- Define allowed dependency directions and anti-corruption boundaries.
- Specify module-level contracts for commands, queries, and events.
- Align transactional scope with module invariants.
- Add observability by module to expose coupling hotspots.
- Record extraction candidates and triggers for future decomposition.
Common Failure Modes
- Modular monolith degrades into "big ball of mud" via unrestricted imports.
- Shared tables bypass module contracts and break ownership.
- Runtime simplicity hides growing conceptual complexity.
Failure Conditions
- Stop when module boundaries cannot be enforced in code review/tooling.
- Stop when critical invariants span modules without clear ownership.
- Escalate when required independent scaling/deployment is no longer feasible.
More from kentoshimizu/sw-agent-skills
graph-algorithms
Graph algorithm workflow for modeling entities/relations and selecting traversal, path, ordering, or flow strategies. Use when correctness or performance depends on graph representation and algorithm choice; do not use for schema-only modeling or deployment topology planning.
14bash-style-guide
Style, review, and refactoring standards for Bash shell scripting. Trigger when `.sh` files, files with `#!/usr/bin/env bash` or `#!/bin/bash`, or CI workflow blocks with `shell: bash` are created, modified, or reviewed and Bash-specific quality controls (quoting safety, error handling, portability, readability) must be enforced. Do not use for generic POSIX `sh`, PowerShell, or language-specific application style rules. In multi-language pull requests, run together with other applicable `*-style-guide` skills.
11architecture-clean-architecture
Clean Architecture workflow for enforcing dependency direction, stable domain boundaries, and use-case-centered application design. Use when teams must separate business rules from frameworks and delivery mechanisms; do not use for isolated module cleanup without boundary implications.
11powershell-style-guide
Style, review, and refactoring standards for PowerShell scripting. Trigger when `.ps1`, `.psm1`, `.psd1` files, or CI workflow blocks with `shell: pwsh` or `shell: powershell` are created, modified, or reviewed and PowerShell-specific quality controls (error handling, parameter validation, readability, operational safety) must be enforced. Do not use for Bash, generic POSIX `sh`, or language-specific application style rules. In multi-language pull requests, run together with other applicable `*-style-guide` skills.
10github-codeowners-management
Govern CODEOWNERS rules so review routing reflects real ownership and risk boundaries on GitHub. Use when repository ownership mapping or mandatory reviewer rules must be defined, updated, or audited; do not use for non-GitHub runtime architecture or data-layer design.
9security-authentication
Security workflow for authentication architecture, credential lifecycle, and session/token assurance. Use when login, identity proofing, MFA, or session security decisions are required; do not use for authorization policy design or non-security quality tuning.
9