component-identification-sizing

Identifies architectural components in codebases and calculates statement-based size metrics for decomposition planning.

Updated Sep 15, 2026
One-click install
npx skills add https://github.com/Peterson-Benhame/agent-skills --skill component-identification-sizing-peterson-benhame
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: component-identification-sizing
Source: https://github.com/Peterson-Benhame/agent-skills/tree/main/packages/skills-catalog/skills/%28architecture%29/component-identification-sizing
Command: npx skills add https://github.com/Peterson-Benhame/agent-skills --skill component-identification-sizing-peterson-benhame

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When planning monolith decomposition or migration, teams lack a clear inventory of architectural components and objective size data, making it hard to decide which modules to split, consolidate, or extract first. ## Core Features & Use Cases - Component Identification: Maps directory and namespace structures to find leaf-node components across Node.js, Java, Python, and other languages. - Size Metrics: Counts executable statements (not lines of code), files, percentages, and standard deviations to detect oversized or undersized components. - Actionable Recommendations: Generates component inventory tables, size distribution summaries, and split or consolidation suggestions with estimated resulting sizes. - Use Case: Ask for a component inventory of a monolithic Express app and receive a table showing that ReportingService holds 33% of the codebase, plus a concrete plan to split it into four smaller services. ## Quick Start Ask the agent to identify and size all components in this codebase and flag any that are too large.

Frequently Asked Questions about component-identification-sizing

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

FAQPage Schema
How do I identify components in a monolithic codebase?

Map the directory or namespace structure and treat leaf nodes containing source files as components. If a namespace is extended by child directories, the parent becomes a subdomain rather than a component.

How to measure component size for monolith decomposition?

Count executable statements rather than lines of code, then compute each component's percentage of total statements and its distance from the mean in standard deviations. Components beyond 2 standard deviations or above the size threshold are oversized.

What size threshold makes a component too large?

Thresholds depend on application size: over 30% of the codebase for small apps with fewer than 10 components, 15% for medium apps, and 10% for large apps with more than 20 components. The standard deviation rule also flags outliers.

Does component sizing work for Java and Python projects?

Yes, the analysis is language agnostic. It uses package structures like com.company.domain.service for Java, module paths like app/billing/payment for Python, and directory patterns for Node.js, with language-specific statement counting rules.

When should I not use component size analysis?

Do not use it for runtime performance sizing or infrastructure capacity planning, since it measures static code volume only. It also should not mix infrastructure and domain components in the same analysis or count test files.