components

Analyze software component design using cohesion, coupling, and dependency principles.

5|Updated Jan 31, 2026
One-click install
npx skills add https://github.com/onesyntax/skills --skill components-onesyntax
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: components
Source: https://github.com/onesyntax/skills/tree/main/skills/components
Command: npx skills add https://github.com/onesyntax/skills --skill components-onesyntax

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps teams structure, review, and refine software components by applying core design principles such as cohesion, coupling, and dependency boundaries.

Core Features & Use Cases

  • Principle-based design: Apply REP, CCP, and CRP to group related classes into stable components.
  • Dependency analysis: Validate acyclic dependencies and ensure dependencies point toward stability (SDP) and appropriate abstractions (SAP).
  • Main Sequence guidance: Assess abstractness (A) and instability (I) to position components on the Main Sequence and identify potential zones of Pain or Uselessness.
  • Use Case: When defining module boundaries or reorganizing packages, run this Skill to generate recommended component boundaries and cohesion/coupling patterns.

Quick Start

  • Prompt: Analyze the existing module structure and propose cohesive component boundaries.

Frequently Asked Questions about components

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I analyze and improve software component design and module boundaries?

Analyze and improve software component design by applying dependency, cohesion, and coupling principles to validate module boundaries. This generates actionable guidance and patterns for grouping related classes into stable, acyclic components.

What are the REP, CCP, and CRP principles for grouping cohesive components?

The REP, CCP, and CRP principles guide grouping related classes into stable components by balancing release reuse, common closure, and common reuse. They ensure cohesive package structures and appropriate dependency boundaries across object-oriented codebases.

How do I fix cyclic dependencies and ensure dependencies point toward stability?

Fix cyclic dependencies by applying the ADP and SDP principles to validate acyclic dependencies and ensure dependencies point toward stability. This process outputs actionable guidance to reorganize package structures and resolve architectural violations.

How does the Main Sequence assess component abstractness and instability?

The Main Sequence assesses component abstractness and instability to position components and identify potential zones of Pain or Uselessness. It evaluates dependency principles like SAP to ensure dependencies point toward appropriate abstractions.

Can I use this component design analysis for typical object-oriented or modular codebases?

Yes, you can apply this component design analysis to typical object-oriented or modular codebases. It reviews dependency boundaries and package structures to output actionable recommendations for refining module boundaries across your architecture.

What's the best way to define module boundaries and reorganize package structures?

The best way to define module boundaries is to run an analysis applying coupling, cohesion, and dependency principles. This generates recommended component boundaries and design patterns to reorganize package structures for improved architectural stability.