@anysiteio/agent-skills 1.4.0 → 2.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.
- package/.claude-plugin/marketplace.json +49 -1
- package/.claude-plugin/plugin.json +5 -1
- package/README.md +27 -33
- package/bin/install.js +186 -135
- package/bundles.json +19 -0
- package/package.json +3 -2
- package/skills/anysite-audience-analysis/SKILL.md +110 -38
- package/skills/anysite-audience-analysis/references/PLATFORM_COVERAGE.md +38 -19
- package/skills/anysite-audience-analysis/references/TOOL_MAPPING.md +16 -11
- package/skills/anysite-brand-reputation/SKILL.md +105 -43
- package/skills/anysite-competitor-analyzer/SKILL.md +170 -111
- package/skills/anysite-competitor-intelligence/SKILL.md +201 -116
- package/skills/anysite-competitor-intelligence/references/ANALYSIS_PATTERNS.md +17 -13
- package/skills/anysite-content-analytics/SKILL.md +101 -33
- package/skills/anysite-crm-account-brief/SKILL.md +71 -0
- package/skills/anysite-crm-audit/SKILL.md +59 -0
- package/skills/anysite-crm-champions/SKILL.md +76 -0
- package/skills/anysite-crm-competitor-intel/SKILL.md +74 -0
- package/skills/anysite-crm-enrich/SKILL.md +84 -0
- package/skills/anysite-crm-lookalikes/SKILL.md +64 -0
- package/skills/anysite-crm-prospect/SKILL.md +90 -0
- package/skills/anysite-crm-score/SKILL.md +72 -0
- package/skills/anysite-crm-setup/SKILL.md +147 -0
- package/skills/anysite-crm-signals/SKILL.md +96 -0
- package/skills/anysite-influencer-discovery/SKILL.md +123 -71
- package/skills/anysite-lead-generation/SKILL.md +288 -256
- package/skills/anysite-lead-generation/references/LINKEDIN_STRATEGIES.md +79 -71
- package/skills/anysite-lead-generation/references/WEB_SCRAPING.md +121 -87
- package/skills/anysite-market-research/SKILL.md +117 -68
- package/skills/anysite-mcp/SKILL.md +128 -0
- package/skills/anysite-mcp-migration/SKILL.md +19 -8
- package/skills/anysite-person-analyzer/SKILL.md +86 -53
- package/skills/anysite-trend-analysis/SKILL.md +119 -55
- package/skills/anysite-vc-analyst/SKILL.md +12 -2
- package/skills/competitor-discovery/SKILL.md +350 -0
- package/skills/customer-pain-mining/SKILL.md +318 -0
- package/skills/positioning-map/SKILL.md +314 -0
|
@@ -28,9 +28,9 @@ Understand your audience through demographic analysis, engagement patterns, and
|
|
|
28
28
|
**Step 1: Identify Audience Source**
|
|
29
29
|
|
|
30
30
|
Choose platform:
|
|
31
|
-
- Instagram: `
|
|
32
|
-
- YouTube: `
|
|
33
|
-
- LinkedIn: `
|
|
31
|
+
- Instagram: `execute("instagram", "user", "user", {"user": "..."})` + `execute("instagram", "user", "user_friendships", {"user": "...", "count": 100, "type": "followers"})`
|
|
32
|
+
- YouTube: `execute("youtube", "channel", "channel_videos", {"channel": "...", "count": 50})` + comment analysis
|
|
33
|
+
- LinkedIn: `execute("linkedin", "post", "get_user_posts", {"user": "...", "count": 50})` + engagement analysis
|
|
34
34
|
|
|
35
35
|
**Step 2: Collect Audience Data**
|
|
36
36
|
|
|
@@ -48,6 +48,8 @@ Look for:
|
|
|
48
48
|
- Content preferences
|
|
49
49
|
- Peak activity times
|
|
50
50
|
|
|
51
|
+
Use `query_cache()` to filter and aggregate cached data without re-fetching.
|
|
52
|
+
|
|
51
53
|
**Step 4: Generate Insights**
|
|
52
54
|
|
|
53
55
|
Deliver:
|
|
@@ -56,6 +58,8 @@ Deliver:
|
|
|
56
58
|
- Content recommendations
|
|
57
59
|
- Targeting suggestions
|
|
58
60
|
|
|
61
|
+
Use `export_data()` to provide downloadable CSV/JSON files.
|
|
62
|
+
|
|
59
63
|
## Common Workflows
|
|
60
64
|
|
|
61
65
|
### Workflow 1: Instagram Audience Analysis
|
|
@@ -64,37 +68,48 @@ Deliver:
|
|
|
64
68
|
|
|
65
69
|
1. **Get Profile Overview**
|
|
66
70
|
```
|
|
67
|
-
|
|
68
|
-
→ Follower count, post count, bio
|
|
71
|
+
execute("instagram", "user", "user", {"user": "username"})
|
|
72
|
+
→ Follower count (follower_count), post count (media_count), bio (description)
|
|
73
|
+
→ Fields: id, alias, name, url, image, follower_count, following_count, description, media_count, is_private, is_verified, is_business, category, external_url, email, location
|
|
69
74
|
```
|
|
70
75
|
|
|
71
76
|
2. **Analyze Followers** (sample)
|
|
72
77
|
```
|
|
73
|
-
|
|
74
|
-
user
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
)
|
|
78
|
+
execute("instagram", "user", "user_friendships", {
|
|
79
|
+
"user": "username",
|
|
80
|
+
"count": 100,
|
|
81
|
+
"type": "followers"
|
|
82
|
+
})
|
|
83
|
+
→ Fields: id, name, alias, url, image, is_verified, is_private
|
|
78
84
|
|
|
79
85
|
For each follower (sample):
|
|
80
86
|
- Profile type (personal, business, creator)
|
|
81
87
|
- Bio indicators (interests, location)
|
|
82
88
|
- Follower count (influence level)
|
|
89
|
+
|
|
90
|
+
Use get_page(cache_key, offset=10, limit=10) to load more followers.
|
|
83
91
|
```
|
|
84
92
|
|
|
85
93
|
3. **Engagement Pattern Analysis**
|
|
86
94
|
```
|
|
87
|
-
|
|
95
|
+
execute("instagram", "user", "user_posts", {"user": "username", "count": 50})
|
|
96
|
+
→ Fields: id, code, url, image, text, created_at, like_count, comment_count, reshare_count, view_count, type, is_paid_partnership
|
|
88
97
|
|
|
89
98
|
For each post:
|
|
90
|
-
|
|
91
|
-
|
|
99
|
+
execute("instagram", "post", "post_likes", {"post": "{id}", "count": 100})
|
|
100
|
+
→ Fields: id, name, alias, url, image, is_verified, is_private
|
|
101
|
+
|
|
102
|
+
execute("instagram", "post", "post_comments", {"post": "{id}", "count": 50})
|
|
103
|
+
→ Fields: id, comment_index, created_at, text, like_count, reply_count, parent_id, user
|
|
92
104
|
|
|
93
105
|
Analyze:
|
|
94
106
|
- Who engages most (power users)
|
|
95
|
-
- When engagement happens (timing)
|
|
107
|
+
- When engagement happens (timing via created_at)
|
|
96
108
|
- What content drives engagement
|
|
97
109
|
- Comment quality and topics
|
|
110
|
+
|
|
111
|
+
Use query_cache(cache_key, sort_by={"field": "like_count", "order": "desc"})
|
|
112
|
+
to find top-performing posts without re-fetching.
|
|
98
113
|
```
|
|
99
114
|
|
|
100
115
|
4. **Audience Segmentation**
|
|
@@ -104,6 +119,9 @@ Group followers by:
|
|
|
104
119
|
- Interests (from bios)
|
|
105
120
|
- Location (from profiles)
|
|
106
121
|
- Influence (follower counts)
|
|
122
|
+
|
|
123
|
+
Use query_cache(cache_key, conditions=[{"field": "is_verified", "op": "eq", "value": true}])
|
|
124
|
+
to filter verified followers.
|
|
107
125
|
```
|
|
108
126
|
|
|
109
127
|
**Expected Output**:
|
|
@@ -112,28 +130,37 @@ Group followers by:
|
|
|
112
130
|
- Top engaged followers
|
|
113
131
|
- Content preferences
|
|
114
132
|
|
|
133
|
+
Use `export_data(cache_key, "csv")` to provide a downloadable follower/engagement report.
|
|
134
|
+
|
|
115
135
|
### Workflow 2: YouTube Audience Insights
|
|
116
136
|
|
|
117
137
|
**Steps**:
|
|
118
138
|
|
|
119
139
|
1. **Channel Overview**
|
|
120
140
|
```
|
|
121
|
-
|
|
141
|
+
execute("youtube", "channel", "channel_videos", {"channel": "@channel_alias", "count": 50})
|
|
142
|
+
→ Fields: id, title, url, author, duration_seconds, view_count, published_at, image
|
|
122
143
|
|
|
123
144
|
Aggregate:
|
|
124
|
-
- Total views
|
|
125
|
-
-
|
|
126
|
-
-
|
|
145
|
+
- Total views (sum view_count)
|
|
146
|
+
- Content mix (by duration, topic)
|
|
147
|
+
- Publishing frequency (by published_at)
|
|
148
|
+
|
|
149
|
+
Use query_cache(cache_key, aggregate={"field": "view_count", "op": "sum"})
|
|
150
|
+
to get total views.
|
|
127
151
|
```
|
|
128
152
|
|
|
129
153
|
2. **Viewer Engagement Analysis**
|
|
130
154
|
```
|
|
131
155
|
For recent videos:
|
|
132
|
-
|
|
133
|
-
→
|
|
156
|
+
execute("youtube", "video", "video", {"video": "{video_id}"})
|
|
157
|
+
→ Fields: id, url, title, description, author, duration_seconds, view_count, subtitles
|
|
134
158
|
|
|
135
|
-
|
|
159
|
+
execute("youtube", "video", "video_comments", {"video": "{video_id}", "count": 200})
|
|
160
|
+
→ Fields: id, text, author, published_at, like_count, reply_count, reply_level
|
|
136
161
|
→ Analyze commenter patterns
|
|
162
|
+
|
|
163
|
+
Use get_page(cache_key, offset=10, limit=10) to load more comments.
|
|
137
164
|
```
|
|
138
165
|
|
|
139
166
|
3. **Audience Demographics from Comments**
|
|
@@ -143,6 +170,12 @@ From comments analyze:
|
|
|
143
170
|
- Topics discussed (interests)
|
|
144
171
|
- Language and tone
|
|
145
172
|
- Technical depth
|
|
173
|
+
|
|
174
|
+
Use query_cache(cache_key, conditions=[{"field": "text", "op": "contains", "value": "?"}])
|
|
175
|
+
to filter questions from comments.
|
|
176
|
+
|
|
177
|
+
Use query_cache(cache_key, sort_by={"field": "like_count", "order": "desc"})
|
|
178
|
+
to find most popular comments.
|
|
146
179
|
```
|
|
147
180
|
|
|
148
181
|
4. **Content Performance by Audience**
|
|
@@ -150,7 +183,9 @@ From comments analyze:
|
|
|
150
183
|
Correlate:
|
|
151
184
|
- High-view videos → audience interests
|
|
152
185
|
- High-comment videos → engagement topics
|
|
153
|
-
|
|
186
|
+
|
|
187
|
+
Use query_cache(cache_key, sort_by={"field": "view_count", "order": "desc"})
|
|
188
|
+
to rank videos by performance metrics.
|
|
154
189
|
```
|
|
155
190
|
|
|
156
191
|
**Expected Output**:
|
|
@@ -165,7 +200,7 @@ Correlate:
|
|
|
165
200
|
|
|
166
201
|
1. **Get Post History**
|
|
167
202
|
```
|
|
168
|
-
|
|
203
|
+
execute("linkedin", "post", "get_user_posts", {"user": "{alias}", "count": 50})
|
|
169
204
|
```
|
|
170
205
|
|
|
171
206
|
2. **Analyze Engagement**
|
|
@@ -175,6 +210,9 @@ For each post:
|
|
|
175
210
|
- Comment depth
|
|
176
211
|
- Share count
|
|
177
212
|
- Post reach indicators
|
|
213
|
+
|
|
214
|
+
Use query_cache(cache_key, sort_by={"field": "reactions", "order": "desc"})
|
|
215
|
+
to find most engaging posts.
|
|
178
216
|
```
|
|
179
217
|
|
|
180
218
|
3. **Profile Engagers** (if accessible)
|
|
@@ -184,6 +222,9 @@ From reactions/comments:
|
|
|
184
222
|
- Industries
|
|
185
223
|
- Companies
|
|
186
224
|
- Seniority levels
|
|
225
|
+
|
|
226
|
+
Use execute("linkedin", "user", "get", {"user": "{engager_alias}"})
|
|
227
|
+
to get full profiles of top engagers.
|
|
187
228
|
```
|
|
188
229
|
|
|
189
230
|
4. **Content-Audience Mapping**
|
|
@@ -193,6 +234,9 @@ Correlate:
|
|
|
193
234
|
- Which formats perform best
|
|
194
235
|
- Which audiences engage with what
|
|
195
236
|
- When different audiences are active
|
|
237
|
+
|
|
238
|
+
Use query_cache(cache_key, aggregate={"field": "reactions", "op": "avg"}, group_by="post_type")
|
|
239
|
+
to analyze performance by content type.
|
|
196
240
|
```
|
|
197
241
|
|
|
198
242
|
**Expected Output**:
|
|
@@ -203,21 +247,49 @@ Correlate:
|
|
|
203
247
|
|
|
204
248
|
## MCP Tools Reference
|
|
205
249
|
|
|
206
|
-
###
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
250
|
+
### v2 Meta-Tools
|
|
251
|
+
|
|
252
|
+
| Tool | Purpose |
|
|
253
|
+
|------|---------|
|
|
254
|
+
| `discover(source, category)` | Learn available endpoints and params before execute |
|
|
255
|
+
| `execute(source, category, endpoint, params)` | Fetch data — replaces all v1 tools |
|
|
256
|
+
| `get_page(cache_key, offset, limit)` | Load more items from previous execute |
|
|
257
|
+
| `query_cache(cache_key, conditions, sort_by, aggregate, group_by)` | Filter/sort/aggregate cached data |
|
|
258
|
+
| `export_data(cache_key, format)` | Export dataset as CSV/JSON/JSONL |
|
|
259
|
+
|
|
260
|
+
### Instagram Endpoints
|
|
261
|
+
|
|
262
|
+
| Endpoint | Call | Key Params |
|
|
263
|
+
|----------|------|------------|
|
|
264
|
+
| Profile | `execute("instagram", "user", "user", {"user": "..."})` | `user` (alias/ID/URL) |
|
|
265
|
+
| Followers/Following | `execute("instagram", "user", "user_friendships", {"user": "...", "count": N, "type": "followers"})` | `user`, `count`, `type` (followers\|following) |
|
|
266
|
+
| User Posts | `execute("instagram", "user", "user_posts", {"user": "...", "count": N})` | `user`, `count` |
|
|
267
|
+
| User Reels | `execute("instagram", "user", "user_reels", {"user": "...", "count": N})` | `user`, `count` |
|
|
268
|
+
| Post Details | `execute("instagram", "post", "post", {"post": "{id}"})` | `post` (numeric post ID) |
|
|
269
|
+
| Post Likes | `execute("instagram", "post", "post_likes", {"post": "{id}", "count": N})` | `post`, `count` |
|
|
270
|
+
| Post Comments | `execute("instagram", "post", "post_comments", {"post": "{id}", "count": N})` | `post`, `count` |
|
|
271
|
+
|
|
272
|
+
### YouTube Endpoints
|
|
273
|
+
|
|
274
|
+
| Endpoint | Call | Key Params |
|
|
275
|
+
|----------|------|------------|
|
|
276
|
+
| Channel Videos | `execute("youtube", "channel", "channel_videos", {"channel": "...", "count": N})` | `channel` (URL/@alias/ID), `count` (max 1000) |
|
|
277
|
+
| Video Details | `execute("youtube", "video", "video", {"video": "..."})` | `video` (ID or URL) |
|
|
278
|
+
| Video Comments | `execute("youtube", "video", "video_comments", {"video": "...", "count": N})` | `video`, `count` (max 2000) |
|
|
279
|
+
| Video Subtitles | `execute("youtube", "video", "video_subtitles", {"video": "...", "lang": "en"})` | `video`, `lang` |
|
|
280
|
+
|
|
281
|
+
### LinkedIn Endpoints
|
|
282
|
+
|
|
283
|
+
| Endpoint | Call | Key Params |
|
|
284
|
+
|----------|------|------------|
|
|
285
|
+
| User Posts | `execute("linkedin", "post", "get_user_posts", {"user": "..."})` | `user` (alias) |
|
|
286
|
+
| User Profile | `execute("linkedin", "user", "get", {"user": "..."})` | `user` (alias) |
|
|
212
287
|
|
|
213
|
-
###
|
|
214
|
-
- `get_youtube_channel_videos` - Channel content
|
|
215
|
-
- `get_youtube_video` - Video metrics
|
|
216
|
-
- `get_youtube_video_comments` - Audience engagement
|
|
288
|
+
### Error Handling
|
|
217
289
|
|
|
218
|
-
|
|
219
|
-
- `
|
|
220
|
-
- `
|
|
290
|
+
- If `execute()` returns an error with `"llm_hint"`, follow the hint.
|
|
291
|
+
- If `execute()` returns `{"error": "Source not found", "available_sources": [...]}`, check source name.
|
|
292
|
+
- If `execute()` returns `{"error": "Endpoint not found", "available_endpoints": [...]}`, call `discover()` to find correct endpoint names.
|
|
221
293
|
|
|
222
294
|
## Audience Analysis Framework
|
|
223
295
|
|
|
@@ -253,12 +325,12 @@ Correlate:
|
|
|
253
325
|
- Content recommendations
|
|
254
326
|
- Strategic insights
|
|
255
327
|
|
|
256
|
-
**CSV Export
|
|
328
|
+
**CSV Export** via `export_data(cache_key, "csv")`:
|
|
257
329
|
- Follower sample data
|
|
258
330
|
- Engagement metrics
|
|
259
331
|
- Segment distribution
|
|
260
332
|
|
|
261
|
-
**JSON Export
|
|
333
|
+
**JSON Export** via `export_data(cache_key, "json")`:
|
|
262
334
|
- Complete audience data
|
|
263
335
|
- Engagement time series
|
|
264
336
|
- Segmentation details
|
|
@@ -2,16 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
## Instagram Capabilities
|
|
4
4
|
|
|
5
|
-
**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
**Available Endpoints** (source: `"instagram"`):
|
|
6
|
+
|
|
7
|
+
| Category | Endpoint | Call |
|
|
8
|
+
|----------|----------|------|
|
|
9
|
+
| user | `user` | `execute("instagram", "user", "user", {"user": "..."})` |
|
|
10
|
+
| user | `user_friendships` | `execute("instagram", "user", "user_friendships", {"user": "...", "count": N, "type": "followers"})` |
|
|
11
|
+
| user | `user_posts` | `execute("instagram", "user", "user_posts", {"user": "...", "count": N})` |
|
|
12
|
+
| user | `user_reels` | `execute("instagram", "user", "user_reels", {"user": "...", "count": N})` |
|
|
13
|
+
| post | `post` | `execute("instagram", "post", "post", {"post": "{id}"})` |
|
|
14
|
+
| post | `post_likes` | `execute("instagram", "post", "post_likes", {"post": "{id}", "count": N})` |
|
|
15
|
+
| post | `post_comments` | `execute("instagram", "post", "post_comments", {"post": "{id}", "count": N})` |
|
|
9
16
|
|
|
10
17
|
**Analysis Techniques**:
|
|
11
|
-
- Follower quality assessment
|
|
12
|
-
- Engagement pattern tracking
|
|
13
|
-
- Content preference analysis
|
|
14
|
-
- Audience segmentation
|
|
18
|
+
- Follower quality assessment via `user_friendships`
|
|
19
|
+
- Engagement pattern tracking via `user_posts` + `post_likes` + `post_comments`
|
|
20
|
+
- Content preference analysis via `query_cache()` with `sort_by`
|
|
21
|
+
- Audience segmentation via `query_cache()` with `group_by`
|
|
22
|
+
|
|
23
|
+
**Pagination**: Use `get_page(cache_key, offset, limit)` to load more followers/posts/comments.
|
|
15
24
|
|
|
16
25
|
**Limitations**:
|
|
17
26
|
- Can't access full follower list (privacy)
|
|
@@ -20,16 +29,22 @@
|
|
|
20
29
|
|
|
21
30
|
## YouTube Capabilities
|
|
22
31
|
|
|
23
|
-
**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
**Available Endpoints** (source: `"youtube"`):
|
|
33
|
+
|
|
34
|
+
| Category | Endpoint | Call |
|
|
35
|
+
|----------|----------|------|
|
|
36
|
+
| channel | `channel_videos` | `execute("youtube", "channel", "channel_videos", {"channel": "...", "count": N})` |
|
|
37
|
+
| video | `video` | `execute("youtube", "video", "video", {"video": "..."})` |
|
|
38
|
+
| video | `video_comments` | `execute("youtube", "video", "video_comments", {"video": "...", "count": N})` |
|
|
39
|
+
| video | `video_subtitles` | `execute("youtube", "video", "video_subtitles", {"video": "...", "lang": "en"})` |
|
|
27
40
|
|
|
28
41
|
**Analysis Techniques**:
|
|
29
|
-
- Viewer interest profiling
|
|
30
|
-
- Content performance analysis
|
|
42
|
+
- Viewer interest profiling from comments
|
|
43
|
+
- Content performance analysis via `query_cache()` with `sort_by`
|
|
31
44
|
- Community engagement assessment
|
|
32
45
|
|
|
46
|
+
**Pagination**: Use `get_page(cache_key, offset, limit)` to load more comments (max 2000 per request).
|
|
47
|
+
|
|
33
48
|
**Limitations**:
|
|
34
49
|
- No direct subscriber access
|
|
35
50
|
- Demographics inferred from comments
|
|
@@ -37,16 +52,20 @@
|
|
|
37
52
|
|
|
38
53
|
## LinkedIn Capabilities
|
|
39
54
|
|
|
40
|
-
**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
55
|
+
**Available Endpoints** (source: `"linkedin"`):
|
|
56
|
+
|
|
57
|
+
| Category | Endpoint | Call |
|
|
58
|
+
|----------|----------|------|
|
|
59
|
+
| post | `get_user_posts` | `execute("linkedin", "post", "get_user_posts", {"user": "..."})` |
|
|
60
|
+
| user | `get` | `execute("linkedin", "user", "get", {"user": "..."})` |
|
|
44
61
|
|
|
45
62
|
**Analysis Techniques**:
|
|
46
63
|
- Professional demographic profiling
|
|
47
|
-
- Industry and seniority analysis
|
|
64
|
+
- Industry and seniority analysis via `query_cache()` with `group_by`
|
|
48
65
|
- Content-audience matching
|
|
49
66
|
|
|
67
|
+
**Aggregation**: Use `query_cache(cache_key, aggregate={"field": "reactions", "op": "avg"}, group_by="post_type")` for performance analysis.
|
|
68
|
+
|
|
50
69
|
**Limitations**:
|
|
51
70
|
- Privacy settings limit visibility
|
|
52
71
|
- Sample-based analysis
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# Audience Analysis Tool Mapping
|
|
1
|
+
# Audience Analysis Tool Mapping (v2)
|
|
2
2
|
|
|
3
|
-
## Analysis Need → MCP
|
|
3
|
+
## Analysis Need → MCP v2 Calls
|
|
4
4
|
|
|
5
5
|
**Follower Demographics**:
|
|
6
|
-
- Instagram: `
|
|
7
|
-
- LinkedIn: `
|
|
6
|
+
- Instagram: `execute("instagram", "user", "user_friendships", {"user": "...", "count": 100, "type": "followers"})` → sample analysis
|
|
7
|
+
- LinkedIn: `execute("linkedin", "user", "get", {"user": "..."})` → professional data
|
|
8
8
|
|
|
9
9
|
**Engagement Patterns**:
|
|
10
|
-
- Instagram: `
|
|
11
|
-
- YouTube: `
|
|
12
|
-
- LinkedIn: `
|
|
10
|
+
- Instagram: `execute("instagram", "user", "user_posts", {"user": "...", "count": 50})` + `execute("instagram", "post", "post_likes", {"post": "{id}", "count": 100})` + `execute("instagram", "post", "post_comments", {"post": "{id}", "count": 50})`
|
|
11
|
+
- YouTube: `execute("youtube", "video", "video", {"video": "..."})` + `execute("youtube", "video", "video_comments", {"video": "...", "count": 200})`
|
|
12
|
+
- LinkedIn: `execute("linkedin", "post", "get_user_posts", {"user": "..."})`
|
|
13
13
|
|
|
14
14
|
**Audience Growth**:
|
|
15
15
|
- Track follower counts over time
|
|
@@ -18,10 +18,15 @@
|
|
|
18
18
|
|
|
19
19
|
**Content Preferences**:
|
|
20
20
|
- Correlate content types with engagement
|
|
21
|
-
-
|
|
22
|
-
- Track topic performance
|
|
21
|
+
- Use `query_cache(cache_key, sort_by={"field": "like_count", "order": "desc"})` to rank top-performing posts
|
|
22
|
+
- Track topic performance with `query_cache(cache_key, aggregate=..., group_by=...)`
|
|
23
23
|
|
|
24
24
|
**Audience Quality**:
|
|
25
|
-
- Analyze follower profiles
|
|
25
|
+
- Analyze follower profiles via `execute("instagram", "user", "user", {"user": "..."})`
|
|
26
26
|
- Check engagement authenticity
|
|
27
|
-
- Assess comment quality
|
|
27
|
+
- Assess comment quality via `execute("instagram", "post", "post_comments", {"post": "{id}", "count": 50})`
|
|
28
|
+
- Use `query_cache()` to filter suspicious patterns
|
|
29
|
+
|
|
30
|
+
**Data Export**:
|
|
31
|
+
- Use `export_data(cache_key, "csv")` for spreadsheet analysis
|
|
32
|
+
- Use `export_data(cache_key, "json")` for programmatic processing
|