decomposition-reconstruction
Breaks complex systems into atomic components, maps their relationships, and reconstructs them in optimized configurations to identify bottlenecks, critical failure points, and redesign opportunities. Use when dealing with complex systems that need simplification, identifying bottlenecks or critical failure points, redesigning architecture or processes for better performance, breaking down problems that feel overwhelming, analyzing dependencies to understand ripple effects, or when optimization requires understanding how parts interact.
What this skill does
# Decomposition & Reconstruction ## Workflow Copy this checklist and track your progress: ``` Decomposition & Reconstruction Progress: - [ ] Step 1: Define the system and goal - [ ] Step 2: Decompose into components and relationships - [ ] Step 3: Analyze component properties and interactions - [ ] Step 4: Reconstruct for insight or optimization - [ ] Step 5: Validate and deliver recommendations ``` **Step 1: Define the system and goal** Ask user to describe the system (what are we analyzing), current problem or goal (what needs improvement, understanding, or redesign), boundaries (what's in scope vs out of scope), and success criteria (what would "better" look like). Clear boundaries prevent endless decomposition. See [Scoping Questions](#scoping-questions) for clarification prompts. **Step 2: Decompose into components and relationships** Break system into atomic parts that can't be meaningfully subdivided further. Identify relationships (dependencies, data flow, control flow, temporal ordering). Choose decomposition strategy based on system type. See [Decomposition Strategies](#decomposition-strategies) and [resources/template.md](resources/template.md) for structured process. **Step 3: Analyze component properties and interactions** For each component, identify key properties (cost, time, complexity, reliability, etc.). Map interactions (which components depend on which). Identify critical paths, bottlenecks, or vulnerable points. For complex analysis → See [resources/methodology.md](resources/methodology.md) for dependency mapping and critical path techniques. **Step 4: Reconstruct for insight or optimization** Based on goal, either: (a) Identify critical components (bottleneck, single point of failure, highest cost driver), (b) Redesign configuration (reorder, parallelize, eliminate, combine components), or (c) Simplify (remove unnecessary components). See [Reconstruction Patterns](#reconstruction-patterns) for common approaches. **Step 5: Validate and deliver recommendations** Self-assess using [resources/evaluators/rubric_decomposition_reconstruction.json](resources/evaluators/rubric_decomposition_reconstruction.json) (minimum score ≥ 3.5). Present decomposition-reconstruction.md with clear component breakdown, analysis findings (bottlenecks, dependencies), and actionable recommendations with expected impact. ## Scoping Questions **To define the system:** - What is the system we're analyzing? (Be specific: "checkout flow" not "website") - Where does it start and end? (Boundaries) - What's in scope vs out of scope? (Prevents endless decomposition) **To clarify the goal:** - What problem are we solving? (Slow performance, high cost, complexity, unreliability) - What would success look like? (Specific target: "reduce latency to <500ms", "cut costs by 30%") - Are we optimizing, understanding, or redesigning? **To understand constraints:** - What can't we change? (Legacy systems, budget limits, regulatory requirements) - What's the time horizon? (Quick wins vs long-term redesign) - Who are the stakeholders? (Engineering, business, customers) ## Decomposition Strategies Choose based on system type: ### Functional Decomposition **When:** Business processes, software features, workflows **Approach:** Break down by function or task **Example:** E-commerce checkout → Browse products | Add to cart | Enter shipping | Payment | Confirmation ### Structural Decomposition **When:** Architecture, organizations, physical systems **Approach:** Break down by component or module **Example:** Web app → Frontend (React) | API (Node.js) | Database (PostgreSQL) | Cache (Redis) ### Data Flow Decomposition **When:** Pipelines, ETL processes, information systems **Approach:** Break down by data transformations **Example:** Analytics pipeline → Ingest raw events | Clean & validate | Aggregate metrics | Store in warehouse | Visualize in dashboard ### Temporal Decomposition **When:** Processes with sequential stages, timelines, user journeys **Approach:** Break down by time or sequence **Example:** Customer onboarding → Day 1: Signup | Day 2-7: Tutorial | Day 8-30: First value moment | Day 31+: Retention ### Cost/Resource Decomposition **When:** Budget analysis, resource allocation, optimization **Approach:** Break down by cost center or resource type **Example:** AWS bill → Compute ($5K) | Storage ($2K) | Data transfer ($1K) | Other ($500) **Depth guideline:** Stop decomposing when further breakdown doesn't reveal useful insights or actionable opportunities. ## Component Relationship Types After decomposition, map relationships: **1. Dependency (A requires B):** - API service depends on database - Frontend depends on API - Critical for: Identifying cascading failures, understanding change impact **2. Data flow (A sends data to B):** - User input → Validation → Database → API response - Critical for: Tracing information, finding transformation bottlenecks **3. Control flow (A triggers B):** - Button click triggers form submission - Payment success triggers order fulfillment - Critical for: Understanding execution paths, identifying race conditions **4. Temporal ordering (A before B in time):** - Authentication before authorization - Compile before deploy - Critical for: Sequencing, finding parallelization opportunities **5. Resource sharing (A and B compete for C):** - Multiple services share database connection pool - Teams share budget - Critical for: Identifying contention, resource constraints ## Reconstruction Patterns ### Pattern 1: Bottleneck Identification **Goal:** Find what limits system throughput or speed **Approach:** Measure component properties (time, cost, capacity), identify critical path or highest value **Example:** DB query takes 80% of request time → Optimize DB query first ### Pattern 2: Simplification **Goal:** Reduce complexity by removing unnecessary parts **Approach:** Question necessity of each component, eliminate redundant or low-value parts **Example:** Workflow has 5 approval steps, 3 are redundant → Remove 3 steps ### Pattern 3: Reordering **Goal:** Improve efficiency by changing sequence **Approach:** Identify dependencies, move independent tasks earlier or parallel **Example:** Run tests parallel to build instead of sequential → Reduce CI time ### Pattern 4: Parallelization **Goal:** Increase throughput by doing work concurrently **Approach:** Find independent components, execute simultaneously **Example:** Fetch user data and product data in parallel instead of serial → Cut latency in half ### Pattern 5: Substitution **Goal:** Replace weak component with better alternative **Approach:** Identify underperforming component, find replacement **Example:** Replace synchronous API call with async message queue → Improve reliability ### Pattern 6: Consolidation **Goal:** Reduce overhead by combining similar components **Approach:** Find redundant or overlapping components, merge them **Example:** Consolidate 3 microservices doing similar work into 1 → Reduce operational overhead ### Pattern 7: Modularization **Goal:** Improve maintainability by separating concerns **Approach:** Identify tightly coupled components, separate with clear interfaces **Example:** Extract auth logic from monolith into separate service → Enable independent scaling ## When NOT to Use This Skill **Skip decomposition-reconstruction if:** - System is already simple (3-5 obvious components, no complex interactions) - Problem is not about system structure (purely execution issue, not design issue) - You need creativity/ideation (not analysis) - use brainstorming instead - System is poorly understood (need discovery/research first, not decomposition) - Changes are impossible (no point analyzing if you can't act on findings) **Use instead:** - Simple system → Direct analysis or observation - Execution problem → Project management, process improvement - Need ideas → Brainstorming, design thinking - Unknown system → Discovery interview
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.