Help us improve
Share bugs, ideas, or general feedback.
From with-me
Transforms raw interview data into structured requirement specifications, detects ambiguities, contradictions, gaps, and suggests architecture, risks, and testing strategies.
npx claudepluginhub h315uk3/symbiosis --plugin with-meHow this skill is triggered — by the user, by Claude, or both
Slash command
/with-me:requirement-analysisThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill transforms raw interview data into structured, actionable requirement specifications.
Transforms vague goals into structured requirements via systematic interview. Three phases: Interview, Extract, Cross-check. Outputs requirements.md consumed by /blueprint.
Conducts structured requirements-gathering interviews for software features/systems. Reads SPEC.md and context, asks numbered questions on purpose, technical design, UI/UX, edge cases, security, rollout. For deep requirement elicitation before specs/plans.
Conducts adversarial requirements interviews walking the design tree to elicit testable requirements before coding. Implements grill-me pattern: relentless questions with recommendations, resolves dependencies branch-by-branch.
Share bugs, ideas, or general feedback.
This skill transforms raw interview data into structured, actionable requirement specifications.
Use this skill after completing a requirement elicitation interview (e.g., via /good-question) when you have:
Do not use this skill:
Transform raw interview data into a formal specification organized by:
Identify and report:
Provide:
PREFERRED: Dimension Data JSON (from /good-question)
If invoked after a /good-question interview, provide dimension data in JSON format:
{
"purpose": {
"answered": true,
"content": "English summary of purpose answers with examples",
"examples": 2,
"contradictions": false
},
"data": {
"answered": true,
"content": "English summary of data answers with examples",
"examples": 1,
"contradictions": false
},
"behavior": {
"answered": true,
"content": "English summary of behavior answers with examples",
"examples": 3,
"contradictions": false
},
"constraints": {
"answered": true,
"content": "English summary of constraints answers with examples",
"examples": 1,
"contradictions": false
},
"quality": {
"answered": true,
"content": "English summary of quality answers with examples",
"examples": 0,
"contradictions": false
}
}
CRITICAL: Content fields MUST be in English for uncertainty calculation to work correctly.
ALTERNATIVE: Raw Interview Data
For ad-hoc analysis without /good-question, provide raw interview data:
## Interview Transcript
User said: "I want to build a dashboard..."
Question 1: What problem does this solve?
Answer: "Users need to see their metrics..."
Question 2: What data is involved?
Answer: "User activity logs, API call counts..."
[etc.]
Or as structured notes:
## Collected Information
Purpose: Users need visibility into system metrics
Data: Time-series data from monitoring APIs
Behavior: Real-time updates every 30 seconds
Constraints: Must work in mobile browsers
Quality: No specific test requirements mentioned
# Requirement Specification: [Project Name]
## 1. Purpose & Context
### Problem Statement
[Clear description of the problem being solved]
### Stakeholders
[Who will use this and how they benefit]
### Success Criteria
[What defines a successful implementation]
---
## 2. Functional Requirements
### Data Requirements
#### Inputs
- **Source**: [Where data comes from]
- **Format**: [Data structure and types]
- **Volume**: [Expected scale]
- **Validation**: [Required validations]
#### Outputs
- **Destination**: [Where results go]
- **Format**: [Output structure]
- **Transformations**: [Processing applied]
### Behavioral Requirements
#### Primary Flow
1. [Step-by-step description]
2. [Decision points and conditions]
3. [State changes]
#### Alternative Flows
- **Scenario**: [Alternative path description]
- **Trigger**: [What causes this path]
#### Edge Cases
- [Edge case 1]
- [Edge case 2]
---
## 3. Non-Functional Requirements
### Performance
- [Latency requirements]
- [Throughput requirements]
- [Resource constraints]
### Security
- [Authentication requirements]
- [Authorization rules]
- [Data protection needs]
### Compatibility
- [Platform requirements]
- [Browser/version support]
- [Dependency constraints]
---
## 4. Quality Requirements
### Testing Strategy
- **Unit Tests**: [What to test at unit level]
- **Integration Tests**: [What to test at integration level]
- **User Acceptance**: [How users will validate]
### Acceptance Criteria
- [ ] [Specific measurable criterion 1]
- [ ] [Specific measurable criterion 2]
---
## 5. Implementation Considerations
### Recommended Architecture
[Suggested technical approach with rationale]
### Technology Stack
- **Required**: [Must-use technologies]
- **Recommended**: [Suggested technologies]
- **Avoid**: [Technologies to avoid and why]
### Key Design Decisions
1. **Decision**: [What needs to be decided]
- **Options**: [Available choices]
- **Recommendation**: [Suggested choice with reasoning]
---
## 6. Risks & Challenges
### Technical Risks
- **Risk**: [Description]
- **Impact**: [Severity]
- **Mitigation**: [How to address]
### Requirement Risks
- **Risk**: [Ambiguity or gap]
- **Impact**: [Effect on implementation]
- **Resolution**: [How to clarify]
---
## 7. Open Questions
Questions that require clarification before or during implementation:
1. [Question about unclear aspect]
- **Why it matters**: [Impact on implementation]
- **Suggested resolution**: [How to resolve]
2. [Next question]
---
## 8. Next Steps
Recommended actions:
1. **Immediate**: [What to do right away]
2. **Before Implementation**: [Prerequisites]
3. **During Implementation**: [Ongoing considerations]
Group collected data by the five dimensions:
Scan for:
Based on the requirements:
Consider:
Input:
User wants to build a file upload feature with progress tracking.
- Files up to 1GB
- Must show upload progress
- Support multiple simultaneous uploads
- Works on mobile
- Mentioned "secure" but didn't specify details
Analysis Output:
# Requirement Specification: File Upload Feature
## 1. Purpose & Context
### Problem Statement
Users need to upload large files (up to 1GB) with visibility into upload progress.
### Stakeholders
- End users uploading files from desktop and mobile browsers
- Backend system receiving and processing uploads
### Success Criteria
- Files up to 1GB upload successfully
- Progress is visible throughout upload
- Multiple uploads can occur concurrently
- Works on mobile browsers
---
## 2. Functional Requirements
### Data Requirements
#### Inputs
- **Source**: User file selection (browser file input)
- **Format**: Binary files, any MIME type, max 1GB
- **Validation**: File size must not exceed 1GB
- **Volume**: Multiple concurrent uploads per user
#### Outputs
- **Destination**: Server storage endpoint
- **Format**: Uploaded file plus metadata (filename, size, MIME type)
- **Confirmation**: Upload completion status
### Behavioral Requirements
#### Primary Flow
1. User selects file(s) to upload
2. System validates file size (reject if >1GB)
3. Upload begins with chunking for progress tracking
4. Progress indicator updates as chunks complete
5. Upload completes, user receives confirmation
#### Alternative Flows
- **Network interruption**: Resume or retry mechanism needed
- **Validation failure**: Clear error message shown
#### Edge Cases
- Upload interrupted mid-transfer
- Multiple uploads competing for bandwidth
- Mobile network transitions (WiFi to cellular)
---
## 3. Non-Functional Requirements
### Performance
- Progress updates at least every 2-3 seconds
- Multiple uploads shouldn't block UI
- Mobile browsers may have memory constraints
### Security
⚠️ **AMBIGUITY DETECTED**: "Secure" was mentioned but not specified.
**Needs clarification:**
- Authentication required before upload?
- File type restrictions (prevent malicious files)?
- HTTPS required?
- Virus scanning?
### Compatibility
- Must work in mobile browsers (iOS Safari, Android Chrome)
- Desktop browser support (Chrome, Firefox, Safari, Edge)
---
## 4. Quality Requirements
### Testing Strategy
- **Unit Tests**: Chunking logic, progress calculation
- **Integration Tests**: Upload flow end-to-end
- **Load Tests**: Multiple concurrent uploads
- **Mobile Tests**: Network interruption handling
### Acceptance Criteria
- [ ] 1GB file uploads successfully
- [ ] Progress bar updates smoothly
- [ ] 3 simultaneous uploads work without issues
- [ ] Feature works on iOS Safari and Android Chrome
---
## 5. Implementation Considerations
### Recommended Architecture
- **Chunked uploads**: Split large files into chunks (5-10MB) for progress tracking and resumability
- **Background workers**: Use Web Workers to avoid blocking main thread
- **Upload queue**: Manage concurrent uploads to prevent resource exhaustion
### Technology Stack
- **Recommended**:
- XMLHttpRequest or Fetch API with upload progress events
- File API for client-side chunking
- Server: Multipart upload or chunked transfer encoding
- **Avoid**:
- Simple form POST (no progress tracking)
### Key Design Decisions
1. **Chunking Strategy**
- **Options**: Fixed chunk size vs. adaptive based on network speed
- **Recommendation**: Fixed 5MB chunks for simplicity
2. **Resume Mechanism**
- **Options**: Store upload state server-side vs. client-side
- **Recommendation**: Server-side with upload ID for reliability
---
## 6. Risks & Challenges
### Technical Risks
- **Mobile memory limits**: 1GB file may exceed mobile browser memory
- **Mitigation**: Stream chunks without loading entire file
- **Network instability**: Mobile uploads prone to interruption
- **Mitigation**: Implement resumable uploads
### Requirement Risks
- **Security underspecified**: Unknown threat model
- **Resolution**: Clarify authentication and file validation needs
---
## 7. Open Questions
1. **What security measures are required?**
- Why it matters: Affects authentication, validation, scanning
- Suggested resolution: Ask about user authentication and file type restrictions
2. **What happens after upload completes?**
- Why it matters: May need webhooks, notifications, or processing triggers
- Suggested resolution: Clarify post-upload workflow
3. **What's the expected concurrent upload limit per user?**
- Why it matters: Affects queue design and resource allocation
- Suggested resolution: Define reasonable upper bound (e.g., 5 uploads)
---
## 8. Next Steps
1. **Immediate**: Clarify security requirements (authentication, file validation)
2. **Before Implementation**: Decide on chunking and resume strategy
3. **During Implementation**: Test on actual mobile devices early
This skill succeeds when: