component-boundary-identifier

Solid

Identifies boundaries between modules or components in software systems through static code analysis and dependency detection. Use when Claude needs to analyze software architecture, identify module boundaries, detect boundary violations, find circular dependencies, or assess component coupling. Supports Python (packages and imports) and Java (packages and dependencies). Trigger when users ask to "identify boundaries", "find component boundaries", "detect boundary violations", "analyze module structure", "check architecture", or "find circular dependencies".

Code & Development 252 stars 24 forks Updated 1 months ago Apache-2.0

Install

View on GitHub

Quality Score: 84/100

Stars 20%
80
Recency 20%
75
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Component Boundary Identifier Identify and analyze boundaries between software components to ensure proper architectural separation. ## Quick Start When a user requests boundary analysis: 1. **Understand the goal**: Identify boundaries, detect violations, or both 2. **Analyze structure**: Examine package/module organization and dependencies 3. **Identify boundaries**: Determine component boundaries based on structure 4. **Detect violations**: Find improper cross-boundary dependencies 5. **Report findings**: Present boundaries and violations with severity levels ## What This Skill Does ### Boundary Identification Identify component boundaries based on: - Package/module structure - Namespace organization - Architectural patterns (layered, hexagonal, clean) - Naming conventions - Dependency clusters ### Violation Detection Detect boundary violations including: - Upward dependencies (lower layers depending on higher layers) - Circular dependencies between components - Layer skipping (bypassing intermediate layers) - Domain depending on infrastructure - Accessing private/internal implementations - Concrete type dependencies across boundaries ## Analysis Methods ### Static Code Analysis Analyze code structure without execution. **Python:** - Parse import statements - Analyze package structure - Identify dependency directions - Detect circular imports **Java:** - Parse import statements - Analyze package hierarchy - Check access modifiers - Identify dependency directio...

Details

Author
ArabelaTso
Repository
ArabelaTso/Skills-4-SE
Created
7 months ago
Last Updated
1 months ago
Language
Python
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category

Code & Development Listed

design-boundaries

Use when an agent needs to design component boundaries for a feature or system before the code exists; partitions responsibilities into single-purpose components with minimal interfaces and an acyclic dependency direction, then pressure-tests the boundaries rather than editing code, splitting an existing tangled unit, or extracting a separate repository.

0 Updated 6 days ago
tacticaldoll
AI & Automation Listed

service-boundary-analysis

Trigger: service boundary analysis, microservice inputs/outputs, API/consumer/output mapping. Map one backend boundary with evidence and confidence.

0 Updated 2 days ago
andresnator
Web & Frontend Listed

component-and-release-boundaries

Deciding what becomes an independently releasable component — a Maven module, a JPMS module, a published library — and what that costs: the tension between reusing code and being able to release it, why a shared jar couples every service depending on it, breaking cycles between components, and judging whether a component is stable enough to depend on. Use when a `common` or `shared` module is proposed or has grown, when extracting code into a library so two services can reuse it, when a dependency cycle appears between Maven modules, when upgrading one library forces a coordinated release of several services, or when services are independently deployable in theory but always ship together. Does not cover cohesion and coupling at class and package level (java-cohesion-coupling), whether a component should become a separate process (distribution-boundaries), the API compatibility of a published type (java-api-design), or wire contract versioning (rpc-and-api-contracts).

2 Updated 3 days ago
robsonkades