SKILL24architecture-engineering
Designing Software Boundaries
Shapes modules or services around cohesive responsibilities, explicit ownership, narrow contracts, intentional dependency direction, and controlled state sharing.
Primary benefit
Reduces change coupling and keeps consumers dependent on stable capabilities instead of implementation details.When to use
Use when modules, services, packages, or teams have unclear ownership, cyclic dependencies, shared state, change coupling, or responsibilities that are difficult to evolve independently.
When not to use
Do not use merely to create more folders or services when existing responsibilities and change boundaries are already clear and cohesive.
Use cases
Restructure a codebase whose modules import each other's internals and change together
Define ownership and contracts before extracting a capability into an independently deployed service
Example prompts
Use designing-software-boundaries to map the responsibilities, coupling, state ownership, and dependency directions in this codebase before proposing new module boundaries.Install this skill
Choose the command for your operating system and run it from the repository root.
Bash
./install.sh --skill designing-software-boundariesPowerShell
./install.ps1 --skill designing-software-boundariesChatGPT
Download Skill ZIPCompatibility
- Surfaces
- ChatGPT · Codex · Claude Code
- Operating systems
- Linux · macOS · Windows
- Install modes
- PluginFilesystem
Dependencies
No external dependencies
Part of systems
Curated systems that canonically include this method.
Used in evidence
Reports that explicitly list this method among the applied methods.