generated from coulomb/repo-seed
feat: implement reusable feedback capability for continuous improvement
Add comprehensive feedback system that enables lightweight, unstructured feedback collection from users of the issue-facade capability, establishing a continuous improvement loop grounded in real-world usage. Core Components: - .feedback/ directory structure (inbound, reviewed, archived) - Standalone CLI tool (.capability/feedback) for submission and management - Comprehensive documentation (.feedback/README.md) - Integration examples and usage guides Key Features: - Multiple submission methods (CLI, Makefile, direct file drop) - No structure imposement - accepts any text/markdown format - Automatic metadata capture (timestamp, git context, version) - Maintainer workflow (list, review, archive, create issues) - Colored terminal output for better UX - Future-ready for API endpoint evolution Integration: - Updated CAPABILITY.yaml with feedback section - Enhanced CLAUDE.md with comprehensive integration guide - Added Makefile commands (feedback, feedback-list, feedback-stats, etc.) - Created detailed usage examples (examples/feedback-example.md) Design Philosophy: - Capability-agnostic pattern (reusable across all markitect capabilities) - Decentralized (each capability owns its feedback) - Flexible (no required formats or fields) - Durable (plain markdown files, git-tracked) - Actionable (feedback lives where maintainers work) - Scalable (works for 1 user or 1000 users) Feedback Submission Examples: ./.capability/feedback submit "Your feedback" make feedback MSG="Your feedback" echo "Feedback" > .feedback/inbound/$(date +%Y%m%d)-feedback.md Maintainer Workflow: make feedback-list # List pending make feedback-stats # Show statistics make feedback-review-issue FILE=xxx # Review and create issue This establishes a robust continuous improvement loop: User Experience → Feedback → Review → Action → Improved Capability The pattern is designed to be copied to any capability in the markitect project, providing consistent feedback collection across all capabilities. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
155
CLAUDE.md
155
CLAUDE.md
@@ -243,3 +243,158 @@ This is a capability within the larger markitect project (`/capabilities/issue-f
|
||||
- Can be installed independently via `pip install -e .`
|
||||
- Integrates with parent project via Makefile targets
|
||||
- Follows markitect capability conventions for structure and naming
|
||||
|
||||
## Feedback and Continuous Improvement
|
||||
|
||||
This capability implements the **feedback pattern** - a lightweight, unstructured feedback loop for continuous improvement based on real-world usage from master projects integrating this capability.
|
||||
|
||||
### Overview
|
||||
|
||||
The feedback system consists of:
|
||||
- **`.feedback/` directory**: Stores all feedback with minimal organization
|
||||
- **`.capability/feedback` CLI tool**: Standalone tool for submitting and managing feedback
|
||||
- **No structure imposement**: Accept any text/markdown format
|
||||
- **Capability-owned**: Maintainers organize and prioritize feedback
|
||||
|
||||
### Directory Structure
|
||||
|
||||
```
|
||||
.feedback/
|
||||
├── inbound/ # New feedback from users (unreviewed)
|
||||
├── reviewed/ # Feedback reviewed by maintainers
|
||||
├── archived/ # Resolved or outdated feedback
|
||||
└── README.md # Complete documentation
|
||||
```
|
||||
|
||||
### For Users: Submitting Feedback
|
||||
|
||||
Users of issue-facade (master projects integrating it) can submit feedback in multiple ways:
|
||||
|
||||
**Option 1: Using feedback CLI**
|
||||
```bash
|
||||
# Quick text feedback
|
||||
./.capability/feedback submit "The sync command is slow with 1000+ issues"
|
||||
|
||||
# From a file
|
||||
./.capability/feedback submit detailed-feedback.md
|
||||
|
||||
# With metadata
|
||||
./.capability/feedback submit "Bug report" --category=bug --contact=me@email.com
|
||||
```
|
||||
|
||||
**Option 2: Direct file drop (no CLI needed)**
|
||||
```bash
|
||||
# Just create a markdown file in inbound/
|
||||
cat > .feedback/inbound/$(date +%Y%m%d)-sync-issue.md << 'EOF'
|
||||
The sync is taking 10+ minutes with our 5000-issue repo.
|
||||
Would love to see progress indicators or batch processing.
|
||||
EOF
|
||||
```
|
||||
|
||||
**Option 3: From master project**
|
||||
```bash
|
||||
cd my-master-project
|
||||
echo "Feedback about issue-facade..." > feedback.md
|
||||
cp feedback.md capabilities/issue-facade/.feedback/inbound/$(date +%Y%m%d)-feedback.md
|
||||
```
|
||||
|
||||
### For Maintainers: Processing Feedback
|
||||
|
||||
**List and review feedback:**
|
||||
```bash
|
||||
# List pending feedback
|
||||
./.capability/feedback list
|
||||
|
||||
# Show specific feedback
|
||||
./.capability/feedback show 20251217-103045-abc12345.md
|
||||
|
||||
# Show statistics
|
||||
./.capability/feedback stats
|
||||
```
|
||||
|
||||
**Process feedback:**
|
||||
```bash
|
||||
# Mark as reviewed
|
||||
./.capability/feedback review 20251217-103045-abc12345.md
|
||||
|
||||
# Create issue from feedback
|
||||
./.capability/feedback review 20251217-103045-abc12345.md --create-issue
|
||||
|
||||
# Archive when resolved
|
||||
./.capability/feedback archive 20251217-103045-abc12345.md
|
||||
```
|
||||
|
||||
**Manual workflow (without CLI):**
|
||||
```bash
|
||||
# 1. List new feedback
|
||||
ls -lt .feedback/inbound/
|
||||
|
||||
# 2. Read feedback
|
||||
cat .feedback/inbound/20251217-103045-sync-issue.md
|
||||
|
||||
# 3. Take action (create issue, fix, document)
|
||||
issue create "Feature: Show sync progress" \
|
||||
--description "$(cat .feedback/inbound/20251217-103045-sync-issue.md)" \
|
||||
--label=feedback --label=feature
|
||||
|
||||
# 4. Move to reviewed
|
||||
mv .feedback/inbound/20251217-103045-sync-issue.md .feedback/reviewed/
|
||||
```
|
||||
|
||||
### Integration with Development Workflow
|
||||
|
||||
Feedback informs:
|
||||
- **Roadmap prioritization**: Most requested features get priority
|
||||
- **Bug triage**: Real-world issues from production usage
|
||||
- **Documentation improvements**: Where users struggle
|
||||
- **UX enhancements**: Friction points in actual usage
|
||||
|
||||
**Review rhythm:**
|
||||
- Daily: Quick scan of new feedback
|
||||
- Weekly: Deep review, create issues, respond to users
|
||||
- Monthly: Archive old feedback, analyze trends
|
||||
|
||||
### Feedback Pattern (Reusable Across Capabilities)
|
||||
|
||||
The feedback system is **capability-agnostic** and can be copied to any markitect capability:
|
||||
|
||||
1. **Copy the pattern:**
|
||||
```bash
|
||||
mkdir -p .feedback/inbound .feedback/reviewed .feedback/archived
|
||||
cp /path/to/feedback-template/README.md .feedback/
|
||||
cp /path/to/feedback-template/feedback .capability/
|
||||
chmod +x .capability/feedback
|
||||
```
|
||||
|
||||
2. **Document in CAPABILITY.yaml:**
|
||||
```yaml
|
||||
feedback:
|
||||
enabled: true
|
||||
method: feedback-capability
|
||||
submission:
|
||||
cli: ".capability/feedback submit 'Your feedback'"
|
||||
directory: ".feedback/inbound/"
|
||||
```
|
||||
|
||||
3. **Add to Makefile (optional):**
|
||||
```makefile
|
||||
feedback:
|
||||
@./.capability/feedback submit "$(MSG)"
|
||||
```
|
||||
|
||||
**Future Evolution:**
|
||||
- When capability becomes a service, add API endpoint: `POST /api/feedback`
|
||||
- API writes to same `.feedback/inbound/` directory
|
||||
- Maintains consistency across CLI, file drop, and API submission
|
||||
|
||||
### Why This Pattern?
|
||||
|
||||
- **Decentralized**: Each capability owns its feedback
|
||||
- **Flexible**: No forms, no required structure
|
||||
- **Durable**: Plain files survive system changes
|
||||
- **Auditable**: Git tracks all feedback
|
||||
- **Actionable**: Feedback lives where maintainers work
|
||||
- **Scalable**: Works for 1 user or 1000 users
|
||||
- **Future-proof**: Can evolve to CLI/API while maintaining structure
|
||||
|
||||
See `.feedback/README.md` for complete documentation.
|
||||
|
||||
Reference in New Issue
Block a user