systems-decomposition
Systems Decomposition
Break complex products/features/systems into fundamental primitives - transferable, learnable building blocks that can be clearly explained and delineated.
Process
1. Build Mental Model First
Before decomposing, ensure deep understanding of the target system:
- What problem does it solve?
- Who are the users?
- What are the core workflows?
If understanding is unclear, ask clarifying questions. Do not proceed without a clear mental model.
2. Apply First Principles
Think from the user's perspective through their journey:
- What discrete actions do they take?
- What are the atomic operations that can't be broken down further?
- What skills/capabilities are reusable across different workflows?
3. Identify Primitives
A good primitive is:
- Transferable: Useful in multiple contexts
- Learnable: Can be explained clearly
- Delineable: Has clear boundaries
- Composable: Can combine with other primitives
4. Output Format
## Primitives
### 1. [Primitive Name]
**Purpose**: What it does
**Triggers**: When it activates
**Inputs**: What it needs
**Outputs**: What it produces
### 2. [Next Primitive]
...
## How They Fit Together
[ASCII diagram showing relationships]
┌─────────────┐ ┌─────────────┐
│ Primitive A │────▶│ Primitive B │
└─────────────┘ └─────────────┘
│
▼
┌─────────────┐
│ Primitive C │
└─────────────┘
Examples
Car driving primitives: parallel parking, highway overtaking, lane changing, emergency braking - high-level skills that are transferable and clearly delineated.
Software architecture primitives: database query optimization, authentication flow, frontend component composition, API request handling.
E-commerce marketing primitives: audience segmentation, campaign scheduling, content generation, performance analysis.
Input Template
Use this structure when invoking:
<product>
[Description of the product/system being analyzed]
</product>
<feature_request>
[Current feature or area of focus]
</feature_request>
<product_journey>
[Optional: Example user journey to analyze]
</product_journey>
Key Questions to Ask
If context is insufficient:
- What does the product do at its core?
- Walk me through a typical user session
- What are the main workflows?
- What integrations/dependencies exist?
More from teambrilliant/dev-skills
implementation-planning
>-
11implement-change
>-
10product-thinker
>-
10shaping-work
Shape rough ideas into clear, actionable work definitions. Use this skill whenever someone has an unstructured idea that needs to become a concrete work definition — feature requests, bug reports, PRDs, customer feedback, Slack threads, stakeholder asks, or vague "we should do X" statements. Trigger phrases include "shape this", "scope this", "write a PRD", "define this work", "turn this into a ticket", "flesh this out", "spec this out", "what should we build for X", "I have an idea for...", or any rough input that needs structure before implementation can begin.
9qa-test
Browser-based QA verification after any implementation. Use when someone says "QA this", "test this in browser", "verify the feature", "qa test", "browser test", or after completing an /implement-change to verify acceptance criteria in a real browser. Opens Chrome via MCP, exercises each acceptance criterion, verifies via DOM snapshots, and reports pass/fail. The "closer" for every implementation — proof it works, not just that tests pass.
8product-discovery
>-
3