From problem-based-srs
Analyzes specification quality using Axiomatic Design principles, evaluating requirement independence, completeness, and information content. Use for optional advanced validation of critical systems.
npx claudepluginhub rafaelgorski/problem-based-srsThis skill uses the workspace's default tool permissions.
> **OPTIONAL Advanced Validation Tool** for Problem-Based SRS methodology
Orchestrates Problem-Based SRS methodology to derive traceable functional requirements from business problems via 6 structured steps and sub-skills.
Transforms problem statements into structured PRDs, testable requirements, acceptance criteria, complexity tiers, CVA analysis, and spec artifacts like REQ/DESIGN/TASK MD files.
Assesses requirements quality against INVEST criteria, improves clarity, detects ambiguity, ensures completeness, and guides MoSCoW prioritization with checklists and refinement patterns.
Share bugs, ideas, or general feedback.
OPTIONAL Advanced Validation Tool for Problem-Based SRS methodology
Purpose: Analyze specification quality using Axiomatic Design principles
When to use: After completing the standard process, when deeper quality analysis is needed
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 RFC 2119 RFC 8174 when, and only when, they appear in all capitals, as shown here.
This is NOT part of the standard Problem-Based SRS flow. Use it when you want to:
Standard Flow: customer-problems → software-glance → customer-needs → software-vision → functional-requirements → zigzag-validator
Optional: complexity-analysis (call explicitly when needed)
The complexity analysis is based on Axiomatic Design (Suh, 1990), an engineering design theory with two fundamental axioms:
| Axiom | Name | Principle |
|---|---|---|
| Axiom 1 | Independence | Maintain independence of functional requirements |
| Axiom 2 | Information | Minimize the information content of the design |
Based on the relationship between domains, specifications fall into three categories:
(Number of CNs < Number of CPs) OR (Number of FRs < Number of CNs)
(Number of CNs > Number of CPs) OR (Number of FRs > Number of CNs)
(Number of CNs = Number of CPs) AND (Number of FRs = Number of CNs)
For each mapping (CP→CN and CN→FR), check:
Create a design matrix to visualize relationships:
CN.1 CN.2 CN.3
CP.1 [X] [ ] [ ] ← Ideal: one X per row
CP.2 [ ] [X] [ ]
CP.3 [ ] [ ] [X]
Matrix Types:
| Type | Pattern | Status |
|---|---|---|
| Diagonal | One X per row/column | ✅ Ideal (uncoupled) |
| Triangular | Xs below diagonal only | ✅ Acceptable (semi-coupled) |
| Full | Xs scattered | ❌ Coupled (needs revision) |
Use C (Complete) and P (Partial) markers to indicate how well each element addresses its source:
CN.1 CN.2 CN.3
CP.1 [C] [ ] [ ] C = CN completely solves CP
CP.2 [P] [P] [ ] P = CN partially solves CP
CP.3 [ ] [ ] [C]
Interpretation:
FR.1 FR.2 FR.3 FR.4
CN.1 [C] [ ] [ ] [ ]
CN.2 [P] [P] [ ] [ ]
CN.3 [ ] [ ] [C] [P]
Information Content (IC) measures the probability that a design will successfully satisfy its requirements. Lower IC = better design.
Formula:
IC = log₂(1/p)
Where p = probability of success
For each CN, estimate:
Example:
CN.1: Manager needs to know account balances within 24 hours
Need Range: 0-24 hours (acceptable)
System Range: 0-2 hours (what system delivers)
Overlap: 100% → High probability of success → Low IC ✅
| Scenario | System vs Need | IC Level | Action |
|---|---|---|---|
| System range fully within need range | Full overlap | Low ✅ | Good |
| System range partially overlaps need | Partial overlap | Medium ⚠️ | Review constraints |
| System range outside need range | No overlap | High ❌ | Redesign required |
When running complexity analysis, produce:
## Complexity Analysis Report
### 1. Element Count Summary
| Domain | Count |
|--------|-------|
| Customer Problems (CP) | [N] |
| Customer Needs (CN) | [N] |
| Functional Requirements (FR) | [N] |
**Specification Type:** [Coupled | Redundant | Ideal]
### 2. Independence Analysis
**CP → CN Matrix:**
[Include matrix with X markers]
**CN → FR Matrix:**
[Include matrix with X markers]
**Independence Status:** [Uncoupled ✅ | Semi-coupled ⚠️ | Coupled ❌]
### 3. Completeness Analysis
**CP → CN Completeness:**
[Include matrix with C/P markers]
**CN → FR Completeness:**
[Include matrix with C/P markers]
**Coverage Issues:**
- [List any uncovered CPs]
- [List any uncovered CNs]
- [List any orphan FRs]
### 4. Information Content Assessment
| CN | Need Range | System Range | Overlap | IC Level |
|----|------------|--------------|---------|----------|
| CN.1 | [range] | [range] | [%] | [Low/Med/High] |
### 5. Recommendations
1. [Specific recommendation based on analysis]
2. [Specific recommendation based on analysis]
| Situation | Use Complexity Analysis? |
|---|---|
| Quick prototype or MVP | No |
| Learning the methodology | No |
| Critical system (safety, finance) | Yes |
| Large specification (>20 FRs) | Yes |
| Specification seems bloated | Yes |
| Requirements conflicts detected | Yes |
| Formal review required | Yes |
Element Counts:
Assessment: Redundant specification (CNs > CPs, FRs > CNs)
CP → CN Matrix:
CN.1 CN.2 CN.3 CN.4 CN.5 CN.6
CP.1 [C] [P] [ ] [ ] [ ] [ ]
CP.2 [ ] [ ] [C] [ ] [ ] [ ]
CP.3 [ ] [ ] [ ] [C] [ ] [ ]
CP.4 [ ] [ ] [ ] [ ] [C] [P]
CP.5 [ ] [ ] [ ] [ ] [ ] [C]
Result: Semi-coupled (triangular tendency). CP.1 and CP.4 have multiple CNs but they don't compete. Acceptable.
Version: 1.2
Type: Optional Advanced Validation Tool
Command: /complexity-analysis