@crowdlisten/harness 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/AGENTS.md +167 -0
  2. package/LICENSE +21 -0
  3. package/README.md +153 -0
  4. package/dist/agent-proxy.d.ts +24 -0
  5. package/dist/agent-proxy.js +140 -0
  6. package/dist/agent-tools.d.ts +736 -0
  7. package/dist/agent-tools.js +409 -0
  8. package/dist/context/api.d.ts +5 -0
  9. package/dist/context/api.js +164 -0
  10. package/dist/context/cli.d.ts +19 -0
  11. package/dist/context/cli.js +108 -0
  12. package/dist/context/extractor.d.ts +12 -0
  13. package/dist/context/extractor.js +43 -0
  14. package/dist/context/index.d.ts +12 -0
  15. package/dist/context/index.js +11 -0
  16. package/dist/context/matcher.d.ts +39 -0
  17. package/dist/context/matcher.js +246 -0
  18. package/dist/context/parser.d.ts +28 -0
  19. package/dist/context/parser.js +157 -0
  20. package/dist/context/pipeline.d.ts +26 -0
  21. package/dist/context/pipeline.js +56 -0
  22. package/dist/context/prompts.d.ts +6 -0
  23. package/dist/context/prompts.js +60 -0
  24. package/dist/context/providers.d.ts +6 -0
  25. package/dist/context/providers.js +106 -0
  26. package/dist/context/redactor.d.ts +10 -0
  27. package/dist/context/redactor.js +68 -0
  28. package/dist/context/server.d.ts +5 -0
  29. package/dist/context/server.js +134 -0
  30. package/dist/context/store.d.ts +12 -0
  31. package/dist/context/store.js +82 -0
  32. package/dist/context/types.d.ts +79 -0
  33. package/dist/context/types.js +4 -0
  34. package/dist/context/user-state.d.ts +40 -0
  35. package/dist/context/user-state.js +144 -0
  36. package/dist/index.d.ts +14 -0
  37. package/dist/index.js +385 -0
  38. package/dist/insights/browser/BrowserPool.d.ts +87 -0
  39. package/dist/insights/browser/BrowserPool.js +266 -0
  40. package/dist/insights/browser/RequestInterceptor.d.ts +46 -0
  41. package/dist/insights/browser/RequestInterceptor.js +115 -0
  42. package/dist/insights/cli.d.ts +8 -0
  43. package/dist/insights/cli.js +206 -0
  44. package/dist/insights/core/base/BaseAdapter.d.ts +37 -0
  45. package/dist/insights/core/base/BaseAdapter.js +123 -0
  46. package/dist/insights/core/health/HealthMonitor.d.ts +75 -0
  47. package/dist/insights/core/health/HealthMonitor.js +171 -0
  48. package/dist/insights/core/interfaces/SocialMediaPlatform.d.ts +125 -0
  49. package/dist/insights/core/interfaces/SocialMediaPlatform.js +42 -0
  50. package/dist/insights/core/utils/DataNormalizer.d.ts +53 -0
  51. package/dist/insights/core/utils/DataNormalizer.js +349 -0
  52. package/dist/insights/core/utils/InstagramUrlUtils.d.ts +11 -0
  53. package/dist/insights/core/utils/InstagramUrlUtils.js +60 -0
  54. package/dist/insights/core/utils/TikTokUrlUtils.d.ts +10 -0
  55. package/dist/insights/core/utils/TikTokUrlUtils.js +57 -0
  56. package/dist/insights/handlers.d.ts +157 -0
  57. package/dist/insights/handlers.js +246 -0
  58. package/dist/insights/index.d.ts +437 -0
  59. package/dist/insights/index.js +426 -0
  60. package/dist/insights/platforms/instagram/InstagramAdapter.d.ts +34 -0
  61. package/dist/insights/platforms/instagram/InstagramAdapter.js +342 -0
  62. package/dist/insights/platforms/moltbook/MoltbookAdapter.d.ts +31 -0
  63. package/dist/insights/platforms/moltbook/MoltbookAdapter.js +227 -0
  64. package/dist/insights/platforms/reddit/RedditAdapter.d.ts +21 -0
  65. package/dist/insights/platforms/reddit/RedditAdapter.js +212 -0
  66. package/dist/insights/platforms/tiktok/TikTokAdapter.d.ts +34 -0
  67. package/dist/insights/platforms/tiktok/TikTokAdapter.js +269 -0
  68. package/dist/insights/platforms/twitter/TwitterAdapter.d.ts +23 -0
  69. package/dist/insights/platforms/twitter/TwitterAdapter.js +211 -0
  70. package/dist/insights/platforms/xiaohongshu/XiaohongshuAdapter.d.ts +35 -0
  71. package/dist/insights/platforms/xiaohongshu/XiaohongshuAdapter.js +258 -0
  72. package/dist/insights/platforms/youtube/YouTubeAdapter.d.ts +22 -0
  73. package/dist/insights/platforms/youtube/YouTubeAdapter.js +254 -0
  74. package/dist/insights/service-config.d.ts +7 -0
  75. package/dist/insights/service-config.js +60 -0
  76. package/dist/insights/services/UnifiedSocialMediaService.d.ts +94 -0
  77. package/dist/insights/services/UnifiedSocialMediaService.js +259 -0
  78. package/dist/insights/vision/VisionExtractor.d.ts +46 -0
  79. package/dist/insights/vision/VisionExtractor.js +236 -0
  80. package/dist/learnings.d.ts +50 -0
  81. package/dist/learnings.js +130 -0
  82. package/dist/openapi.d.ts +29 -0
  83. package/dist/openapi.js +169 -0
  84. package/dist/server-factory.d.ts +20 -0
  85. package/dist/server-factory.js +41 -0
  86. package/dist/suggestions.d.ts +16 -0
  87. package/dist/suggestions.js +72 -0
  88. package/dist/telemetry.d.ts +44 -0
  89. package/dist/telemetry.js +93 -0
  90. package/dist/tools/registry.d.ts +65 -0
  91. package/dist/tools/registry.js +256 -0
  92. package/dist/tools.d.ts +2433 -0
  93. package/dist/tools.js +2294 -0
  94. package/dist/transport/http.d.ts +15 -0
  95. package/dist/transport/http.js +154 -0
  96. package/package.json +76 -0
  97. package/skills/catalog.json +272 -0
  98. package/skills/community-catalog.json +4202 -0
  99. package/skills/competitive-analysis/SKILL.md +174 -0
  100. package/skills/content-creator/SKILL.md +256 -0
  101. package/skills/content-strategy/SKILL.md +222 -0
  102. package/skills/data-storytelling/SKILL.md +248 -0
  103. package/skills/heuristic-evaluation/SKILL.md +201 -0
  104. package/skills/market-research-reports/SKILL.md +184 -0
  105. package/skills/user-stories/SKILL.md +178 -0
  106. package/skills/ux-researcher/SKILL.md +239 -0
  107. package/web-dist/assets/index-B1b25lNd.css +1 -0
  108. package/web-dist/assets/index-CDWHwHbl.js +64 -0
  109. package/web-dist/index.html +16 -0
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: crowdlisten:competitive-analysis
3
+ description: Competitive intelligence through audience perception analysis. Use when comparing brands, products, or competitors in social conversations. Requires CROWDLISTEN_API_KEY.
4
+ user-invocable: true
5
+ allowed-tools: Bash, Read, Write, WebFetch, Grep
6
+ metadata:
7
+ openclaw:
8
+ category: research
9
+ tags: [competitive-intelligence, brand-analysis, social-listening]
10
+ requires_api_key: true
11
+ ---
12
+
13
+ # Competitive Analysis
14
+
15
+ See your market through your audience's eyes using CrowdListen audience intelligence.
16
+
17
+ Consolidates: competitive-intel, product-signals (competitive gap analysis)
18
+
19
+ ## Before You Start
20
+
21
+ Ask your human for business context — this skill produces significantly better output when grounded in specifics:
22
+
23
+ - **Target market**: Who are the customers? What industry/segment?
24
+ - **Key competitors**: Which brands or products to compare against?
25
+ - **Constraints**: Budget, timeline, geographic focus?
26
+ - **Decision context**: What decisions will this analysis inform? (roadmap, funding, positioning, hiring?)
27
+ - **Existing data**: Any prior research, internal metrics, or hypotheses to validate?
28
+
29
+ ## When to Use This Skill
30
+
31
+ - Competitive analysis and positioning strategy
32
+ - Market entry and competitive landscape assessment
33
+ - Tracking competitor perception changes over time
34
+ - Identifying underserved market segments
35
+ - Competitive feature gap identification
36
+ - Preparing for fundraising, board meetings, or strategic reviews
37
+
38
+ ## Foundation: CrowdListen Tools
39
+
40
+ This skill builds on CrowdListen's core capabilities:
41
+ - `search_content` — Find discussions mentioning competitors
42
+ - `analyze_content` — Extract sentiment and themes per competitor
43
+ - `cluster_opinions` — Group competitive comparisons by theme
44
+ - `cross_platform_synthesis` — Compare perception across platforms
45
+ - `sentiment_evolution_tracker` — Track competitive sentiment shifts
46
+
47
+ ## Workflows
48
+
49
+ ### 1. Share of Voice Analysis
50
+
51
+ Measure how much your audience talks about each competitor.
52
+
53
+ **Process**:
54
+ 1. Search for each competitor name + product category keywords
55
+ 2. Count mentions, normalize by platform (Reddit, Twitter, YouTube, TikTok)
56
+ 3. Calculate share of voice = competitor_mentions / total_category_mentions
57
+ 4. Track week-over-week changes
58
+
59
+ **Output Template**:
60
+ ```markdown
61
+ ## Share of Voice Report — [Category]
62
+ **Period**: [date range]
63
+
64
+ | Brand | Mentions | Share of Voice | Sentiment | WoW Change |
65
+ |-------|----------|---------------|-----------|------------|
66
+ | [Brand A] | [count] | [%] | [+/-/neutral] | [+/- %] |
67
+
68
+ ### Key Findings
69
+ - [Brand] dominates conversation because [reason with evidence]
70
+ - [Your brand] is [underrepresented/overrepresented] in [platform]
71
+ ```
72
+
73
+ ### 2. Sentiment Comparison
74
+
75
+ Side-by-side sentiment analysis across competitors.
76
+
77
+ **Process**:
78
+ 1. Analyze sentiment for each competitor across same time period
79
+ 2. Break down by dimension: product quality, pricing, support, innovation, reliability
80
+ 3. Identify sentiment drivers (what causes positive/negative perception)
81
+
82
+ **Output Template**:
83
+ ```markdown
84
+ ## Competitive Sentiment Matrix
85
+
86
+ | Dimension | Your Brand | Competitor A | Competitor B | Leader |
87
+ |-----------|-----------|-------------|-------------|--------|
88
+ | Product Quality | [score] | [score] | [score] | [who] |
89
+ | Pricing | [score] | [score] | [score] | [who] |
90
+
91
+ ### Sentiment Drivers
92
+ **What makes [leader] win on [dimension]**:
93
+ - [Evidence from social discussions]
94
+ - > "[User quote]"
95
+ ```
96
+
97
+ ### 3. Switching Intent Detection
98
+
99
+ Identify users actively considering switching between products.
100
+
101
+ **Process**:
102
+ 1. Search for "switching from [competitor]", "alternative to [competitor]", "[competitor] vs [competitor]"
103
+ 2. Analyze the reasons driving consideration
104
+ 3. Score switching intent: researching → evaluating → decided
105
+ 4. Identify which direction switching flows (from whom → to whom)
106
+
107
+ **Output Template**:
108
+ ```markdown
109
+ ## Switching Intent Report
110
+
111
+ ### Flow Map
112
+ [Competitor A] ──(X users)──> [Competitor B]
113
+ [Your Brand] ──(Z users)──> [Competitor C]
114
+
115
+ ### Why Users Leave [Competitor]
116
+ | Reason | Frequency | Intensity | Where They Go |
117
+ |--------|-----------|-----------|---------------|
118
+ | [Reason] | [count] | [high/med/low] | [destination] |
119
+ ```
120
+
121
+ ### 4. White Space Identification
122
+
123
+ Find unmet needs that no competitor addresses.
124
+
125
+ **Process**:
126
+ 1. Collect all feature requests, wishlists, and complaints across all competitors
127
+ 2. Remove features that any existing player already offers
128
+ 3. Rank remaining needs by demand strength
129
+ 4. Assess feasibility and strategic fit
130
+
131
+ **Output Template**:
132
+ ```markdown
133
+ ## White Space Opportunities
134
+
135
+ | Opportunity | Demand Signal | Nearest Competitor | Gap Size | Strategic Fit |
136
+ |-------------|--------------|-------------------|----------|---------------|
137
+ | [Need] | [evidence] | [who comes closest] | [Large/Medium] | [High/Med/Low] |
138
+
139
+ ### Top White Space: [Opportunity Name]
140
+ **What the audience wants**: [synthesis]
141
+ **Your path to capture**: [strategic recommendation]
142
+ **Evidence base**: [X discussions, Y platforms, Z sentiment score]
143
+ ```
144
+
145
+ ### 5. Competitive Feature Gap Analysis
146
+
147
+ Identify what users want from competitors but can't get.
148
+
149
+ **Process**:
150
+ 1. Search for "[competitor] missing/lacks/wish/doesn't have"
151
+ 2. Cross-reference with your own product's capabilities
152
+ 3. Identify opportunities where you can fill the gap
153
+
154
+ **Output Template**:
155
+ ```markdown
156
+ ## Competitive Gap Opportunities
157
+
158
+ | Gap | Competitor | User Demand | Your Position | Opportunity |
159
+ |-----|-----------|-------------|---------------|-------------|
160
+ | [Missing feature] | [Competitor] | [High/Med/Low] | [Have/Partial/Don't have] | [Build/Promote/Ignore] |
161
+
162
+ ### Top Opportunity: [Gap Name]
163
+ - **What users are saying**: [synthesis of complaints about competitor]
164
+ - **Your advantage**: [why you can/should build this]
165
+ ```
166
+
167
+ ## Integration with CrowdListen
168
+
169
+ This skill enhances CrowdListen analyses by:
170
+ - Adding competitive context to every audience analysis
171
+ - Tracking competitive dynamics over time
172
+ - Identifying strategic opportunities from audience perception data
173
+ - Providing investor-ready competitive intelligence
174
+ - Enabling proactive competitive strategy based on real audience signals
@@ -0,0 +1,256 @@
1
+ ---
2
+ name: crowdlisten:content-creator
3
+ description: Generate SEO-optimized marketing content with brand voice analysis. Blog posts, social media, email campaigns. Use when creating any branded content.
4
+ user-invocable: true
5
+ allowed-tools: Bash, Read, Write, WebFetch, Grep
6
+ metadata:
7
+ openclaw:
8
+ category: content
9
+ tags: [content-creation, seo, marketing, brand-voice]
10
+ requires_api_key: false
11
+ ---
12
+
13
+ # Content Creator
14
+
15
+ Generate professional, SEO-optimized marketing content with consistent brand voice across all channels.
16
+
17
+ ## Before You Start
18
+
19
+ Ask your human for business context — this skill produces significantly better output when grounded in specifics:
20
+
21
+ - **Target market**: Who are the customers? What industry/segment?
22
+ - **Key competitors**: Which brands or products to compare against?
23
+ - **Constraints**: Budget, timeline, geographic focus?
24
+ - **Decision context**: What decisions will this analysis inform? (roadmap, funding, positioning, hiring?)
25
+ - **Existing data**: Any prior research, internal metrics, or hypotheses to validate?
26
+
27
+ ## Capabilities
28
+
29
+ This skill enables:
30
+ - **Brand Voice Analysis**: Extract and replicate brand personality
31
+ - **SEO Optimization**: Keyword research, optimization, and meta content
32
+ - **Multi-Format Content**: Blog posts, social media, email, ads
33
+ - **Readability Enhancement**: Clear, engaging writing at target reading levels
34
+ - **Content Strategy**: Editorial calendars and content planning
35
+
36
+ ## Brand Voice Framework
37
+
38
+ ### Voice Attributes
39
+ Define brand personality across key dimensions:
40
+
41
+ | Dimension | Spectrum |
42
+ |-----------|----------|
43
+ | **Formality** | Casual ←→ Professional |
44
+ | **Energy** | Calm ←→ Enthusiastic |
45
+ | **Humor** | Serious ←→ Playful |
46
+ | **Expertise** | Accessible ←→ Technical |
47
+ | **Personality** | Reserved ←→ Bold |
48
+
49
+ ### Voice Documentation
50
+ ```markdown
51
+ ## Brand Voice Guidelines
52
+
53
+ ### Who We Are
54
+ [Core brand personality]
55
+
56
+ ### Voice Characteristics
57
+ 1. **[Attribute 1]**: [Description with examples]
58
+ 2. **[Attribute 2]**: [Description with examples]
59
+ 3. **[Attribute 3]**: [Description with examples]
60
+
61
+ ### Tone Variations by Context
62
+ - **Social Media**: [Tone adjustment]
63
+ - **Email**: [Tone adjustment]
64
+ - **Product**: [Tone adjustment]
65
+ - **Support**: [Tone adjustment]
66
+
67
+ ### Do's and Don'ts
68
+ | Do | Don't |
69
+ |----|-------|
70
+ | | |
71
+
72
+ ### Vocabulary Guide
73
+ **Words we use**:
74
+ **Words we avoid**:
75
+
76
+ ### Example Transformations
77
+ **Generic**: "Contact us for more information"
78
+ **On-brand**: [Brand-specific version]
79
+ ```
80
+
81
+ ## SEO Optimization
82
+
83
+ ### Keyword Integration
84
+ - **Primary keyword**: 2-3% density, in H1, first paragraph, conclusion
85
+ - **Secondary keywords**: Natural distribution throughout
86
+ - **Long-tail variations**: In subheadings and body content
87
+ - **Semantic keywords**: Related terms for topic authority
88
+
89
+ ### Content Structure for SEO
90
+ ```markdown
91
+ # H1: Primary Keyword Near Beginning
92
+
93
+ [Opening paragraph with primary keyword in first 100 words]
94
+
95
+ ## H2: Secondary Keyword
96
+ [Content with natural keyword usage]
97
+
98
+ ### H3: Long-tail Variation
99
+ [Supporting content]
100
+
101
+ ## H2: Another Secondary Keyword
102
+ [Content]
103
+
104
+ ## Conclusion
105
+ [Recap with primary keyword]
106
+ ```
107
+
108
+ ### Meta Content
109
+ - **Title Tag**: 50-60 characters, keyword near front
110
+ - **Meta Description**: 150-160 characters, compelling CTA
111
+ - **URL Slug**: Short, keyword-rich, hyphen-separated
112
+
113
+ ## Content Formats
114
+
115
+ ### Blog Post Template
116
+ ```markdown
117
+ # [Compelling Title with Primary Keyword]
118
+
119
+ **Reading time**: X minutes
120
+ **Published**: [Date]
121
+
122
+ [Hook - Engage reader immediately]
123
+
124
+ ## What You'll Learn
125
+ - [Bullet 1]
126
+ - [Bullet 2]
127
+ - [Bullet 3]
128
+
129
+ ## [Section 1]
130
+ [Content]
131
+
132
+ ## [Section 2]
133
+ [Content]
134
+
135
+ ## [Section 3]
136
+ [Content]
137
+
138
+ ## Key Takeaways
139
+ [Summary points]
140
+
141
+ ## What's Next?
142
+ [CTA]
143
+
144
+ ---
145
+ *[Author bio and credentials]*
146
+ ```
147
+
148
+ ### Social Media Templates
149
+
150
+ **LinkedIn Post**
151
+ ```
152
+ [Hook - First line is crucial]
153
+
154
+ [3-5 short paragraphs with line breaks]
155
+
156
+ [Key insight or takeaway]
157
+
158
+ [Question to drive engagement]
159
+
160
+ #Hashtag1 #Hashtag2 #Hashtag3
161
+ ```
162
+
163
+ **Twitter/X Thread**
164
+ ```
165
+ 1/ [Hook that creates curiosity]
166
+
167
+ 2/ [First key point]
168
+
169
+ 3/ [Supporting evidence or example]
170
+
171
+ 4/ [Second key point]
172
+
173
+ 5/ [Third key point]
174
+
175
+ 6/ [Summary and CTA]
176
+ ```
177
+
178
+ **Instagram Caption**
179
+ ```
180
+ [Attention-grabbing first line]
181
+
182
+ [Story or value-add content]
183
+
184
+ [Personal touch or behind-the-scenes]
185
+
186
+ .
187
+ .
188
+ .
189
+ #Hashtags #Grouped #AtBottom
190
+ ```
191
+
192
+ ### Email Templates
193
+
194
+ **Newsletter**
195
+ ```markdown
196
+ Subject: [Benefit-focused, curiosity-driving]
197
+ Preview: [Complement subject, add urgency]
198
+
199
+ ---
200
+
201
+ Hi [Name],
202
+
203
+ [Personal opening]
204
+
205
+ **This week's highlight:**
206
+ [Main content]
207
+
208
+ **Quick wins:**
209
+ - [Tip 1]
210
+ - [Tip 2]
211
+ - [Tip 3]
212
+
213
+ [CTA Button]
214
+
215
+ [Sign-off]
216
+
217
+ P.S. [Secondary CTA or teaser]
218
+ ```
219
+
220
+ ## Content Quality Checklist
221
+
222
+ ### Readability
223
+ - [ ] Flesch-Kincaid grade level appropriate for audience
224
+ - [ ] Short paragraphs (2-4 sentences)
225
+ - [ ] Varied sentence length
226
+ - [ ] Active voice preferred
227
+ - [ ] Jargon explained or avoided
228
+
229
+ ### SEO
230
+ - [ ] Primary keyword in title, H1, first paragraph
231
+ - [ ] Secondary keywords in H2s
232
+ - [ ] Internal and external links included
233
+ - [ ] Images with alt text
234
+ - [ ] Meta title and description optimized
235
+
236
+ ### Engagement
237
+ - [ ] Strong hook in first line
238
+ - [ ] Value proposition clear
239
+ - [ ] Scannable structure (headers, bullets)
240
+ - [ ] Clear CTA
241
+ - [ ] Social proof or data included
242
+
243
+ ### Brand
244
+ - [ ] Voice consistent with guidelines
245
+ - [ ] Tone appropriate for channel
246
+ - [ ] Key messages incorporated
247
+ - [ ] On-brand visuals recommended
248
+
249
+ ## Integration with CrowdListen
250
+
251
+ This skill enhances CrowdListen by:
252
+ - Creating content based on community insights and trending topics
253
+ - Generating social media responses informed by sentiment analysis
254
+ - Developing marketing copy that addresses audience pain points
255
+ - Optimizing content for keywords discovered through social listening
256
+ - Building content calendars around community conversation patterns
@@ -0,0 +1,222 @@
1
+ ---
2
+ name: crowdlisten:content-strategy
3
+ description: Data-driven content strategy grounded in audience demand. Topic demand analysis, content gaps, platform optimization, voice matching, campaign tracking. Requires CROWDLISTEN_API_KEY.
4
+ user-invocable: true
5
+ allowed-tools: Bash, Read, Write, WebFetch, Grep
6
+ metadata:
7
+ openclaw:
8
+ category: content
9
+ tags: [content-strategy, demand-analysis, platform-optimization]
10
+ requires_api_key: true
11
+ ---
12
+
13
+ # Content Strategy
14
+
15
+ Create content your audience actually wants using CrowdListen audience intelligence.
16
+
17
+ Consolidates: content-strategy + campaign-tracker
18
+
19
+ ## Before You Start
20
+
21
+ Ask your human for business context — this skill produces significantly better output when grounded in specifics:
22
+
23
+ - **Target market**: Who are the customers? What industry/segment?
24
+ - **Key competitors**: Which brands or products to compare against?
25
+ - **Constraints**: Budget, timeline, geographic focus?
26
+ - **Decision context**: What decisions will this analysis inform? (roadmap, funding, positioning, hiring?)
27
+ - **Existing data**: Any prior research, internal metrics, or hypotheses to validate?
28
+
29
+ ## When to Use This Skill
30
+
31
+ - Content calendar planning with audience-validated topics
32
+ - Finding content gaps competitors haven't covered
33
+ - Optimizing content format and timing per platform
34
+ - Adapting brand voice to match audience communication style
35
+ - Measuring content resonance and adjusting strategy
36
+ - Product launches and campaign performance monitoring
37
+ - Real-time sentiment tracking during launch windows
38
+ - Crisis early warning and message resonance scoring
39
+
40
+ ## Foundation: CrowdListen Tools
41
+
42
+ This skill builds on CrowdListen's core capabilities:
43
+ - `search_content` — Find what audiences discuss and engage with
44
+ - `get_trending_content` — Identify trending topics in your category
45
+ - `analyze_content` — Extract themes and engagement patterns
46
+ - `cluster_opinions` — Group audience interests by theme
47
+ - `deep_platform_analysis` — Platform-specific engagement patterns
48
+ - `sentiment_evolution_tracker` — Track sentiment changes during campaign windows
49
+ - `cross_platform_synthesis` — Compare reception across platforms
50
+
51
+ ## Workflows
52
+
53
+ ### 1. Topic Demand Analysis
54
+
55
+ Discover which topics your audience actively seeks and engages with.
56
+
57
+ **Process**:
58
+ 1. Search for category-related discussions across platforms
59
+ 2. Rank topics by: engagement (upvotes, shares, comments), recency, sentiment
60
+ 3. Categorize as: evergreen (stable demand), trending (rising), declining (falling)
61
+ 4. Cross-reference with competitor content output
62
+
63
+ **Output Template**:
64
+ ```markdown
65
+ ## Topic Demand Report — [Category]
66
+
67
+ ### High-Demand Topics
68
+ | Rank | Topic | Engagement | Platforms | Type | Competitor Coverage |
69
+ |------|-------|-----------|-----------|------|-------------------|
70
+ | 1 | [Topic] | [score] | [platforms] | [Evergreen/Trending] | [Saturated/Moderate/Low] |
71
+ | 2 | [Topic] | [score] | [platforms] | [Evergreen/Trending] | [Saturated/Moderate/Low] |
72
+
73
+ ### Recommended Content Calendar (Next 4 Weeks)
74
+ | Week | Topic | Format | Platform | Rationale |
75
+ |------|-------|--------|----------|-----------|
76
+ | 1 | [Topic] | [Blog/Video/Thread] | [Platform] | [Why now, audience evidence] |
77
+ | 2 | [Topic] | [Blog/Video/Thread] | [Platform] | [Why now, audience evidence] |
78
+ ```
79
+
80
+ ### 2. Content Gap Finder
81
+
82
+ Identify topics your audience discusses but no brand adequately covers.
83
+
84
+ **Process**:
85
+ 1. Map audience discussion topics vs. existing brand content (yours + competitors)
86
+ 2. Find high-engagement topics with low brand content coverage
87
+ 3. Score each gap by: demand strength, competitive emptiness, brand fit
88
+
89
+ **Output Template**:
90
+ ```markdown
91
+ ## Content Gaps — [Category]
92
+
93
+ | Gap Topic | Audience Demand | Brand Coverage | Opportunity Score |
94
+ |-----------|----------------|---------------|------------------|
95
+ | [Topic] | [High/Med] | [None/Minimal] | [score] |
96
+
97
+ ### Top Gap: [Topic]
98
+ **What audiences are saying**: [synthesis from social discussions]
99
+ **Why no brand covers this**: [hypothesis]
100
+ **Your angle**: [how to approach this uniquely]
101
+ **Suggested format**: [best format based on platform engagement data]
102
+ **Expected performance**: [engagement estimate based on similar content]
103
+ ```
104
+
105
+ ### 3. Platform Format Optimization
106
+
107
+ Determine which content formats perform best per platform for your audience.
108
+
109
+ **Process**:
110
+ 1. Analyze engagement patterns by content format across platforms
111
+ 2. Compare: long-form vs. short-form, visual vs. text, educational vs. entertaining
112
+ 3. Identify platform-specific winning patterns
113
+
114
+ **Output Template**:
115
+ ```markdown
116
+ ## Format Performance by Platform
117
+
118
+ | Platform | Top Format | Engagement Rate | Audience Preference | Your Current Mix |
119
+ |----------|-----------|-----------------|--------------------|-----------------|
120
+ | Reddit | [format] | [score] | [what they respond to] | [what you post] |
121
+ | Twitter/X | [format] | [score] | [what they respond to] | [what you post] |
122
+ | YouTube | [format] | [score] | [what they respond to] | [what you post] |
123
+ | TikTok | [format] | [score] | [what they respond to] | [what you post] |
124
+
125
+ ### Optimization Recommendations
126
+ - **Start doing**: [format/platform combination not currently used]
127
+ - **Do more of**: [format/platform that's working but underinvested]
128
+ - **Stop doing**: [format/platform that's underperforming]
129
+ ```
130
+
131
+ ### 4. Voice & Tone Matching
132
+
133
+ Adapt brand voice to match how your audience actually communicates.
134
+
135
+ **Process**:
136
+ 1. Analyze language patterns in high-engagement audience discussions
137
+ 2. Extract: vocabulary, sentence structure, formality level, humor usage, emoji patterns
138
+ 3. Compare with current brand voice
139
+ 4. Generate voice guide that bridges brand identity and audience expectations
140
+
141
+ **Output Template**:
142
+ ```markdown
143
+ ## Audience Voice Profile
144
+
145
+ ### How Your Audience Talks
146
+ - **Formality**: [Casual / Semi-formal / Professional]
147
+ - **Tone**: [Irreverent / Thoughtful / Urgent / Playful]
148
+ - **Vocabulary**: [Technical / Accessible / Slang-heavy]
149
+ - **Sentence length**: [Short punchy / Medium / Long analytical]
150
+ - **Common phrases**: "[phrase 1]", "[phrase 2]", "[phrase 3]"
151
+
152
+ ### Voice Gap Analysis
153
+ | Dimension | Your Brand | Your Audience | Gap |
154
+ |-----------|-----------|---------------|-----|
155
+ | Formality | [level] | [level] | [match/mismatch] |
156
+ | Jargon use | [level] | [level] | [match/mismatch] |
157
+ | Humor | [level] | [level] | [match/mismatch] |
158
+
159
+ ### Recommended Voice Adjustments
160
+ - [Specific adjustment with before/after example]
161
+ - [Specific adjustment with before/after example]
162
+ ```
163
+
164
+ ### 5. Campaign Tracking
165
+
166
+ Monitor real-time audience reaction during a campaign or launch window.
167
+
168
+ **Process**:
169
+ 1. Define tracking window (pre-launch, launch day, post-launch)
170
+ 2. Search for campaign-related keywords, hashtags, product mentions
171
+ 3. Track sentiment at regular intervals (hourly during launch, daily after)
172
+ 4. Identify sentiment inflection points and their causes
173
+
174
+ **Output Template**:
175
+ ```markdown
176
+ ## Launch Tracker — [Campaign Name]
177
+
178
+ ### Sentiment Timeline
179
+ | Time | Sentiment | Volume | Key Driver |
180
+ |------|-----------|--------|-----------|
181
+ | Pre-launch | [score] | [count] | [anticipation/skepticism/neutral] |
182
+ | Launch +1h | [score] | [count] | [initial reactions] |
183
+ | Launch +24h | [score] | [count] | [settling sentiment] |
184
+
185
+ ### Overall Reception
186
+ - **Net sentiment**: [positive/negative/mixed]
187
+ - **Volume vs. expectation**: [above/at/below] baseline
188
+ - **Surprise reactions**: [anything unexpected]
189
+ ```
190
+
191
+ ### 6. Message Resonance Scoring
192
+
193
+ Evaluate which campaign messages land and which fall flat.
194
+
195
+ **Process**:
196
+ 1. Identify distinct messages/claims in the campaign
197
+ 2. Search for audience reactions to each specific message
198
+ 3. Score resonance: echoed > engaged > ignored > rejected
199
+
200
+ **Output Template**:
201
+ ```markdown
202
+ ## Message Resonance — [Campaign Name]
203
+
204
+ | Message | Resonance | Echo Rate | Sentiment | Verdict |
205
+ |---------|-----------|-----------|-----------|---------|
206
+ | "[Message 1]" | [Echoed/Engaged/Ignored/Rejected] | [%] | [+/-] | [Keep/Refine/Drop] |
207
+
208
+ ### Strongest Message: "[Message]"
209
+ **Why it resonates**: [analysis with audience quotes]
210
+ **Amplification opportunity**: [how to lean in]
211
+ ```
212
+
213
+ ## Integration with CrowdListen
214
+
215
+ This skill enhances CrowdListen analyses by:
216
+ - Transforming audience insights into actionable content plans
217
+ - Validating content ideas against real audience demand data
218
+ - Optimizing content distribution based on platform behavior patterns
219
+ - Aligning brand voice with audience expectations
220
+ - Measuring content strategy effectiveness through ongoing audience monitoring
221
+ - Providing real-time campaign intelligence during critical launch windows
222
+ - Enabling rapid response to negative sentiment shifts