skills/customer-needs/SKILL.md
Specify Customer Needs (CN) that define WHAT outcomes software must provide to solve Customer Problems. Use after Software Glance to translate problems into needs. Step 3 of Problem-Based SRS methodology.
npx skillsauth add rafaelgorski/problem-based-srs customer-needsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Step 3 of 5 in Problem-Based SRS methodology
Previous: Customer Problems → Software Glance
Next: Software Vision
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.
Before running this skill, ensure you have:
Customer Needs describe the outcomes a software system must deliver to solve (or help solve) the customer's problems — not how the system works internally.
For each CP, generate CN statements that map directly to solving that problem.
Each CN MUST follow this grammar:
[Noun] [Verb] [Means] [Object] [Condition]
Where:
Every CN MUST provide ONE of these outcomes. The software delivers VALUE through these categories:
What it is: Data, knowledge, awareness delivered to the user
Common verbs: know, be aware, be informed, be reminded, see, view, receive
Examples: | Domain | CN Statement | |--------|--------------| | CRM | "The manager needs a CRM to know customer feedback statistics monthly." | | HR | "The HR director wants an HR system to be aware of employee absenteeism weekly." | | Finance | "The accountant needs the system to know overdue invoices daily." | | IoT | "The homeowner needs the app to be informed when energy usage exceeds threshold." |
What it is: Continuous supervision, automatic regulation, or active management of processes
Common verbs: control, regulate, manage, supervise, maintain, adjust, ensure
Examples: | Domain | CN Statement | |--------|--------------| | Energy | "The user needs MicroER to control energy distribution based on consumption profiles." | | Aerospace | "The astronaut needs the system to control cabin pressure continuously." | | Manufacturing | "The operator needs the system to regulate temperature within ±2°C." | | Smart Home | "The homeowner needs the system to manage HVAC based on occupancy." |
What it is: Means to create, build, or produce digital artifacts
Common verbs: create, build, compose, generate, design, draft, edit, produce
Examples: | Domain | CN Statement | |--------|--------------| | CRM | "The marketing team needs the system to create email campaigns." | | Architecture | "The architect needs the system to create floor plans in CAD format." | | Reporting | "The manager needs the system to generate monthly performance reports." | | Content | "The user needs the system to compose responses to customer feedback." |
What it is: Enjoyment, leisure, or recreational value
Common verbs: play, enjoy, experience, watch, listen
Examples: | Domain | CN Statement | |--------|--------------| | Gaming | "The player needs the game to provide multiplayer battles." | | Media | "The user needs the app to play music based on mood." | | Streaming | "The viewer needs the platform to recommend shows based on history." |
| Domain Type | Typical Distribution | |-------------|---------------------| | Business/Enterprise | 70% Information, 20% Construction, 10% Control | | IoT/Embedded | 50% Information, 40% Control, 10% Construction | | Creative Tools | 60% Construction, 30% Information, 10% Control | | Entertainment | 70% Entertainment, 20% Information, 10% Construction |
For each CN, provide:
CN.[ID] - [Statement following the structured notation]
- Outcome Class: [Information | Control | Construction | Entertainment]
- Traces to: CP.[ID]
Information outcomes:
Control outcome:
Construction outcome:
Input:
Software Glance: CRM web application for managing customer relationships
CP.1 - The sales team lacks visibility into customer purchase history, causing repeated pitches of already-owned products.
CP.2 - Account managers cannot track customer feedback systematically, leading to unaddressed complaints.
Output:
CN.01.1 - The sales team needs a CRM software to know the complete purchase history of each customer at any time.
- Outcome Class: Information
- Traces to: CP.01
CN.02.1 - The account manager needs a CRM software to be aware of customer feedback statistics monthly.
- Outcome Class: Information
- Traces to: CP.02
CN.02.2 - The account manager desires a CRM software to know which customer complaints remain unaddressed daily.
- Outcome Class: Information
- Traces to: CP.02
| Criterion | Check | |-----------|-------| | Each CN traces to at least one CP | ☐ | | Each CN uses exactly one outcome class | ☐ | | Each CN follows [Noun][Verb][Means][Object][Condition] | ☐ | | CNs stay within Software Glance boundaries | ☐ | | CNs describe outcomes, not functionalities | ☐ | | All CPs are addressed by at least one CN | ☐ |
When CNs are complete:
✅ Step 3 Complete: Customer Needs Specified
Summary:
- [N] Information needs
- [N] Control needs
- [N] Construction needs
- [N] Entertainment needs
→ MANDATORY: Run zigzag-validator skill to validate CP → CN traceability
→ Next Step: 4 - Software Vision
→ Use skill: software-vision
This skill focuses solely on CN generation. The following are handled by other skills:
customer-problems skillsoftware-glance skillsoftware-vision skillfunctional-requirements skillBased on Problem-Based SRS methodology (Gorski & Stadzisz, 2016)
Version: 1.2
Step: 3 of 5
Next: software-vision skill
tools
Generate Functional Requirements (FR) and Non-Functional Requirements (NFR) from Customer Needs and Software Vision. Creates individual requirement files with traceability. Step 5 of Problem-Based SRS methodology.
testing
Validate traceability and consistency across Customer Problems, Customer Needs, and Functional Requirements domains. Use to check completeness, identify gaps, and ensure all requirements trace to real business problems.
data-ai
Transform Software Glance and Customer Needs into a detailed Software Vision with positioning, stakeholders, features, and architecture. Use after Customer Needs. Step 4 of Problem-Based SRS methodology.
content-media
Create the first abstract representation of a software solution from Customer Problems. Use after identifying CPs to design high-level system boundaries and components. Step 2 of Problem-Based SRS methodology.