functional-specifications
by SSiertsema
Generate functional specifications from business case and personas through interactive dialogue
Commands
generate-functional-specificationsGenerate functional specifications from business case and personas
Documentation
# Functional Specifications Generator
Generate functional specifications from your business case and user personas through an interactive dialogue.
## Overview
This plugin helps you create comprehensive functional specifications by:
1. **Analyzing** your existing business case documentation
2. **Mapping** persona needs and pain points
3. **Proposing** features that address real user needs
4. **Refining** proposals through interactive dialogue
5. **Generating** a structured specification document
## Usage
```
/generate-functional-specifications
```
## Prerequisites
For best results, have these documents ready:
- **Business Case**: Document describing the problem, goals, and scope
- **Personas**: User persona documents (can be generated with `/generate-personas`)
The plugin will search for these in common documentation locations, or you can specify custom paths.
## Workflow
### Phase 1: Discovery
- Locates existing business case and persona documents
- Confirms sources with user
### Phase 2: Business Case Analysis
- Summarizes the business problem and goals
- Validates understanding with user
### Phase 3: Persona Needs Mapping
- Extracts goals, pain points, and tasks from each persona
- Validates persona understanding
### Phase 4: Feature Proposal
- Proposes features based on business case and persona needs
- **User can always**:
- Accept, modify, or reject proposals
- Add their own feature ideas
- Prioritize features (MoSCoW method)
### Phase 5: Specification Detailing
- Documents each feature with full details
- Identifies dependencies between features
### Phase 6: Output Generation
- Creates a single comprehensive specification document
- Includes traceability matrix linking features to personas and business goals
## Output
The plugin generates a single markdown document:
```
documentation/functional-specifications.md
```
The document includes:
- Executive summary
- Business case summary
- Persona overview
- Feature specifications with:
- Description
- User and business benefit
- Personas served
- Dependencies
- Out of scope items
- Traceability matrix
- Open questions
- Glossary and references
## User Interaction
This plugin prioritizes user input at every step:
- **Validate** - Confirms understanding before proceeding
- **Propose** - Presents options, never dictates
- **Invite** - Actively asks for your ideas and additions
- **Refine** - Allows modifications at any point
- **Backtrack** - Lets you revisit previous decisions
## Integration with Other Plugins
This plugin fits into a documentation workflow:
1. `/generate-personas` - Create user personas
2. **`/generate-functional-specifications`** - Define features (this plugin)
3. `/generate-user-stories` - Create user stories from features
4. `/refine-technical-specifications` - Define technical requirements
## Example Session
```
User: /generate-functional-specifications
Claude: I'll help you create functional specifications. Let me first search
for existing documentation...
I found:
- documentation/business/business-case.md
- documentation/business/personas/developer.md
- documentation/business/personas/manager.md
Are these the correct source documents?
User: Yes, those are correct
Claude: Great! Based on the business case, here's my understanding:
**Problem Statement**: Teams struggle to track project progress...
**Business Goals**: Improve visibility, reduce manual reporting...
Does this accurately capture your business case?
User: Yes, but also add that we want to integrate with existing tools
Claude: Noted! Now analyzing personas... Based on Developer and Manager
personas, I propose these features:
## Core Features
- Feature: Progress Dashboard
Addresses: Manager need for visibility, Developer pain point...
Would you like to accept these, modify them, or add your own ideas?
```
## License
MIT