mirror of
https://github.com/cexll/myclaude.git
synced 2026-02-15 03:32:43 +08:00
Changes: - Migrate from .claude/skills/ to .claude/plugins/ structure - Add claude.json plugin metadata - Create instructions.md with all English prompts (no Chinese) - Update README.md for plugin distribution - Update .gitignore to allow .claude/plugins/ Plugin structure: - claude.json: Plugin metadata (name, version, components) - instructions.md: Main skill prompt (100% English) - README.md: Plugin documentation and usage guide Maintains all functionality: - 100-point scoring system - Iterative clarification (≥90 threshold) - PRD generation with 4 sections - Auto-activation on vague requirements Fixes #17 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
312 lines
8.7 KiB
Markdown
312 lines
8.7 KiB
Markdown
# Requirements Clarity Plugin
|
|
|
|
## Overview
|
|
|
|
This Claude Code plugin automatically detects vague requirements and transforms them into crystal-clear Product Requirements Documents (PRDs) through systematic clarification.
|
|
|
|
**Plugin vs Skill vs Command**:
|
|
- **Plugin**: Distributable package with metadata (`claude.json`)
|
|
- **Skill**: Auto-activated behavior (part of plugin)
|
|
- **Command**: Manual invocation (deprecated in favor of plugin)
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
/plugin install requirements-clarity
|
|
```
|
|
|
|
Or add to your `.clauderc`:
|
|
|
|
```json
|
|
{
|
|
"plugins": {
|
|
"requirements-clarity": {
|
|
"enabled": true
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## How It Works
|
|
|
|
### Automatic Activation
|
|
|
|
The plugin activates when Claude detects:
|
|
|
|
1. **Vague Feature Requests**
|
|
```
|
|
User: "add login feature"
|
|
User: "implement payment system"
|
|
User: "create user dashboard"
|
|
```
|
|
|
|
2. **Missing Technical Details**
|
|
- No technology stack mentioned
|
|
- No architecture or constraints specified
|
|
- No integration points identified
|
|
|
|
3. **Incomplete Specifications**
|
|
- No acceptance criteria
|
|
- No success metrics
|
|
- No edge cases or error handling
|
|
|
|
4. **Ambiguous Scope**
|
|
- Unclear boundaries ("user management" - what exactly?)
|
|
- No distinction between MVP and future features
|
|
|
|
### Clarification Process
|
|
|
|
```
|
|
User: "I want to implement a user login feature"
|
|
↓
|
|
Claude detects vague requirement
|
|
↓
|
|
Auto-activates requirements-clarity skill
|
|
↓
|
|
Initial assessment: 35/100 clarity score
|
|
↓
|
|
Round 1: Ask 2-3 targeted questions
|
|
↓
|
|
User responds
|
|
↓
|
|
Score update: 35 → 72
|
|
↓
|
|
Round 2: Continue clarifying gaps
|
|
↓
|
|
User responds
|
|
↓
|
|
Score update: 72 → 93 ✓ (≥90 threshold)
|
|
↓
|
|
Generate PRD files:
|
|
- ./.claude/specs/user-login/prd.md
|
|
- ./.claude/specs/user-login/clarification-log.md
|
|
```
|
|
|
|
## Scoring System (100 points)
|
|
|
|
| Dimension | Points | Criteria |
|
|
|-----------|--------|----------|
|
|
| **Functional Clarity** | 30 | Clear inputs/outputs (10), User interaction (10), Success criteria (10) |
|
|
| **Technical Specificity** | 25 | Tech stack (8), Integration points (8), Constraints (9) |
|
|
| **Implementation Completeness** | 25 | Edge cases (8), Error handling (9), Data validation (8) |
|
|
| **Business Context** | 20 | Problem statement (7), Target users (7), Success metrics (6) |
|
|
|
|
**Threshold**: ≥ 90 points required before PRD generation
|
|
|
|
## Output Structure
|
|
|
|
### 1. Clarification Log
|
|
`./.claude/specs/{feature-name}/clarification-log.md`
|
|
|
|
Documents the entire clarification conversation:
|
|
- Original requirement
|
|
- Each round of questions and answers
|
|
- Score progression
|
|
- Final assessment breakdown
|
|
|
|
### 2. Product Requirements Document
|
|
`./.claude/specs/{feature-name}/prd.md`
|
|
|
|
Structured PRD with four main sections:
|
|
|
|
#### Requirements Description
|
|
- Background: Business problem, target users, value proposition
|
|
- Feature Overview: Core functionality, boundaries, user scenarios
|
|
- Detailed Requirements: Inputs/outputs, interactions, data, edge cases
|
|
|
|
#### Design Decisions
|
|
- Technical Approach: Architecture, components, data storage, APIs
|
|
- Constraints: Performance, compatibility, security, scalability
|
|
- Risk Assessment: Technical, dependency, timeline risks
|
|
|
|
#### Acceptance Criteria
|
|
- Functional: Checklistable feature requirements
|
|
- Quality Standards: Code quality, testing, performance, security
|
|
- User Acceptance: UX, documentation, training
|
|
|
|
#### Execution Phases
|
|
- Phase 1: Preparation - Environment setup
|
|
- Phase 2: Core Development - Core implementation
|
|
- Phase 3: Integration & Testing - QA
|
|
- Phase 4: Deployment - Release
|
|
|
|
## Testing Guide
|
|
|
|
### Test Case 1: Vague Login Feature
|
|
|
|
**Input**:
|
|
```
|
|
"I want to implement a user login feature"
|
|
```
|
|
|
|
**Expected Behavior**:
|
|
1. Claude detects vague requirement
|
|
2. Announces activation of requirements-clarity skill
|
|
3. Shows initial score (~30-40/100)
|
|
4. Asks 2-3 questions about:
|
|
- Login method (username+password, phone+OTP, OAuth?)
|
|
- Functional scope (remember me, forgot password?)
|
|
- Technology stack (backend language, database, auth method?)
|
|
|
|
**Expected Output**:
|
|
- Score improves to ~70+ after round 1
|
|
- Additional questions about security, error handling, performance
|
|
- Final score ≥ 90
|
|
- PRD generated in `./.claude/specs/user-login/`
|
|
|
|
### Test Case 2: Ambiguous E-commerce Feature
|
|
|
|
**Input**:
|
|
```
|
|
"add shopping cart to the website"
|
|
```
|
|
|
|
**Expected Behavior**:
|
|
1. Auto-activation (no tech stack, no UX details, no constraints)
|
|
2. Questions about:
|
|
- Cart behavior (guest checkout? save for later? quantity limits?)
|
|
- User experience (inline cart vs dedicated page?)
|
|
- Backend integration (existing inventory system? payment gateway?)
|
|
- Data persistence (session storage, database, local storage?)
|
|
|
|
**Expected Output**:
|
|
- Iterative clarification (2-3 rounds)
|
|
- Score progression: ~25 → ~65 → ~92
|
|
- PRD with concrete shopping cart specifications
|
|
|
|
### Test Case 3: Technical Implementation Request
|
|
|
|
**Input**:
|
|
```
|
|
"Refactor the authentication service to use JWT tokens"
|
|
```
|
|
|
|
**Expected Behavior**:
|
|
1. May NOT activate (already fairly specific)
|
|
2. If activates, asks about:
|
|
- Token expiration strategy
|
|
- Refresh token implementation
|
|
- Migration plan from existing auth
|
|
- Backward compatibility requirements
|
|
|
|
### Test Case 4: Clear Requirement (Should NOT Activate)
|
|
|
|
**Input**:
|
|
```
|
|
"Fix the null pointer exception in auth.go line 45 by adding a nil check before accessing user.Email"
|
|
```
|
|
|
|
**Expected Behavior**:
|
|
- Skill does NOT activate (requirement is already clear)
|
|
- Claude proceeds directly to implementation
|
|
|
|
## Benefits
|
|
|
|
1. **Proactive Quality Gate**: Prevents unclear specs from proceeding to implementation
|
|
2. **Zero Friction**: Users describe features naturally, no command syntax needed
|
|
3. **Context Awareness**: Claude recognizes ambiguity patterns automatically
|
|
4. **Persistent Mode**: Stays active throughout clarification conversation
|
|
5. **Better UX**: Natural conversation flow vs explicit command invocation
|
|
|
|
## Configuration
|
|
|
|
No configuration needed - the plugin is automatically discovered by Claude Code when installed.
|
|
|
|
**Plugin Metadata** (in claude.json):
|
|
```json
|
|
{
|
|
"name": "requirements-clarity",
|
|
"version": "1.0.0",
|
|
"description": "Automatically clarify vague requirements into actionable PRDs",
|
|
"components": {
|
|
"skills": ["requirements-clarity"]
|
|
}
|
|
}
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Plugin Not Activating
|
|
|
|
**Problem**: Claude doesn't enter clarification mode for vague requirements
|
|
|
|
**Solutions**:
|
|
1. Verify plugin is installed: `/plugin list`
|
|
2. Check plugin is enabled in `.clauderc`
|
|
3. Ensure `instructions.md` exists in plugin directory
|
|
4. Try more explicit vague requirement: "add user feature"
|
|
|
|
### Premature PRD Generation
|
|
|
|
**Problem**: PRD generated before score reaches 90
|
|
|
|
**Solution**: This is a bug - instructions.md explicitly requires ≥90 threshold. Review the clarification log to see actual score.
|
|
|
|
### Over-Clarification
|
|
|
|
**Problem**: Claude asks too many questions for simple features
|
|
|
|
**Expected**: This is by design - better to over-clarify than under-specify. If the requirement is truly simple, answer questions quickly to reach 90+ score faster.
|
|
|
|
## Examples
|
|
|
|
### Example 1: Login Feature (Full Flow)
|
|
|
|
See full example in instructions.md under "Example Clarification Flow"
|
|
|
|
**Summary**:
|
|
- Input: "I want to implement a user login feature"
|
|
- Round 1: Login method, scope, tech stack → Score 35→72
|
|
- Round 2: Security, error handling, performance → Score 72→93
|
|
- Output: Complete PRD with bcrypt, JWT, PostgreSQL, Go backend
|
|
|
|
### Example 2: API Endpoint
|
|
|
|
**Input**: "create an API to get user profile"
|
|
|
|
**Round 1** (Score: 28/100):
|
|
```
|
|
Q1: What information should the API return? (name, email, avatar, preferences?)
|
|
Q2: Authentication required? (JWT, session, API key?)
|
|
Q3: Response format? (JSON, XML?) Any pagination?
|
|
```
|
|
|
|
**Round 2** (Score: 75/100):
|
|
```
|
|
Q1: Error handling: What if user not found? (404, custom error?)
|
|
Q2: Performance: Caching strategy? Expected QPS?
|
|
Q3: Privacy: Any fields that should be filtered based on requester?
|
|
```
|
|
|
|
**Round 3** (Score: 91/100):
|
|
```
|
|
PRD Generated:
|
|
- Endpoint: GET /api/v1/users/:id
|
|
- Auth: JWT required
|
|
- Response: JSON with name, email, avatar, bio
|
|
- Caching: Redis, 5min TTL
|
|
- Rate limit: 100 req/min per user
|
|
```
|
|
|
|
## References
|
|
|
|
- **Claude Code Plugins Documentation**: https://docs.claude.com/en/docs/claude-code/plugins
|
|
- **Original `/clarif` Command**: `development-essentials/commands/clarif.md`
|
|
- **Original Clarification Agent**: `development-essentials/agents/clarif-agent.md`
|
|
|
|
## Changelog
|
|
|
|
### v1.0.0 (2025-10-21)
|
|
- Converted skill to plugin format
|
|
- Added `claude.json` plugin metadata
|
|
- Translated all prompts to English (was mixed Chinese/English)
|
|
- Updated documentation for plugin distribution
|
|
- Maintained 100-point scoring system and PRD structure
|
|
- Compatible with Claude Code plugin system
|
|
|
|
---
|
|
|
|
**License**: MIT
|
|
**Author**: stellarlink
|
|
**Homepage**: https://github.com/cexll/myclaude
|