mikeparcewski

wicked-garden-product-analyze

Sentiment analysis, theme extraction, and trend detection from customer feedback. Use when: analyzing customer feedback for sentiment, extracting themes from support or survey data, or detecting trends in voice-of-customer signal.

mikeparcewski 9 2 Updated 1mo ago

Resources

1
GitHub

Install

npx skillscat add mikeparcewski/wicked-garden/wicked-garden-product-analyze

Install via the SkillsCat registry.

SKILL.md

Analyze Skill

Extract themes, sentiment, and trends from aggregated customer feedback.

Tier-3 knowledge module behind the analyze action of the
wicked-garden-product domain skill (skills/product/SKILL.md). Canonical
invocation: /wicked-garden-product analyze [args] or plain natural language —
the examples below use that form.

Runtime

Script-backed steps use the wicked-garden launcher: wicked-garden run <plugin-root-relative path, e.g. scripts/…> [args]. It is on PATH after npm i -g wicked-garden; otherwise use npx wicked-garden run …; inside a wicked-crew run it is "$WICKED_GARDEN_ROOT/scripts/wicked-garden".
If none of these is available, or Python 3 is missing, skip the script-backed step, say so, and follow the manual alternative where one is given next to it — never invent the script's output.
Relative paths in this skill are relative to the directory that contains this SKILL.md.

When to Use

  • After running /wicked-garden-product listen
  • User asks "what are customers saying about X"
  • Need to understand sentiment trends
  • Preparing customer insights for product decisions

Usage

# Analyze all recent feedback
/wicked-garden-product analyze

# Analyze specific theme
/wicked-garden-product analyze --theme "mobile experience"

# Analyze sentiment only
/wicked-garden-product analyze --sentiment negative

# Trend analysis
/wicked-garden-product analyze --trend "last-quarter"

# Segment analysis
/wicked-garden-product analyze --segment enterprise

Analysis Types

1. Sentiment Analysis

2. Theme Extraction

  • Cluster by keywords and co-occurrence
  • Categories: Product, Experience, Business
  • See refs/algorithms.md for clustering logic

3. Trend Detection

  • Compare time periods (week, month, quarter)
  • Categories: Emerging, Growing, Stable, Declining, Resolved
  • Threshold: >50% = Growing, >30% decline = Declining

4. Priority Scoring

Priority = (Frequency × Severity × Urgency) / Total_Feedback

See refs/algorithms.md for detailed scoring.

Analysis Process

  1. Load Feedback Data:

    LOCAL_ROOT=$(wicked-garden run scripts/resolve_path.py wicked-garden:product)

    Then list the feedback files — ${LOCAL_ROOT}/voice/feedback/**/*.md — with your harness's
    file search and open the recent ones with its file reader.

  2. Extract Themes:

    • Keyword frequency analysis
    • Tag co-occurrence
    • Natural language clustering
  3. Score Sentiment:

    • Classify each item (positive/negative/neutral/mixed)
    • Score intensity (strong/moderate/mild)
    • Calculate net sentiment
  4. Detect Trends:

    • Group by time period (week, month, quarter)
    • Compare frequencies
    • Identify direction (up, down, stable)
  5. Segment Analysis:

    • Group by customer segment (if available)
    • Compare sentiment across segments
    • Identify segment-specific themes

Output Format

## Analysis: {Topic or Timeframe}

### Sentiment Overview
- Net Sentiment: {+/-N} ({X}% positive, {Y}% negative)
- Strong Emotions: {count} highly positive, {count} highly negative
- Trend: {IMPROVING/DECLINING/STABLE} compared to previous period

### Top Themes (by priority)
1. **{Theme}** - Priority: {score}
   - Frequency: {count} mentions ({%} of total)
   - Sentiment: {positive/negative/mixed} ({intensity})
   - Trend: {GROWING/STABLE/DECLINING} ({+/-X}% vs. baseline)
   - Severity: {CRITICAL/HIGH/MEDIUM/LOW}
   - Key quote: "{representative example}"

{Top 5 themes}

### Emerging Patterns
- **{New Theme}**: Recently appeared, {count} mentions
- **{Growing Theme}**: {X}% increase from last period

### Segment Insights
- **{Segment}**: {sentiment + top theme}

### Recommendations
{1-3 actionable recommendations based on analysis}

Technical Implementation

See refs/algorithms.md for detailed analysis algorithms.

Integration

With wicked-crew (Auto Context)

# Triggered by product:requirements:started event
if event.type == "product:requirements:started":
    # Analyze recent feedback for feature context
    analysis = analyze(days=30, tags=["feature-request"])
    emit_signal("voice:analysis:ready", analysis)

With native tasks (Link to Tasks)

# Tag themes with related task IDs by reading native tasks from
# ${CLAUDE_CONFIG_DIR}/tasks/{session_id}/ and matching keywords
tasks = search_native_tasks(theme.keywords)
theme.related_tasks = tasks

Storage

Analysis results stored at: {local_root}/wicked-garden:product/voice/analysis/{theme}/{date}.md (resolve via resolve_path.py wicked-garden:product)

Rules

  • Limit to top 5 themes (context efficiency)
  • Always include sample size (N=X)
  • Provide confidence levels for trends
  • Include representative quotes
  • Keep output under 800 words
  • Distinguish frequency from severity