# Feedback Reminder System

## Purpose

Gently remind users to share anonymous feedback at natural moments, helping improve the JIRA expansion pack for the entire community.

## Reminder Philosophy

- **Never interrupt work** - Only during natural breaks
- **Respect frequency** - Maximum once per 30 days
- **Value timing** - Choose moments of success or completion
- **Stay positive** - Frame as helping the community

## Reminder Triggers

### Primary Conditions

All must be met:

```yaml
required:
  - learning_events_count: >= 20
  - days_since_last_reminder: >= 30
  - user_activity_state: "idle_or_natural_break"
  - feedback_file_exists: true
  - file_size: > 1KB
```

### Optimal Moments

#### 1. Task Completion Success

After successful operations:

- Sprint report generated
- Bulk sync completed
- Setup finished successfully
- Week of smooth operations

#### 2. Natural Breaks

During pause points:

- After "thanks" or "done"
- End of help interaction
- After viewing dashboard
- Session end (no activity 5+ min)

#### 3. Milestone Moments

Significant achievements:

- First month anniversary
- 100th sync operation
- Sprint completion
- Quarter boundary

### Never Show During

```yaml
blocked_contexts:
  - active_sync_operation
  - setup_in_progress
  - error_recovery
  - urgent_keywords: ["asap", "emergency", "critical", "broken"]
  - recent_frustration: true
  - multiple_errors: true
```

## Reminder Messages

### Standard Reminder

```markdown
💡 **Community Improvement Opportunity**

I've been quietly learning from our interactions to help improve the JIRA
integration. Your anonymous usage patterns could help make this tool better
for everyone!

**What I've collected** (anonymous & sanitized):

- Common workflow patterns
- Features that could be clearer
- Success rates and timing
- No personal or project data

**File location**: `.bmad-workspace/ck-jira-integration/feedback/jira-expansion-learnings.md`

Feel free to review it first! If you'd like to help improve the tool:

- Email: feedback@cloudkinetix.com
- GitHub: github.com/cloudkinetix/bmad-enhanced/issues
- Subject: "JIRA Expansion Pack Learnings"

Thanks for considering! (I won't ask again for 30 days) 🙏
```

### First-Time User Reminder

Shown after first week of usage:

```markdown
🎉 **You've been using JIRA integration for a week!**

Quick question: How's your experience been? I've collected some anonymous
patterns that might help improve the tool for new users like yourself.

If you have 30 seconds, sharing the learnings file could really help:
`.bmad-workspace/ck-jira-integration/feedback/jira-expansion-learnings.md`

No pressure - just thought I'd mention it!
```

### Power User Reminder

For experienced users:

```markdown
🚀 **Power User Insight Needed**

You've mastered the JIRA integration! Your usage patterns show some
interesting workflows that could help improve the tool for everyone.

The anonymous learnings file has captured some unique patterns:
`.bmad-workspace/ck-jira-integration/feedback/jira-expansion-learnings.md`

Your expertise could help shape future features. Consider sharing?
```

### Sprint Success Reminder

After successful sprint:

```markdown
✅ **Great Sprint Completion!**

While celebrating your success, would you consider helping others have
smooth sprints too? The anonymous learnings from your workflows could
improve the tool for the community.

Quick share: `.bmad-workspace/ck-jira-integration/feedback/jira-expansion-learnings.md`
```

## Timing Logic

### Reminder State Management

```yaml
reminder_state:
  file: .bmad-workspace/feedback/.reminder-state.yml
  tracks:
    last_shown: timestamp
    times_shown: count
    user_level: "new|regular|power"
    response: "shared|dismissed|ignored"
```

### Smart Scheduling

[[LLM: Choose reminder timing based on:

1. User success moments (prefer positive context)
2. Natural workflow breaks
3. Completed meaningful work
4. Low cognitive load periods
5. Never during problems/errors
   ]]

### Reminder Frequency Rules

```yaml
frequency_rules:
  minimum_gap: 30_days
  max_per_year: 6

  adjust_based_on:
    shared_before: extend_to_60_days
    ignored_twice: extend_to_90_days
    new_user: wait_7_days_first
```

## Message Customization

### Context-Aware Elements

```yaml
customize_based_on:
  usage_level:
    new: emphasize_helping_new_users
    regular: focus_on_improvements
    power: highlight_advanced_patterns

  recent_success:
    setup: mention_setup_experience
    bulk_sync: reference_efficiency
    reporting: note_analytics_usage

  time_of_year:
    quarter_end: "quarterly improvement cycle"
    year_end: "annual enhancement planning"
    january: "new year improvements"
```

### Tone Variations

- **Celebratory**: After major success
- **Collaborative**: For team users
- **Appreciative**: For regular contributors
- **Casual**: For day-to-day reminders

## Display Logic

### Presentation Rules

1. Never modal or blocking
2. Append to command output naturally
3. Use formatting for easy scanning
4. Include clear dismiss option
5. Show file size for transparency

### Example Integration

```
✅ Sprint report generated successfully!
📊 Report saved to: .bmad-workspace/reports/sprint-15-health.md

[... normal output ...]

💡 By the way, I've been learning from usage patterns to improve this tool.
   Consider sharing: .bmad-workspace/feedback/jira-expansion-learnings.md (2.3 KB)
   (I won't mention this again for 30 days)
```

## Response Tracking

### User Actions

Track (anonymously) how users respond:

```yaml
responses:
  positive:
    - views_file: true
    - copies_path: true
    - asks_about_sharing: true

  neutral:
    - no_action: true
    - continues_work: true

  negative:
    - dismisses_quickly: true
    - shows_frustration: false # Don't track this
```

### Adaptive Behavior

- If shared before → Less frequent reminders
- If ignored repeatedly → Reduce frequency
- If new features used → Mention those patterns

## Implementation Hooks

### In Agent

```markdown
[[LLM: At natural breaks, check if reminder conditions met:

- Use feedback-reminder utility
- Only show if all conditions pass
- Track when shown
- Never interrupt active work
  ]]
```

### In Tasks

```markdown
[[LLM: After successful task completion:

- Signal natural break point
- Check reminder eligibility
- Show if appropriate
- Update reminder state
  ]]
```

## Success Metrics

- **Non-intrusive**: Zero complaints about interruptions
- **Helpful timing**: Shown during positive moments
- **Clear value**: Users understand the benefit
- **Easy sharing**: Simple process to contribute
- **Community benefit**: Improvements based on feedback

This reminder system balances the need for feedback with deep respect for user workflow and time.
