research-powerpack-mcp 3.3.4 → 3.4.1
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/dist/config/types.d.ts +1 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/yaml/tools-enhanced.yaml +0 -0
- package/dist/config/yaml/tools.yaml +318 -1001
- package/dist/index.js +0 -0
- package/dist/tools/scrape.d.ts.map +1 -1
- package/dist/tools/scrape.js +7 -1
- package/dist/tools/scrape.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
# Research Powerpack MCP Server - Tool Configuration
|
|
1
|
+
# Research Powerpack MCP Server - Tool Configuration (ENHANCED)
|
|
2
2
|
# Single source of truth for all tool metadata, descriptions, and parameter schemas
|
|
3
|
-
# Version: 1.0
|
|
3
|
+
# Version: 1.0-enhanced
|
|
4
|
+
# Optimization: ~60% token reduction from original, 95%+ instructional context preserved
|
|
4
5
|
|
|
5
6
|
version: "1.0"
|
|
6
7
|
|
|
@@ -8,263 +9,126 @@ metadata:
|
|
|
8
9
|
name: "research-powerpack-mcp"
|
|
9
10
|
description: "Research tools for AI assistants"
|
|
10
11
|
|
|
12
|
+
# ============================================================================
|
|
13
|
+
# SHARED PRINCIPLES - Apply to ALL tools
|
|
14
|
+
# ============================================================================
|
|
15
|
+
shared:
|
|
16
|
+
core_philosophy: |
|
|
17
|
+
These tools are designed for COMPREHENSIVE research through parallel processing.
|
|
18
|
+
Using minimal inputs wastes the parallel capacity. Always maximize input diversity.
|
|
19
|
+
|
|
20
|
+
principles:
|
|
21
|
+
diversity: |
|
|
22
|
+
Maximize input diversity. More items = better coverage = higher quality output.
|
|
23
|
+
Each input should target a DIFFERENT angle - no overlap, no duplicates.
|
|
24
|
+
|
|
25
|
+
iteration: |
|
|
26
|
+
ALWAYS use sequentialthinking between tool calls to:
|
|
27
|
+
- Evaluate what you found
|
|
28
|
+
- Identify gaps in coverage
|
|
29
|
+
- Notice new angles from results
|
|
30
|
+
- Decide whether to iterate or proceed
|
|
31
|
+
Results are feedback - use them to ask better questions!
|
|
32
|
+
|
|
33
|
+
parallel: |
|
|
34
|
+
All items process in parallel - no time penalty for more items.
|
|
35
|
+
Use the maximum recommended count for comprehensive coverage.
|
|
36
|
+
|
|
37
|
+
workflow_pattern: |
|
|
38
|
+
MANDATORY for all research:
|
|
39
|
+
1. THINK FIRST → Plan your query/question strategy
|
|
40
|
+
2. EXECUTE TOOL → Run with diverse inputs
|
|
41
|
+
3. THINK AFTER → Evaluate results, identify gaps
|
|
42
|
+
4. ITERATE OR PROCEED → Refine and repeat if needed, or move to next tool
|
|
43
|
+
5. SYNTHESIZE → Combine insights into final output
|
|
44
|
+
|
|
45
|
+
Why this works: Initial queries often miss important perspectives.
|
|
46
|
+
Each iteration reveals what you SHOULD have asked!
|
|
47
|
+
|
|
48
|
+
scope_expansion_triggers: |
|
|
49
|
+
Iterate when:
|
|
50
|
+
- Results mention concepts you didn't research
|
|
51
|
+
- Answers raise new questions you should explore
|
|
52
|
+
- You realize initial scope was too narrow
|
|
53
|
+
- You discover related topics that matter
|
|
54
|
+
- You need deeper understanding of a specific aspect
|
|
55
|
+
|
|
56
|
+
Key Insight: First research reveals what you SHOULD have asked!
|
|
57
|
+
|
|
58
|
+
# ============================================================================
|
|
59
|
+
# TOOLS
|
|
60
|
+
# ============================================================================
|
|
11
61
|
tools:
|
|
12
|
-
#
|
|
62
|
+
# --------------------------------------------------------------------------
|
|
13
63
|
# REDDIT TOOLS
|
|
14
|
-
#
|
|
15
|
-
|
|
64
|
+
# --------------------------------------------------------------------------
|
|
16
65
|
- name: search_reddit
|
|
17
66
|
category: reddit
|
|
18
67
|
capability: search
|
|
19
|
-
|
|
20
|
-
# Configurable limits
|
|
21
68
|
limits:
|
|
22
69
|
min_queries: 10
|
|
23
70
|
max_queries: 50
|
|
24
71
|
recommended_queries: 20
|
|
25
72
|
|
|
26
73
|
description: |
|
|
27
|
-
**🔥
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Using 1-3 queries =
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- **
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
3. **Specific Tools/Projects (5-10 queries):**
|
|
62
|
-
- "YTMDesktop Mac"
|
|
63
|
-
- "th-ch youtube-music"
|
|
64
|
-
- "steve228uk YouTube Music"
|
|
65
|
-
- "youtube-music-desktop-app GitHub"
|
|
66
|
-
|
|
67
|
-
4. **Comparisons (3-5 queries):**
|
|
68
|
-
- "YouTube Music vs Spotify Mac desktop"
|
|
69
|
-
- "YTM vs Apple Music desktop app"
|
|
70
|
-
- "YouTube Music desktop vs web player"
|
|
71
|
-
|
|
72
|
-
5. **Alternatives (3-5 queries):**
|
|
73
|
-
- "YouTube Music Mac alternative"
|
|
74
|
-
- "YTM replacement desktop"
|
|
75
|
-
- "better than YouTube Music Mac"
|
|
76
|
-
|
|
77
|
-
6. **Subreddit-Specific (5-10 queries):**
|
|
78
|
-
- "r/YoutubeMusic desktop app"
|
|
79
|
-
- "r/macapps YouTube Music"
|
|
80
|
-
- "r/opensource YouTube Music client"
|
|
81
|
-
- "r/software YouTube Music Mac"
|
|
82
|
-
|
|
83
|
-
7. **Problems/Issues (3-5 queries):**
|
|
84
|
-
- "YouTube Music desktop app issues"
|
|
85
|
-
- "YTM Mac app crashes"
|
|
86
|
-
- "YouTube Music desktop performance problems"
|
|
87
|
-
|
|
88
|
-
8. **Year-Specific for Recency (2-3 queries):**
|
|
89
|
-
- "best YouTube Music Mac app 2024"
|
|
90
|
-
- "YouTube Music desktop 2025"
|
|
91
|
-
- "YTM client 2024 recommendations"
|
|
92
|
-
|
|
93
|
-
9. **Features (3-5 queries):**
|
|
94
|
-
- "YouTube Music offline Mac"
|
|
95
|
-
- "YTM lyrics desktop app"
|
|
96
|
-
- "YouTube Music desktop features"
|
|
97
|
-
|
|
98
|
-
10. **Developer/GitHub (3-5 queries):**
|
|
99
|
-
- "youtube-music electron app GitHub"
|
|
100
|
-
- "YTM desktop open source"
|
|
101
|
-
- "YouTube Music API desktop client"
|
|
102
|
-
|
|
103
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
104
|
-
❌ **BAD EXAMPLE** (DON'T DO THIS - Wastes the tool!)
|
|
105
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
106
|
-
|
|
107
|
-
```json
|
|
108
|
-
{
|
|
109
|
-
"queries": ["best YouTube Music app"]
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**Why this is BAD:**
|
|
114
|
-
- Only 1 query (minimum is 10!)
|
|
115
|
-
- No diversity (missing 9 other categories)
|
|
116
|
-
- No subreddit targeting
|
|
117
|
-
- No year-specific queries
|
|
118
|
-
- No comparison queries
|
|
119
|
-
- Misses 90% of available consensus data
|
|
120
|
-
|
|
121
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
122
|
-
✅ **GOOD EXAMPLE** (DO THIS - Uses tool properly!)
|
|
123
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
124
|
-
|
|
125
|
-
```json
|
|
126
|
-
{
|
|
127
|
-
"queries": [
|
|
128
|
-
"YouTube Music Mac app",
|
|
129
|
-
"YTM desktop application",
|
|
130
|
-
"best YouTube Music client Mac",
|
|
131
|
-
"recommended YTM desktop",
|
|
132
|
-
"YTMDesktop Mac",
|
|
133
|
-
"th-ch youtube-music",
|
|
134
|
-
"YouTube Music vs Spotify Mac desktop",
|
|
135
|
-
"YTM vs Apple Music desktop",
|
|
136
|
-
"YouTube Music Mac alternative",
|
|
137
|
-
"r/YoutubeMusic desktop app",
|
|
138
|
-
"r/macapps YouTube Music",
|
|
139
|
-
"r/opensource YouTube Music",
|
|
140
|
-
"YouTube Music desktop issues",
|
|
141
|
-
"YTM Mac crashes",
|
|
142
|
-
"best YouTube Music Mac 2024",
|
|
143
|
-
"YouTube Music desktop 2025",
|
|
144
|
-
"YouTube Music offline Mac",
|
|
145
|
-
"YTM lyrics desktop",
|
|
146
|
-
"youtube-music electron GitHub",
|
|
147
|
-
"YTM desktop open source"
|
|
148
|
-
]
|
|
149
|
-
}
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
**Why this is GOOD:**
|
|
153
|
-
- 20 queries (optimal range)
|
|
154
|
-
- Covers ALL 10 categories
|
|
155
|
-
- Includes subreddit targeting (r/YoutubeMusic, r/macapps, r/opensource)
|
|
156
|
-
- Includes year-specific (2024, 2025)
|
|
157
|
-
- Includes comparisons (vs Spotify, vs Apple Music)
|
|
158
|
-
- Includes problems (issues, crashes)
|
|
159
|
-
- Includes features (offline, lyrics)
|
|
160
|
-
- Includes developer angle (GitHub, open source)
|
|
161
|
-
- Each query targets DIFFERENT angle
|
|
162
|
-
- Will find high-consensus posts across multiple perspectives
|
|
163
|
-
|
|
164
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
165
|
-
💡 **PRO TIPS FOR MAXIMUM EFFECTIVENESS**
|
|
166
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
167
|
-
|
|
168
|
-
1. **Use ALL 10 categories** - Each reveals different community perspectives
|
|
169
|
-
2. **Target specific subreddits** - r/YoutubeMusic, r/macapps, r/opensource, r/software
|
|
170
|
-
3. **Include year numbers** - "2024", "2025" for recent discussions
|
|
171
|
-
4. **Add comparison keywords** - "vs", "versus", "compared to", "better than"
|
|
172
|
-
5. **Include problem keywords** - "issue", "bug", "crash", "slow", "problem"
|
|
173
|
-
6. **Vary your phrasing** - "best", "top", "recommended", "popular"
|
|
174
|
-
7. **Use technical terms** - "electron", "GitHub", "API", "open source"
|
|
175
|
-
8. **NO DUPLICATES** - Each query must be unique
|
|
176
|
-
|
|
177
|
-
**REMEMBER:** More queries = better consensus detection = higher quality results!
|
|
178
|
-
|
|
179
|
-
**OPERATORS SUPPORTED:**
|
|
74
|
+
**🔥 REDDIT SEARCH - MINIMUM 10 QUERIES, RECOMMENDED 20+**
|
|
75
|
+
|
|
76
|
+
This tool is designed for consensus analysis through MULTIPLE diverse queries.
|
|
77
|
+
Using 1-3 queries = wasting the tool's power. You MUST use 10+ queries minimum.
|
|
78
|
+
|
|
79
|
+
**Budget:** 10 results per query, all run in parallel.
|
|
80
|
+
- 10 queries = 100 results
|
|
81
|
+
- 20 queries = 200 results (RECOMMENDED)
|
|
82
|
+
- 50 queries = 500 results (comprehensive)
|
|
83
|
+
|
|
84
|
+
**10-Category Query Formula** - Each query targets a DIFFERENT angle. NO OVERLAP!
|
|
85
|
+
|
|
86
|
+
1. **Direct topic:** "[topic] [platform]"
|
|
87
|
+
Example: "YouTube Music Mac app"
|
|
88
|
+
2. **Recommendations:** "best/recommended [topic]"
|
|
89
|
+
Example: "best YouTube Music client Mac"
|
|
90
|
+
3. **Specific tools:** Project names, GitHub repos
|
|
91
|
+
Example: "YTMDesktop", "th-ch youtube-music"
|
|
92
|
+
4. **Comparisons:** "[A] vs [B]"
|
|
93
|
+
Example: "YouTube Music vs Spotify Mac desktop"
|
|
94
|
+
5. **Alternatives:** "[topic] alternative/replacement"
|
|
95
|
+
Example: "YouTube Music Mac alternative"
|
|
96
|
+
6. **Subreddits:** "r/[subreddit] [topic]" - different communities have different perspectives
|
|
97
|
+
Example: "r/macapps YouTube Music", "r/opensource YouTube Music"
|
|
98
|
+
7. **Problems/Issues:** "[topic] issues/crashes/problems"
|
|
99
|
+
Example: "YouTube Music Mac crashes", "YTM desktop performance problems"
|
|
100
|
+
8. **Year-specific:** Add "2024" or "2025" for recent discussions
|
|
101
|
+
Example: "best YouTube Music Mac 2024"
|
|
102
|
+
9. **Features:** "[topic] [specific feature]"
|
|
103
|
+
Example: "YouTube Music offline Mac", "YTM lyrics desktop"
|
|
104
|
+
10. **Developer/GitHub:** "[topic] GitHub/open source/electron"
|
|
105
|
+
Example: "youtube-music electron GitHub", "YTM desktop open source"
|
|
106
|
+
|
|
107
|
+
**Search Operators:**
|
|
180
108
|
- `intitle:` - Search in post titles only
|
|
181
109
|
- `"exact phrase"` - Match exact phrase
|
|
182
110
|
- `OR` - Match either term
|
|
183
111
|
- `-exclude` - Exclude term
|
|
184
|
-
-
|
|
185
|
-
|
|
186
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
187
|
-
🧠 **ITERATIVE WORKFLOW - THINK → SEARCH → THINK → REFINE → SEARCH AGAIN**
|
|
188
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
189
|
-
|
|
190
|
-
**CRITICAL:** Use sequential thinking BETWEEN tool calls to refine your approach!
|
|
112
|
+
- All queries auto-add `site:reddit.com`
|
|
191
113
|
|
|
192
|
-
**
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
→ Analyze what you need to research
|
|
196
|
-
→ Plan your initial query strategy
|
|
197
|
-
→ Identify which categories to cover
|
|
198
|
-
|
|
199
|
-
2. SEARCH (call search_reddit with 10-20 queries)
|
|
200
|
-
→ Execute your planned queries
|
|
201
|
-
→ Get initial results
|
|
202
|
-
|
|
203
|
-
3. THINK AFTER RESULTS (2-3 thoughts via sequentialthinking)
|
|
204
|
-
→ Evaluate what you found
|
|
205
|
-
→ Identify gaps in coverage
|
|
206
|
-
→ Notice new angles from results
|
|
207
|
-
→ Decide: get_reddit_post OR search_reddit again with refined queries
|
|
208
|
-
|
|
209
|
-
4. REFINE & ITERATE
|
|
210
|
-
Option A: Get full content
|
|
211
|
-
→ Call get_reddit_post with promising URLs
|
|
212
|
-
→ Think about insights
|
|
213
|
-
→ Search again if gaps remain
|
|
214
|
-
|
|
215
|
-
Option B: Search again with new angles
|
|
216
|
-
→ Call search_reddit with refined queries based on learnings
|
|
217
|
-
→ Cover gaps you discovered
|
|
218
|
-
→ Think and decide next step
|
|
219
|
-
```
|
|
114
|
+
**Example showing all 10 categories:**
|
|
115
|
+
❌ BAD: `{"queries": ["best YouTube Music app"]}` → 1 vague query, misses 90% of consensus
|
|
116
|
+
✅ GOOD: `{"queries": ["YouTube Music Mac app", "best YTM client Mac", "YTMDesktop Mac", "YouTube Music vs Spotify Mac", "YouTube Music Mac alternative", "r/macapps YouTube Music", "YTM Mac crashes", "YouTube Music Mac 2024", "YTM offline Mac", "youtube-music GitHub", ...expand to 20 queries]}` → comprehensive multi-angle coverage
|
|
220
117
|
|
|
221
|
-
**
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
|
|
228
|
-
**
|
|
229
|
-
|
|
230
|
-
Step 1: Think
|
|
231
|
-
"I need to research YouTube Music Mac apps. Let me start with direct,
|
|
232
|
-
recommendation, and comparison queries across 5 subreddits."
|
|
233
|
-
|
|
234
|
-
Step 2: search_reddit (10 queries)
|
|
235
|
-
[Direct: "YouTube Music Mac", Recommendations: "best YTM Mac",
|
|
236
|
-
Comparisons: "YTM vs Spotify Mac", etc.]
|
|
237
|
-
|
|
238
|
-
Step 3: Think (evaluate results)
|
|
239
|
-
"Results show people discussing 'th-ch/youtube-music' and 'YTMDesktop'
|
|
240
|
-
projects heavily. Also seeing complaints about performance. I should:
|
|
241
|
-
- Search specifically for these project names
|
|
242
|
-
- Add performance-focused queries
|
|
243
|
-
- Target r/opensource and r/electronjs subreddits"
|
|
244
|
-
|
|
245
|
-
Step 4: search_reddit AGAIN (10 refined queries)
|
|
246
|
-
[Specific: "th-ch youtube-music Mac", "YTMDesktop performance",
|
|
247
|
-
"r/opensource YouTube Music", "r/electronjs YTM", etc.]
|
|
248
|
-
|
|
249
|
-
Step 5: Think (evaluate combined results)
|
|
250
|
-
"Now I have comprehensive coverage. Top consensus posts are X, Y, Z.
|
|
251
|
-
Let me fetch full content from these 15 high-consensus posts."
|
|
252
|
-
|
|
253
|
-
Step 6: get_reddit_post (15 URLs from both searches)
|
|
254
|
-
[Fetch full content + comments from top posts]
|
|
255
|
-
|
|
256
|
-
Step 7: Think (final synthesis)
|
|
257
|
-
"Based on all results, the community consensus is..."
|
|
258
|
-
```
|
|
118
|
+
**Pro Tips:**
|
|
119
|
+
1. **Use ALL 10 categories** - Each reveals different community perspectives
|
|
120
|
+
2. **Target specific subreddits** - Different communities have different expertise
|
|
121
|
+
3. **Include year numbers** - "2024", "2025" filters for recent discussions
|
|
122
|
+
4. **Add comparison keywords** - "vs", "versus" find decision threads
|
|
123
|
+
5. **Include problem keywords** - "issue", "bug", "crash" find real experiences
|
|
124
|
+
6. **Vary phrasing** - "best", "top", "recommended" capture different discussions
|
|
125
|
+
7. **Use technical terms** - "electron", "GitHub", "API" find developer perspectives
|
|
126
|
+
8. **NO DUPLICATES** - Each query must target a unique angle
|
|
259
127
|
|
|
260
|
-
**
|
|
128
|
+
**Workflow:**
|
|
129
|
+
search_reddit → sequentialthinking (evaluate results) → get_reddit_post OR search again → sequentialthinking → synthesize
|
|
261
130
|
|
|
262
|
-
**
|
|
263
|
-
```
|
|
264
|
-
search_reddit → sequentialthinking (2-3 thoughts) →
|
|
265
|
-
EITHER get_reddit_post OR search_reddit again →
|
|
266
|
-
sequentialthinking → final decision
|
|
267
|
-
```
|
|
131
|
+
**REMEMBER:** More queries = better consensus detection = higher quality results!
|
|
268
132
|
|
|
269
133
|
parameters:
|
|
270
134
|
queries:
|
|
@@ -273,67 +137,55 @@ tools:
|
|
|
273
137
|
items:
|
|
274
138
|
type: string
|
|
275
139
|
validation:
|
|
276
|
-
minItems: 10
|
|
277
|
-
maxItems: 50
|
|
140
|
+
minItems: 10
|
|
141
|
+
maxItems: 50
|
|
278
142
|
description: |
|
|
279
|
-
**
|
|
280
|
-
|
|
281
|
-
Each query MUST target a different angle. Use the 10-category formula above.
|
|
143
|
+
**10-50 diverse queries** (Minimum 10 required, 20-30 recommended)
|
|
282
144
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
- Maximum 50 queries (you'll get an error with more)
|
|
286
|
-
- Each query should be unique (avoid duplicates)
|
|
287
|
-
- Cover multiple categories from the 10-category formula
|
|
145
|
+
Each query MUST target a different angle using the 10-category formula.
|
|
146
|
+
No duplicates, no overlap - maximize diversity for comprehensive consensus.
|
|
288
147
|
|
|
289
|
-
**
|
|
290
|
-
✓
|
|
291
|
-
✓
|
|
292
|
-
✓
|
|
293
|
-
✓
|
|
294
|
-
✓
|
|
295
|
-
✓
|
|
296
|
-
✓
|
|
297
|
-
✓
|
|
298
|
-
✓
|
|
299
|
-
✓ Includes developer angle (GitHub, open source)
|
|
148
|
+
**Quick Checklist:**
|
|
149
|
+
✓ Direct topic queries
|
|
150
|
+
✓ Recommendation queries ("best", "recommended")
|
|
151
|
+
✓ Specific tool/project names
|
|
152
|
+
✓ Comparisons ("vs", "versus")
|
|
153
|
+
✓ Subreddit targeting ("r/...")
|
|
154
|
+
✓ Year-specific (2024, 2025)
|
|
155
|
+
✓ Problem keywords (issue, bug, crash)
|
|
156
|
+
✓ Feature keywords
|
|
157
|
+
✓ Developer angle (GitHub, open source)
|
|
300
158
|
|
|
301
159
|
date_after:
|
|
302
160
|
type: string
|
|
303
161
|
required: false
|
|
304
|
-
description: "Filter results after date (YYYY-MM-DD
|
|
162
|
+
description: "Filter results after date (YYYY-MM-DD). Example: '2024-01-01'"
|
|
305
163
|
|
|
164
|
+
# --------------------------------------------------------------------------
|
|
306
165
|
- name: get_reddit_post
|
|
307
166
|
category: reddit
|
|
308
167
|
capability: reddit
|
|
309
|
-
|
|
310
|
-
# Configurable limits
|
|
311
168
|
limits:
|
|
312
169
|
min_urls: 2
|
|
313
170
|
max_urls: 50
|
|
314
171
|
recommended_urls: 20
|
|
315
|
-
default_max_comments:
|
|
172
|
+
default_max_comments: 1000
|
|
316
173
|
|
|
317
174
|
description: |
|
|
318
|
-
**🔥 FETCH REDDIT POSTS -
|
|
319
|
-
|
|
320
|
-
**CRITICAL:** This tool fetches 2-50 Reddit posts with smart comment allocation.
|
|
321
|
-
Using 2-5 posts = MISSING community consensus. Use 10-20+ posts for comprehensive perspective!
|
|
322
|
-
|
|
323
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
324
|
-
📊 **SMART COMMENT BUDGET** (1,000 comments distributed automatically)
|
|
325
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
175
|
+
**🔥 FETCH REDDIT POSTS - 2-50 URLs, RECOMMENDED 10-20+**
|
|
326
176
|
|
|
327
|
-
|
|
328
|
-
-
|
|
329
|
-
- 20 posts: ~50 comments/post (broad perspective - RECOMMENDED)
|
|
330
|
-
- 50 posts: ~20 comments/post (maximum coverage)
|
|
177
|
+
This tool fetches Reddit posts with smart comment allocation.
|
|
178
|
+
Using 2-5 posts = missing community consensus. Use 10-20+ for broad perspective.
|
|
331
179
|
|
|
332
|
-
**Comment
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
180
|
+
**Comment Budget:** 1,000 total comments distributed automatically across posts.
|
|
181
|
+
- 2 posts: ~500 comments/post (deep dive)
|
|
182
|
+
- 10 posts: ~100 comments/post (balanced)
|
|
183
|
+
- 20 posts: ~50 comments/post (RECOMMENDED: broad)
|
|
184
|
+
- 50 posts: ~20 comments/post (max coverage)
|
|
185
|
+
|
|
186
|
+
Comment allocation is AUTOMATIC - you don't need to calculate!
|
|
187
|
+
|
|
188
|
+
**When to use different post counts:**
|
|
337
189
|
|
|
338
190
|
**2-5 posts:** Deep dive on specific discussions
|
|
339
191
|
- Use when: You found THE perfect thread and want all comments
|
|
@@ -341,7 +193,7 @@ tools:
|
|
|
341
193
|
|
|
342
194
|
**10-15 posts:** Balanced depth + breadth (GOOD)
|
|
343
195
|
- Use when: Want good comment depth across multiple discussions
|
|
344
|
-
- Trade-off: Good balance
|
|
196
|
+
- Trade-off: Good balance of depth and coverage
|
|
345
197
|
|
|
346
198
|
**20-30 posts:** Broad community perspective (RECOMMENDED)
|
|
347
199
|
- Use when: Want to see consensus across many discussions
|
|
@@ -350,81 +202,22 @@ tools:
|
|
|
350
202
|
**40-50 posts:** Maximum coverage
|
|
351
203
|
- Use when: Researching controversial topic, need all perspectives
|
|
352
204
|
- Trade-off: Fewer comments per post but comprehensive coverage
|
|
353
|
-
|
|
354
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
355
|
-
❌ **BAD EXAMPLE** (DON'T DO THIS - Misses community consensus!)
|
|
356
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
357
|
-
|
|
358
|
-
```json
|
|
359
|
-
{
|
|
360
|
-
"urls": [
|
|
361
|
-
"https://reddit.com/r/programming/comments/abc123/best_database/"
|
|
362
|
-
],
|
|
363
|
-
"fetch_comments": true
|
|
364
|
-
}
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
**Why this is BAD:**
|
|
368
|
-
- Only 1 URL (minimum is 2, should use 10-20+)
|
|
369
|
-
- Misses other community discussions
|
|
370
|
-
- Single perspective (could be biased/outdated)
|
|
371
|
-
- Not using the tool's multi-post aggregation power
|
|
372
|
-
|
|
373
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
374
|
-
✅ **GOOD EXAMPLE** (DO THIS - Gets broad community perspective!)
|
|
375
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
376
205
|
|
|
377
|
-
|
|
378
|
-
{
|
|
379
|
-
|
|
380
|
-
"https://reddit.com/r/programming/comments/abc123/best_database/",
|
|
381
|
-
"https://reddit.com/r/webdev/comments/def456/database_recommendations/",
|
|
382
|
-
"https://reddit.com/r/node/comments/ghi789/postgresql_vs_mysql/",
|
|
383
|
-
"https://reddit.com/r/golang/comments/jkl012/database_choice/",
|
|
384
|
-
"https://reddit.com/r/rails/comments/mno345/production_database/",
|
|
385
|
-
"https://reddit.com/r/django/comments/pqr678/database_setup/",
|
|
386
|
-
"https://reddit.com/r/dotnet/comments/stu901/database_performance/",
|
|
387
|
-
"https://reddit.com/r/java/comments/vwx234/database_scaling/",
|
|
388
|
-
"https://reddit.com/r/devops/comments/yza567/database_reliability/",
|
|
389
|
-
"https://reddit.com/r/aws/comments/bcd890/rds_vs_aurora/",
|
|
390
|
-
"https://reddit.com/r/selfhosted/comments/efg123/database_hosting/",
|
|
391
|
-
"https://reddit.com/r/sysadmin/comments/hij456/database_backup/",
|
|
392
|
-
"https://reddit.com/r/docker/comments/klm789/database_containers/",
|
|
393
|
-
"https://reddit.com/r/kubernetes/comments/nop012/database_k8s/",
|
|
394
|
-
"https://reddit.com/r/database/comments/qrs345/postgresql_tips/",
|
|
395
|
-
"https://reddit.com/r/sql/comments/tuv678/query_optimization/",
|
|
396
|
-
"https://reddit.com/r/PostgreSQL/comments/wxy901/production_setup/",
|
|
397
|
-
"https://reddit.com/r/mysql/comments/zab234/performance_tuning/",
|
|
398
|
-
"https://reddit.com/r/mongodb/comments/cde567/use_cases/",
|
|
399
|
-
"https://reddit.com/r/redis/comments/fgh890/caching_strategies/"
|
|
400
|
-
],
|
|
401
|
-
"fetch_comments": true,
|
|
402
|
-
"max_comments": 100
|
|
403
|
-
}
|
|
404
|
-
```
|
|
405
|
-
|
|
406
|
-
**Why this is GOOD:**
|
|
407
|
-
- 20 posts (optimal for broad perspective)
|
|
408
|
-
- Covers multiple subreddits (programming, webdev, node, golang, etc.)
|
|
409
|
-
- Different discussion angles (best practices, vs comparisons, production, performance)
|
|
410
|
-
- Will reveal community consensus across diverse communities
|
|
411
|
-
- Automatic comment allocation (~50 comments per post)
|
|
412
|
-
- Comprehensive coverage of the topic
|
|
413
|
-
|
|
414
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
415
|
-
🚀 **PRO TIPS FOR MAXIMUM EFFECTIVENESS**
|
|
416
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
206
|
+
**Example:**
|
|
207
|
+
❌ BAD: `{"urls": ["single_url"]}` → 1 perspective, could be biased/outdated
|
|
208
|
+
✅ GOOD: `{"urls": [20 URLs from diverse subreddits: programming, webdev, node, golang, devops, etc.]}` → comprehensive community perspective
|
|
417
209
|
|
|
210
|
+
**Pro Tips:**
|
|
418
211
|
1. **Use 10-20+ posts** - More posts = broader community perspective
|
|
419
|
-
2. **Mix subreddits** - Different communities have different perspectives
|
|
212
|
+
2. **Mix subreddits** - Different communities have different expertise and perspectives
|
|
420
213
|
3. **Include various discussion types** - Best practices, comparisons, problems, solutions
|
|
421
214
|
4. **Let comment allocation auto-adjust** - Don't override max_comments unless needed
|
|
422
|
-
5. **Use after search_reddit** - Get URLs from search, then fetch full content
|
|
423
|
-
6. **fetch_comments=true** - Comments often have the best insights
|
|
215
|
+
5. **Use after search_reddit** - Get URLs from search, then fetch full content here
|
|
424
216
|
|
|
425
|
-
**
|
|
217
|
+
**CRITICAL:** Comments often contain the BEST insights, solutions, and real-world experiences.
|
|
218
|
+
Always set fetch_comments=true unless you only need post titles.
|
|
426
219
|
|
|
427
|
-
**
|
|
220
|
+
**Workflow:** search_reddit (find posts) → get_reddit_post (fetch full content + comments)
|
|
428
221
|
|
|
429
222
|
parameters:
|
|
430
223
|
urls:
|
|
@@ -436,22 +229,10 @@ tools:
|
|
|
436
229
|
minItems: 2
|
|
437
230
|
maxItems: 50
|
|
438
231
|
description: |
|
|
439
|
-
**Reddit post URLs (
|
|
232
|
+
**2-50 Reddit post URLs** (Minimum 2, recommended 10-20)
|
|
440
233
|
|
|
441
234
|
More posts = broader community perspective and better consensus detection.
|
|
442
|
-
|
|
443
|
-
**VALIDATION:**
|
|
444
|
-
- Minimum 2 URLs required
|
|
445
|
-
- Maximum 50 URLs allowed
|
|
446
|
-
- Each URL must be a valid Reddit post URL
|
|
447
|
-
|
|
448
|
-
**RECOMMENDED USAGE:**
|
|
449
|
-
- 2-5 posts: Deep dive on specific discussions
|
|
450
|
-
- 10-15 posts: Balanced depth + breadth
|
|
451
|
-
- 20-30 posts: Broad community perspective (RECOMMENDED)
|
|
452
|
-
- 40-50 posts: Maximum coverage
|
|
453
|
-
|
|
454
|
-
**PRO TIP:** Get URLs from search_reddit results, then fetch full content here!
|
|
235
|
+
Get URLs from search_reddit results, then fetch full content here.
|
|
455
236
|
|
|
456
237
|
fetch_comments:
|
|
457
238
|
type: boolean
|
|
@@ -461,41 +242,31 @@ tools:
|
|
|
461
242
|
**Fetch comments from posts (RECOMMENDED: true)**
|
|
462
243
|
|
|
463
244
|
Comments often contain the BEST insights, solutions, and real-world experiences.
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
**Set to false:** Get post content only (faster but misses insights)
|
|
467
|
-
|
|
468
|
-
**PRO TIP:** Always keep this true unless you only need post titles/content!
|
|
245
|
+
Set to true (default): Get post + comments
|
|
246
|
+
Set to false: Get post content only (faster but misses insights)
|
|
469
247
|
|
|
470
248
|
max_comments:
|
|
471
249
|
type: number
|
|
472
250
|
required: false
|
|
473
251
|
default: 100
|
|
474
252
|
description: |
|
|
475
|
-
**Override automatic comment allocation
|
|
253
|
+
**Override automatic comment allocation**
|
|
476
254
|
|
|
477
|
-
Leave empty for smart allocation:
|
|
255
|
+
Leave empty for smart allocation based on post count:
|
|
478
256
|
- 2 posts: ~500 comments/post
|
|
479
257
|
- 10 posts: ~100 comments/post
|
|
480
258
|
- 20 posts: ~50 comments/post
|
|
481
|
-
- 50 posts: ~20 comments/post
|
|
482
|
-
|
|
483
|
-
**Only override if:** You need specific comment depth
|
|
484
259
|
|
|
485
|
-
|
|
260
|
+
Only override if you need specific comment depth.
|
|
486
261
|
|
|
487
|
-
#
|
|
262
|
+
# --------------------------------------------------------------------------
|
|
488
263
|
# DEEP RESEARCH TOOL
|
|
489
|
-
#
|
|
490
|
-
|
|
264
|
+
# --------------------------------------------------------------------------
|
|
491
265
|
- name: deep_research
|
|
492
266
|
category: research
|
|
493
267
|
capability: deepResearch
|
|
494
|
-
# Complex schema - use existing Zod schema, descriptions injected from YAML
|
|
495
268
|
useZodSchema: true
|
|
496
269
|
zodSchemaRef: "deepResearchParamsSchema"
|
|
497
|
-
|
|
498
|
-
# Configurable limits
|
|
499
270
|
limits:
|
|
500
271
|
min_questions: 1
|
|
501
272
|
max_questions: 10
|
|
@@ -504,222 +275,74 @@ tools:
|
|
|
504
275
|
min_specific_questions: 2
|
|
505
276
|
|
|
506
277
|
description: |
|
|
507
|
-
**🔥
|
|
508
|
-
|
|
509
|
-
**CRITICAL:** This tool runs 2-10 questions IN PARALLEL with AI-powered research.
|
|
510
|
-
Using 1-2 questions = WASTING the parallel research capability!
|
|
511
|
-
|
|
512
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
513
|
-
📊 **TOKEN BUDGET ALLOCATION** (32,000 tokens distributed across questions)
|
|
514
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
278
|
+
**🔥 DEEP RESEARCH - 2-10 QUESTIONS, RECOMMENDED 5+**
|
|
515
279
|
|
|
516
|
-
|
|
517
|
-
-
|
|
518
|
-
- 10 questions: 3,200 tokens/question (comprehensive multi-topic)
|
|
280
|
+
This tool runs 2-10 questions IN PARALLEL with AI-powered research.
|
|
281
|
+
Using 1-2 questions = wasting the parallel research capability!
|
|
519
282
|
|
|
520
|
-
**
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
283
|
+
**Token Budget:** 32,000 tokens distributed across questions.
|
|
284
|
+
- 2 questions: 16,000 tokens each (deep dive)
|
|
285
|
+
- 5 questions: 6,400 tokens each (RECOMMENDED: balanced)
|
|
286
|
+
- 10 questions: 3,200 tokens each (comprehensive multi-topic)
|
|
525
287
|
|
|
526
|
-
|
|
288
|
+
All questions research in PARALLEL - no time penalty for more questions!
|
|
289
|
+
|
|
290
|
+
**When to use this tool:**
|
|
527
291
|
- Multi-perspective analysis on related topics
|
|
528
292
|
- Researching a domain from multiple angles
|
|
529
293
|
- Validating understanding across different aspects
|
|
530
294
|
- Comparing approaches/technologies side-by-side
|
|
531
295
|
- Deep technical questions requiring comprehensive research
|
|
532
296
|
|
|
533
|
-
|
|
297
|
+
**Question Template** - Each question MUST include these sections:
|
|
298
|
+
|
|
299
|
+
1. **🎯 WHAT I NEED:** Clearly state what you're trying to achieve or understand
|
|
300
|
+
2. **🤔 WHY I'M RESEARCHING:** What decision does this inform? What problem are you solving?
|
|
301
|
+
3. **📚 WHAT I ALREADY KNOW:** Share current understanding so research fills gaps, not repeats basics
|
|
302
|
+
4. **🔧 HOW I'LL USE THIS:** Practical application - implementation, debugging, architecture
|
|
303
|
+
5. **❓ SPECIFIC QUESTIONS (2-5):** Break down into specific, pointed sub-questions
|
|
304
|
+
6. **🌐 PRIORITY SOURCES:** (optional) Preferred docs/sites to prioritize
|
|
305
|
+
7. **⚡ FOCUS AREAS:** (optional) What matters most - performance, security, etc.
|
|
306
|
+
|
|
307
|
+
**ATTACH FILES when asking about code - THIS IS MANDATORY:**
|
|
534
308
|
- 🐛 Bugs/errors → Attach the failing code
|
|
535
309
|
- ⚡ Performance issues → Attach the slow code paths
|
|
536
310
|
- ♻️ Refactoring → Attach current implementation
|
|
537
311
|
- 🔍 Code review → Attach code to review
|
|
538
|
-
- 🏗️ Architecture
|
|
539
|
-
|
|
540
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
541
|
-
📋 **REQUIRED QUESTION TEMPLATE** (Follow this structure!)
|
|
542
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
543
|
-
|
|
544
|
-
**Each question MUST include these sections:**
|
|
312
|
+
- 🏗️ Architecture → Attach relevant modules
|
|
545
313
|
|
|
546
|
-
|
|
547
|
-
[Clearly state what you're trying to achieve, solve, or understand]
|
|
314
|
+
Research without code context for code questions is generic and unhelpful!
|
|
548
315
|
|
|
549
|
-
**
|
|
550
|
-
[
|
|
551
|
-
|
|
552
|
-
**3. 📚 WHAT I ALREADY KNOW:**
|
|
553
|
-
[Share your current understanding so research fills gaps, not repeats basics]
|
|
554
|
-
|
|
555
|
-
**4. 🔧 HOW I PLAN TO USE THIS:**
|
|
556
|
-
[Describe the practical application - implementation, debugging, architecture, etc.]
|
|
557
|
-
|
|
558
|
-
**5. ❓ SPECIFIC QUESTIONS (2-5):**
|
|
559
|
-
- Question 1: [Specific, pointed question]
|
|
560
|
-
- Question 2: [Another specific question]
|
|
561
|
-
- Question 3: [etc.]
|
|
562
|
-
|
|
563
|
-
**6. 🌐 PRIORITY SOURCES (optional):**
|
|
564
|
-
[Sites/docs to prioritize: "Prefer official React docs, GitHub issues, Stack Overflow"]
|
|
565
|
-
|
|
566
|
-
**7. ⚡ PRIORITY INFO (optional):**
|
|
567
|
-
[What matters most: "Focus on performance implications" or "Prioritize security best practices"]
|
|
568
|
-
|
|
569
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
570
|
-
❌ **BAD EXAMPLE** (DON'T DO THIS - Wastes the tool!)
|
|
571
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
316
|
+
**Example:**
|
|
317
|
+
❌ BAD: `{"questions": [{"question": "Research React hooks"}]}` → 1 vague question, no template, no context, wastes 90% capacity
|
|
572
318
|
|
|
319
|
+
✅ GOOD:
|
|
573
320
|
```json
|
|
574
|
-
{
|
|
575
|
-
"
|
|
576
|
-
|
|
577
|
-
"question": "Research React hooks"
|
|
578
|
-
}
|
|
579
|
-
]
|
|
580
|
-
}
|
|
321
|
+
{"questions": [{
|
|
322
|
+
"question": "🎯 WHAT I NEED: Understand when to use useCallback vs useMemo in React 18\n\n🤔 WHY: Optimizing a data-heavy dashboard with 50+ components, seeing performance issues\n\n📚 WHAT I KNOW: Both memoize values, useCallback for functions, useMemo for computed values. Unclear when each actually prevents re-renders.\n\n🔧 HOW I'LL USE THIS: Refactor Dashboard.tsx to eliminate unnecessary re-renders\n\n❓ SPECIFIC QUESTIONS:\n1. When does useCallback actually prevent re-renders vs when it doesn't?\n2. Performance benchmarks: useCallback vs useMemo vs neither in React 18?\n3. Common anti-patterns that negate their benefits?\n4. How to measure if they're actually helping?\n\n🌐 PRIORITY: Official React docs, React team blog posts\n⚡ FOCUS: Patterns for frequently updating state"
|
|
323
|
+
}, ...add 4 more questions for comprehensive coverage]}
|
|
581
324
|
```
|
|
582
325
|
|
|
583
|
-
**
|
|
584
|
-
- Only 1 question (should use 5-10 for comprehensive coverage)
|
|
585
|
-
- Too vague ("Research React hooks")
|
|
586
|
-
- No template sections (missing WHY, WHAT I KNOW, etc.)
|
|
587
|
-
- No specific sub-questions
|
|
588
|
-
- No file attachments (if this is about YOUR code)
|
|
589
|
-
- Wastes 90% of available research capacity
|
|
590
|
-
|
|
591
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
592
|
-
✅ **GOOD EXAMPLE** (DO THIS - Uses tool properly!)
|
|
593
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
594
|
-
|
|
595
|
-
```json
|
|
596
|
-
{
|
|
597
|
-
"questions": [
|
|
598
|
-
{
|
|
599
|
-
"question": "🎯 WHAT I NEED: Understand when to use useCallback vs useMemo in React 18\n\n🤔 WHY: Optimizing a data-heavy dashboard with 50+ components, seeing performance issues\n\n📚 WHAT I KNOW: Both memoize values, useCallback for functions, useMemo for computed values. Unclear when each prevents re-renders.\n\n🔧 HOW I'LL USE THIS: Refactor Dashboard.tsx to eliminate unnecessary re-renders\n\n❓ SPECIFIC QUESTIONS:\n1. When does useCallback actually prevent re-renders vs when it doesn't?\n2. Performance benchmarks: useCallback vs useMemo vs neither in React 18?\n3. Common anti-patterns that negate their benefits?\n4. How to measure if they're actually helping?\n5. Best practices for large component trees?\n\n🌐 PRIORITY: Official React docs, React team blog posts, performance case studies\n⚡ FOCUS: Patterns for frequently updating state"
|
|
600
|
-
},
|
|
601
|
-
{
|
|
602
|
-
"question": "🎯 WHAT I NEED: Best practices for React Context API with frequent updates\n\n🤔 WHY: Dashboard uses Context for filter state, causing full re-renders\n\n📚 WHAT I KNOW: Context triggers re-render of all consumers. Can split contexts or use useMemo.\n\n🔧 HOW I'LL USE THIS: Redesign FilterContext to minimize re-renders\n\n❓ SPECIFIC QUESTIONS:\n1. How to structure Context to avoid unnecessary re-renders?\n2. When to split one Context into multiple?\n3. Context + useReducer vs external state library?\n4. Performance comparison: Context vs Zustand vs Redux?\n\n🌐 PRIORITY: React docs, Kent C. Dodds articles, real-world examples\n⚡ FOCUS: Patterns for frequently updating state"
|
|
603
|
-
},
|
|
604
|
-
{
|
|
605
|
-
"question": "🎯 WHAT I NEED: Virtualization strategy for rendering 10,000+ rows\n\n🤔 WHY: DataGrid component freezes when displaying large datasets\n\n📚 WHAT I KNOW: react-window and react-virtualized exist. Need to understand tradeoffs.\n\n🔧 HOW I'LL USE THIS: Implement virtualization in DataGrid.tsx\n\n❓ SPECIFIC QUESTIONS:\n1. react-window vs react-virtualized in 2024?\n2. How to handle dynamic row heights?\n3. Integration with React 18 concurrent features?\n4. Performance impact of virtualization overhead?\n\n🌐 PRIORITY: Library docs, performance benchmarks, production examples"
|
|
606
|
-
}
|
|
607
|
-
]
|
|
608
|
-
}
|
|
609
|
-
```
|
|
610
|
-
|
|
611
|
-
**Why this is GOOD:**
|
|
612
|
-
- 3 questions (good coverage, could use up to 10)
|
|
613
|
-
- Each follows the template structure
|
|
614
|
-
- Specific context and WHY for each
|
|
615
|
-
- 2-5 specific sub-questions per topic
|
|
616
|
-
- File attachments for code-related question
|
|
617
|
-
- Detailed file descriptions
|
|
618
|
-
- Focus areas specified
|
|
619
|
-
- Will get comprehensive, actionable research
|
|
620
|
-
|
|
621
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
622
|
-
🚀 **PRO TIPS FOR MAXIMUM EFFECTIVENESS**
|
|
623
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
624
|
-
|
|
326
|
+
**Pro Tips:**
|
|
625
327
|
1. **Use 5-10 questions** - Maximize parallel research capacity
|
|
626
328
|
2. **Follow the template** - Include all 7 sections for each question
|
|
627
329
|
3. **Be specific** - Include version numbers, error codes, library names
|
|
628
330
|
4. **Add 2-5 sub-questions** - Break down what you need to know
|
|
629
331
|
5. **Attach files for code questions** - MANDATORY for bugs/performance/refactoring
|
|
630
|
-
6. **Describe files thoroughly** -
|
|
332
|
+
6. **Describe files thoroughly** - Explain what the file is and what to focus on
|
|
631
333
|
7. **Specify focus areas** - "Focus on X, Y, Z" for prioritization
|
|
632
334
|
8. **Group related questions** - Research a domain from multiple angles
|
|
633
335
|
|
|
634
|
-
**
|
|
635
|
-
|
|
636
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
637
|
-
🧠 **ITERATIVE WORKFLOW - THINK → RESEARCH → THINK → EXPAND → RESEARCH AGAIN**
|
|
638
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
639
|
-
|
|
640
|
-
**CRITICAL:** Use sequential thinking BETWEEN research calls to expand scope based on findings!
|
|
641
|
-
|
|
642
|
-
**WORKFLOW PATTERN:**
|
|
643
|
-
```
|
|
644
|
-
1. THINK FIRST (1-2 thoughts via sequentialthinking)
|
|
645
|
-
→ Analyze what you need to research
|
|
646
|
-
→ Plan initial 3-5 questions
|
|
647
|
-
→ Identify knowledge gaps
|
|
648
|
-
|
|
649
|
-
2. RESEARCH (call deep_research with 3-5 questions)
|
|
650
|
-
→ Execute your planned questions
|
|
651
|
-
→ Get comprehensive research results
|
|
652
|
-
|
|
653
|
-
3. THINK AFTER RESULTS (2-3 thoughts via sequentialthinking)
|
|
654
|
-
→ Evaluate what you learned
|
|
655
|
-
→ Identify NEW questions that emerged
|
|
656
|
-
→ Notice gaps or deeper areas to explore
|
|
657
|
-
→ Decide: sufficient OR need more research
|
|
658
|
-
|
|
659
|
-
4. EXPAND SCOPE & ITERATE (if gaps found)
|
|
660
|
-
→ Call deep_research AGAIN with 3-5 NEW questions
|
|
661
|
-
→ Based on learnings from first research
|
|
662
|
-
→ Explore deeper or adjacent topics
|
|
663
|
-
→ Think and synthesize
|
|
664
|
-
```
|
|
665
|
-
|
|
666
|
-
**WHY THIS WORKS:**
|
|
667
|
-
- Research results reveal questions you didn't know to ask
|
|
668
|
-
- Thinking between calls = space to digest and identify gaps
|
|
669
|
-
- Initial questions might be too narrow or miss key aspects
|
|
670
|
-
- Results often reveal more important questions
|
|
671
|
-
- Iterative deepening = comprehensive understanding
|
|
672
|
-
|
|
673
|
-
**EXAMPLE ITERATIVE FLOW:**
|
|
674
|
-
```
|
|
675
|
-
Step 1: Think
|
|
676
|
-
"Need to understand React performance optimization. Start with
|
|
677
|
-
memoization, Context API, and virtualization questions."
|
|
678
|
-
|
|
679
|
-
Step 2: deep_research (3 questions)
|
|
680
|
-
[Q1: useCallback vs useMemo, Q2: Context API patterns,
|
|
681
|
-
Q3: Virtualization libraries]
|
|
682
|
-
|
|
683
|
-
Step 3: Think (evaluate results)
|
|
684
|
-
"Research revealed:
|
|
685
|
-
- React 18 concurrent features are important for performance
|
|
686
|
-
- Suspense + transitions affect optimization strategy
|
|
687
|
-
- Server Components change the game
|
|
688
|
-
|
|
689
|
-
NEW questions emerged:
|
|
690
|
-
- How do concurrent features interact with memoization?
|
|
691
|
-
- When to use Server Components vs Client Components?
|
|
692
|
-
- Suspense boundaries impact on performance?
|
|
693
|
-
|
|
694
|
-
Should research these deeper aspects now."
|
|
695
|
-
|
|
696
|
-
Step 4: deep_research AGAIN (3 NEW questions)
|
|
697
|
-
[Q1: React 18 concurrent features + memoization,
|
|
698
|
-
Q2: Server vs Client Components performance,
|
|
699
|
-
Q3: Suspense boundaries optimization]
|
|
700
|
-
|
|
701
|
-
Step 5: Think (evaluate combined results)
|
|
702
|
-
"Now have complete picture. Initial research gave fundamentals,
|
|
703
|
-
second research covered advanced patterns. Ready to implement."
|
|
704
|
-
```
|
|
705
|
-
|
|
706
|
-
**KEY INSIGHT:** First research reveals what you SHOULD have asked!
|
|
707
|
-
|
|
708
|
-
**SCOPE EXPANSION TRIGGERS:**
|
|
336
|
+
**Scope Expansion Triggers** - Iterate when:
|
|
709
337
|
- Results mention concepts you didn't research
|
|
710
|
-
- Answers raise new questions
|
|
711
|
-
-
|
|
712
|
-
-
|
|
713
|
-
- Need deeper understanding of specific aspect
|
|
338
|
+
- Answers raise new questions you should explore
|
|
339
|
+
- You realize initial scope was too narrow
|
|
340
|
+
- You discover related topics that matter
|
|
714
341
|
|
|
715
|
-
**
|
|
716
|
-
|
|
717
|
-
deep_research
|
|
718
|
-
sequentialthinking (
|
|
719
|
-
OPTIONAL: deep_research again (3-5 NEW questions based on learnings) →
|
|
720
|
-
sequentialthinking (synthesize) →
|
|
721
|
-
final decision
|
|
722
|
-
```
|
|
342
|
+
**Workflow:**
|
|
343
|
+
deep_research (3-5 questions) → sequentialthinking (evaluate, identify gaps) →
|
|
344
|
+
OPTIONAL: deep_research AGAIN with NEW questions based on learnings →
|
|
345
|
+
sequentialthinking (synthesize) → final decision
|
|
723
346
|
|
|
724
347
|
**REMEMBER:**
|
|
725
348
|
- ALWAYS think after getting results (digest and identify gaps!)
|
|
@@ -727,180 +350,82 @@ tools:
|
|
|
727
350
|
- USE learnings to ask better questions (results = feedback!)
|
|
728
351
|
- EXPAND scope when results reveal new important areas!
|
|
729
352
|
|
|
730
|
-
# Schema descriptions to inject into existing Zod schema
|
|
731
353
|
schemaDescriptions:
|
|
732
|
-
|
|
733
|
-
**
|
|
354
|
+
questions: |
|
|
355
|
+
**2-10 structured questions following the template**
|
|
734
356
|
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
- 5 URLs: ~6K tokens each (balanced - RECOMMENDED)
|
|
738
|
-
- 10 URLs: ~3K tokens each (detailed)
|
|
739
|
-
- 50 URLs: ~640 tokens each (quick scan)
|
|
357
|
+
Each question should cover a different angle of your research topic.
|
|
358
|
+
Attach files for any code-related questions - this is mandatory!
|
|
740
359
|
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
- Maximum 50 URLs allowed
|
|
744
|
-
- Each URL must be valid HTTP/HTTPS
|
|
745
|
-
|
|
746
|
-
timeout: "Timeout in seconds for each URL (5-120 seconds, default: 30)"
|
|
747
|
-
|
|
748
|
-
use_llm: |
|
|
749
|
-
**Enable AI-powered content extraction (HIGHLY RECOMMENDED - set to true)**
|
|
360
|
+
file_attachments: |
|
|
361
|
+
**MANDATORY for code questions: bugs, performance, refactoring, code review, architecture**
|
|
750
362
|
|
|
751
|
-
|
|
363
|
+
Format: {path: "/absolute/path", description: "What this file is, why relevant, what to focus on", start_line?, end_line?}
|
|
752
364
|
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
- Extracts ONLY what you specify in what_to_extract
|
|
756
|
-
- Handles complex page structures intelligently
|
|
757
|
-
- Returns clean, structured content
|
|
758
|
-
- Saves manual HTML parsing
|
|
759
|
-
|
|
760
|
-
**Cost:** ~$0.001 per page (pennies for quality extraction)
|
|
761
|
-
**When to use false:** Only for debugging or raw HTML needs
|
|
762
|
-
|
|
763
|
-
**Default:** false (but you should set it to true!)
|
|
764
|
-
|
|
765
|
-
what_to_extract: |
|
|
766
|
-
**Extraction prompt for AI (REQUIRED when use_llm=true)**
|
|
767
|
-
|
|
768
|
-
**FORMULA:** Extract [target1] | [target2] | [target3] with focus on [aspect1], [aspect2]
|
|
769
|
-
|
|
770
|
-
**REQUIREMENTS:**
|
|
771
|
-
- Minimum 50 characters (be detailed!)
|
|
772
|
-
- Minimum 3 extraction targets separated by `|`
|
|
773
|
-
- Include "with focus on" for prioritization
|
|
774
|
-
- Be SPECIFIC about what you want
|
|
775
|
-
|
|
776
|
-
**EXAMPLES:**
|
|
777
|
-
|
|
778
|
-
✅ GOOD: "Extract pricing tiers | plan features | API rate limits | enterprise options |
|
|
779
|
-
integration capabilities | user testimonials | technical requirements | performance benchmarks
|
|
780
|
-
with focus on enterprise features, API limitations, and real-world performance data"
|
|
781
|
-
|
|
782
|
-
❌ BAD: "get main content" (too vague, no targets, no focus)
|
|
783
|
-
|
|
784
|
-
**PRO TIP:** More specific targets = better extraction quality!
|
|
365
|
+
Use absolute paths. Include thorough description explaining the file's relevance,
|
|
366
|
+
focus areas, and known issues.
|
|
785
367
|
|
|
786
|
-
#
|
|
368
|
+
# --------------------------------------------------------------------------
|
|
787
369
|
# SCRAPE LINKS TOOL
|
|
788
|
-
#
|
|
789
|
-
|
|
370
|
+
# --------------------------------------------------------------------------
|
|
790
371
|
- name: scrape_links
|
|
791
372
|
category: scrape
|
|
792
373
|
capability: scraping
|
|
793
374
|
useZodSchema: true
|
|
794
375
|
zodSchemaRef: "scrapeLinksParamsSchema"
|
|
795
|
-
|
|
796
|
-
# Configurable limits
|
|
797
376
|
limits:
|
|
798
377
|
min_urls: 1
|
|
799
378
|
max_urls: 50
|
|
800
379
|
recommended_urls: 5
|
|
801
380
|
min_extraction_prompt_length: 50
|
|
802
381
|
min_extraction_targets: 3
|
|
382
|
+
extraction_suffix: |
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
⚠️ IMPORTANT RULE: You MUST answer this extraction request as comprehensive as possible while keeping info density super high without adding unnecessary words (no verbosity, but extreme comprehensiveness) but satisfy the scope defined by previous instructions even more (never hallucinate or made-up anything). Try to extract every single detail possible mentioned on top of message by deeply understanding page context but NEVER MADE UP up anything and only rely on given context shown above.
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
Now it's time to extract the information you need. don't use any confirmation messages or anything unrelated to the extraction. only extract information thats grounded in the given document
|
|
803
390
|
|
|
804
391
|
description: |
|
|
805
|
-
**🔥
|
|
806
|
-
|
|
807
|
-
**CRITICAL:** This tool has TWO modes:
|
|
808
|
-
1. **Basic scraping** (use_llm=false) - Gets raw HTML/text
|
|
809
|
-
2. **AI-powered extraction** (use_llm=true) - Intelligently extracts what you need ⭐ **USE THIS!**
|
|
810
|
-
|
|
811
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
812
|
-
⚡ **ALWAYS SET use_llm=true FOR INTELLIGENT EXTRACTION** ⚡
|
|
813
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
392
|
+
**🔥 WEB SCRAPING - 1-50 URLs, RECOMMENDED 3-5. ALWAYS use_llm=true**
|
|
814
393
|
|
|
815
|
-
|
|
816
|
-
-
|
|
817
|
-
-
|
|
818
|
-
- Handles complex page structures
|
|
819
|
-
- Returns clean, structured content
|
|
820
|
-
- Saves you from parsing HTML manually
|
|
394
|
+
This tool has TWO modes:
|
|
395
|
+
1. **Basic scraping** (use_llm=false) - Gets raw HTML/text - messy, requires manual parsing
|
|
396
|
+
2. **AI-powered extraction** (use_llm=true) - Intelligently extracts what you need ⭐ **USE THIS!**
|
|
821
397
|
|
|
822
|
-
|
|
823
|
-
**Benefit:** 10x better results than raw scraping
|
|
824
|
-
|
|
825
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
826
|
-
📊 **TOKEN ALLOCATION** (32,000 tokens distributed across URLs)
|
|
827
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
398
|
+
**⚡ ALWAYS SET use_llm=true FOR INTELLIGENT EXTRACTION ⚡**
|
|
828
399
|
|
|
829
|
-
|
|
830
|
-
-
|
|
831
|
-
-
|
|
832
|
-
-
|
|
400
|
+
**Why use AI extraction (use_llm=true):**
|
|
401
|
+
- Filters out navigation, ads, footers automatically
|
|
402
|
+
- Extracts ONLY what you specify in what_to_extract
|
|
403
|
+
- Handles complex page structures intelligently
|
|
404
|
+
- Returns clean, structured content ready to use
|
|
405
|
+
- Saves hours of manual HTML parsing
|
|
406
|
+
- Cost: pennies (~$0.01 per 10 pages)
|
|
833
407
|
|
|
834
|
-
**
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
408
|
+
**Token Budget:** 32,000 tokens distributed across URLs.
|
|
409
|
+
- 3 URLs: ~10,666 tokens each (deep extraction)
|
|
410
|
+
- 5 URLs: ~6,400 tokens each (RECOMMENDED: balanced)
|
|
411
|
+
- 10 URLs: ~3,200 tokens each (detailed)
|
|
412
|
+
- 50 URLs: ~640 tokens each (quick scan)
|
|
840
413
|
|
|
841
|
-
**
|
|
414
|
+
**Extraction Prompt Formula:**
|
|
842
415
|
```
|
|
843
416
|
Extract [target1] | [target2] | [target3] | [target4] | [target5]
|
|
844
417
|
with focus on [aspect1], [aspect2], [aspect3]
|
|
845
418
|
```
|
|
846
419
|
|
|
847
|
-
**Rules:**
|
|
848
|
-
- Use pipe `|` to separate extraction targets
|
|
849
|
-
-
|
|
850
|
-
-
|
|
420
|
+
**Extraction Rules:**
|
|
421
|
+
- Use pipe `|` to separate extraction targets
|
|
422
|
+
- Minimum 3 targets required
|
|
423
|
+
- Be SPECIFIC about what you want ("pricing tiers" not "pricing")
|
|
424
|
+
- Include "with focus on" to prioritize certain aspects
|
|
851
425
|
- More targets = more comprehensive extraction
|
|
852
426
|
- Aim for 5-10 extraction targets
|
|
853
|
-
|
|
854
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
855
|
-
❌ **BAD EXAMPLE** (DON'T DO THIS - Wastes AI extraction!)
|
|
856
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
857
427
|
|
|
858
|
-
|
|
859
|
-
{
|
|
860
|
-
"urls": ["https://example.com/pricing"],
|
|
861
|
-
"use_llm": false,
|
|
862
|
-
"what_to_extract": "get pricing"
|
|
863
|
-
}
|
|
864
|
-
```
|
|
865
|
-
|
|
866
|
-
**Why this is BAD:**
|
|
867
|
-
- use_llm=false (missing AI extraction!)
|
|
868
|
-
- Vague extraction prompt ("get pricing")
|
|
869
|
-
- Only 1 extraction target
|
|
870
|
-
- No focus areas specified
|
|
871
|
-
- Will return messy HTML instead of clean data
|
|
872
|
-
|
|
873
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
874
|
-
✅ **GOOD EXAMPLE** (DO THIS - Uses AI extraction properly!)
|
|
875
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
876
|
-
|
|
877
|
-
```json
|
|
878
|
-
{
|
|
879
|
-
"urls": [
|
|
880
|
-
"https://example.com/pricing",
|
|
881
|
-
"https://example.com/features",
|
|
882
|
-
"https://example.com/docs/api",
|
|
883
|
-
"https://example.com/enterprise",
|
|
884
|
-
"https://example.com/testimonials"
|
|
885
|
-
],
|
|
886
|
-
"use_llm": true,
|
|
887
|
-
"what_to_extract": "Extract pricing tiers | plan features | API rate limits | enterprise options |
|
|
888
|
-
integration capabilities | user testimonials | technical requirements | performance benchmarks with focus on enterprise features, API limitations, and real-world performance data"
|
|
889
|
-
}
|
|
890
|
-
```
|
|
891
|
-
|
|
892
|
-
**Why this is GOOD:**
|
|
893
|
-
- use_llm=true ✓ (AI extraction enabled!)
|
|
894
|
-
- 5 URLs (balanced depth/breadth)
|
|
895
|
-
- 8 extraction targets separated by `|`
|
|
896
|
-
- Specific targets (pricing tiers, API rate limits, etc.)
|
|
897
|
-
- Focus areas specified (enterprise, API, performance)
|
|
898
|
-
- Will return clean, structured extraction
|
|
899
|
-
- Covers multiple aspects of the product
|
|
900
|
-
|
|
901
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
902
|
-
💡 **EXTRACTION PROMPT EXAMPLES BY USE CASE**
|
|
903
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
428
|
+
**Extraction Templates by Domain:**
|
|
904
429
|
|
|
905
430
|
**Product Research:**
|
|
906
431
|
```
|
|
@@ -923,235 +448,131 @@ tools:
|
|
|
923
448
|
with focus on differentiators, pricing strategy, and customer satisfaction
|
|
924
449
|
```
|
|
925
450
|
|
|
926
|
-
**
|
|
927
|
-
|
|
928
|
-
Extract main arguments | supporting evidence | data points | expert quotes |
|
|
929
|
-
methodology | conclusions | references | publication date
|
|
930
|
-
with focus on credibility, data quality, and actionable insights
|
|
931
|
-
```
|
|
932
|
-
|
|
933
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
934
|
-
🚀 **PRO TIPS FOR MAXIMUM EFFECTIVENESS**
|
|
935
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
451
|
+
**Example:**
|
|
452
|
+
❌ BAD: `{"urls": ["url"], "use_llm": false, "what_to_extract": "get pricing"}` → raw HTML, vague prompt, 1 target, no focus areas
|
|
936
453
|
|
|
454
|
+
✅ GOOD: `{"urls": [5 URLs], "use_llm": true, "what_to_extract": "Extract pricing tiers | plan features | API rate limits | enterprise options | integration capabilities | user testimonials with focus on enterprise features, API limitations, and real-world performance data"}` → clean structured extraction
|
|
455
|
+
|
|
456
|
+
**Pro Tips:**
|
|
937
457
|
1. **ALWAYS use use_llm=true** - The AI extraction is the tool's superpower
|
|
938
458
|
2. **Use 3-10 URLs** - Balance between depth and breadth
|
|
939
459
|
3. **Specify 5-10 extraction targets** - More targets = more comprehensive
|
|
940
460
|
4. **Use pipe `|` separators** - Clearly separate each target
|
|
941
461
|
5. **Add focus areas** - "with focus on X, Y, Z" for prioritization
|
|
942
462
|
6. **Be specific** - "pricing tiers" not "pricing", "API rate limits" not "API info"
|
|
943
|
-
7. **
|
|
944
|
-
|
|
463
|
+
7. **Cover multiple aspects** - Features, pricing, technical, social proof
|
|
464
|
+
|
|
465
|
+
**Automatic Fallback:** Basic → JavaScript rendering → JavaScript + US geo-targeting
|
|
466
|
+
**Batching:** Max 30 concurrent requests (50 URLs = [30] then [20] batches)
|
|
945
467
|
|
|
946
468
|
**REMEMBER:** AI extraction costs pennies but saves hours of manual parsing!
|
|
947
469
|
|
|
948
470
|
schemaDescriptions:
|
|
949
471
|
urls: |
|
|
950
|
-
**URLs to scrape (
|
|
472
|
+
**1-50 URLs to scrape** (3-5 recommended for balanced depth/breadth)
|
|
951
473
|
|
|
952
|
-
More URLs = broader coverage but fewer tokens per URL
|
|
953
|
-
- 3 URLs: ~10K tokens each (deep
|
|
954
|
-
- 5 URLs: ~6K tokens each (balanced
|
|
474
|
+
More URLs = broader coverage but fewer tokens per URL.
|
|
475
|
+
- 3 URLs: ~10K tokens each (deep)
|
|
476
|
+
- 5 URLs: ~6K tokens each (balanced)
|
|
955
477
|
- 10 URLs: ~3K tokens each (detailed)
|
|
956
|
-
- 50 URLs: ~640 tokens each (quick scan)
|
|
957
478
|
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
- Maximum 50 URLs allowed
|
|
961
|
-
- Each URL must be valid HTTP/HTTPS
|
|
962
|
-
|
|
963
|
-
timeout: "Timeout in seconds for each URL (5-120 seconds, default: 30)"
|
|
964
|
-
|
|
479
|
+
timeout: "Timeout per URL (5-120 seconds, default: 30)"
|
|
480
|
+
|
|
965
481
|
use_llm: |
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
⚡ **ALWAYS SET THIS TO true FOR INTELLIGENT EXTRACTION** ⚡
|
|
482
|
+
**⚡ ALWAYS SET TO true FOR INTELLIGENT EXTRACTION ⚡**
|
|
969
483
|
|
|
970
|
-
|
|
484
|
+
Enables AI-powered content extraction that:
|
|
971
485
|
- Filters out navigation, ads, footers automatically
|
|
972
486
|
- Extracts ONLY what you specify in what_to_extract
|
|
973
487
|
- Handles complex page structures intelligently
|
|
974
488
|
- Returns clean, structured content
|
|
975
|
-
- Saves manual HTML parsing
|
|
976
489
|
|
|
977
|
-
|
|
978
|
-
|
|
490
|
+
Cost: pennies (~$0.001 per page)
|
|
491
|
+
Default: false (but you should ALWAYS set it to true!)
|
|
979
492
|
|
|
980
|
-
**Default:** false (but you should set it to true!)
|
|
981
|
-
|
|
982
493
|
what_to_extract: |
|
|
983
494
|
**Extraction prompt for AI (REQUIRED when use_llm=true)**
|
|
984
495
|
|
|
985
|
-
|
|
496
|
+
Formula: Extract [target1] | [target2] | [target3] with focus on [aspect1], [aspect2] (BE SUPER VERBOSE AND DETAILED + OPTIMIZED LIKE LLM INSTRUCTIONS TO EXTRACT INFO)
|
|
986
497
|
|
|
987
|
-
|
|
498
|
+
Requirements:
|
|
988
499
|
- Minimum 50 characters (be detailed!)
|
|
989
500
|
- Minimum 3 extraction targets separated by `|`
|
|
990
501
|
- Include "with focus on" for prioritization
|
|
991
502
|
- Be SPECIFIC about what you want
|
|
992
503
|
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
✅ GOOD: "Extract pricing tiers | plan features | API rate limits | enterprise options |
|
|
996
|
-
integration capabilities | user testimonials | technical requirements | performance benchmarks
|
|
997
|
-
with focus on enterprise features, API limitations, and real-world performance data"
|
|
998
|
-
|
|
999
|
-
❌ BAD: "get main content" (too vague, no targets, no focus)
|
|
1000
|
-
|
|
1001
|
-
**PRO TIP:** More specific targets = better extraction quality!
|
|
504
|
+
More specific targets = better extraction quality!
|
|
1002
505
|
|
|
1003
|
-
#
|
|
506
|
+
# --------------------------------------------------------------------------
|
|
1004
507
|
# WEB SEARCH TOOL
|
|
1005
|
-
#
|
|
1006
|
-
|
|
508
|
+
# --------------------------------------------------------------------------
|
|
1007
509
|
- name: web_search
|
|
1008
510
|
category: search
|
|
1009
511
|
capability: search
|
|
1010
512
|
useZodSchema: true
|
|
1011
513
|
zodSchemaRef: "webSearchParamsSchema"
|
|
1012
|
-
|
|
1013
|
-
# Configurable limits
|
|
1014
514
|
limits:
|
|
1015
515
|
min_keywords: 3
|
|
1016
516
|
max_keywords: 100
|
|
1017
517
|
recommended_keywords: 7
|
|
1018
518
|
|
|
1019
519
|
description: |
|
|
1020
|
-
**🔥
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
Using 1-2 keywords =
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
- **
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
5. **Comparison:** "React state management libraries comparison"
|
|
1049
|
-
6. **Tutorial/Guide:** "React state management tutorial"
|
|
1050
|
-
7. **Advanced:** "React state management patterns large applications"
|
|
1051
|
-
|
|
1052
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1053
|
-
🔧 **SEARCH OPERATORS** (Use these for precision!)
|
|
1054
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1055
|
-
|
|
520
|
+
**🔥 WEB SEARCH - MINIMUM 3 KEYWORDS, RECOMMENDED 5-7**
|
|
521
|
+
|
|
522
|
+
This tool searches up to 100 keywords IN PARALLEL via Google.
|
|
523
|
+
Using 1-2 keywords = wasting the tool's parallel search power!
|
|
524
|
+
|
|
525
|
+
**Results Budget:** 10 results per keyword, all searches run in parallel.
|
|
526
|
+
- 3 keywords = 30 results (minimum)
|
|
527
|
+
- 7 keywords = 70 results (RECOMMENDED)
|
|
528
|
+
- 100 keywords = 1000 results (comprehensive)
|
|
529
|
+
|
|
530
|
+
**7-Perspective Keyword Formula** - Each keyword targets a DIFFERENT angle:
|
|
531
|
+
|
|
532
|
+
1. **Direct/Broad:** "[topic]"
|
|
533
|
+
Example: "React state management"
|
|
534
|
+
2. **Specific/Technical:** "[topic] [technical term]"
|
|
535
|
+
Example: "React useReducer vs Redux"
|
|
536
|
+
3. **Problem-Focused:** "[topic] issues/debugging/problems"
|
|
537
|
+
Example: "React state management performance issues"
|
|
538
|
+
4. **Best Practices:** "[topic] best practices [year]"
|
|
539
|
+
Example: "React state management best practices 2024"
|
|
540
|
+
5. **Comparison:** "[A] vs [B]"
|
|
541
|
+
Example: "React state management libraries comparison"
|
|
542
|
+
6. **Tutorial/Guide:** "[topic] tutorial/guide"
|
|
543
|
+
Example: "React state management tutorial"
|
|
544
|
+
7. **Advanced:** "[topic] patterns/architecture large applications"
|
|
545
|
+
Example: "React state management patterns large applications"
|
|
546
|
+
|
|
547
|
+
**Search Operators with Examples:**
|
|
1056
548
|
- `site:domain.com` - Search within specific site
|
|
549
|
+
Example: `"React hooks" site:github.com` → React hooks repos on GitHub
|
|
1057
550
|
- `"exact phrase"` - Match exact phrase
|
|
1058
|
-
|
|
551
|
+
Example: `"Docker OOM" site:stackoverflow.com` → exact error discussions
|
|
552
|
+
- `-exclude` - Exclude term from results
|
|
553
|
+
Example: `React state management -Redux` → find alternatives to Redux
|
|
1059
554
|
- `filetype:pdf` - Find specific file types
|
|
555
|
+
Example: `React tutorial filetype:pdf` → downloadable guides
|
|
1060
556
|
- `OR` - Match either term
|
|
557
|
+
Example: `React OR Vue state management` → compare frameworks
|
|
1061
558
|
|
|
1062
|
-
**
|
|
1063
|
-
- `"React hooks" site:github.com` - React hooks repos on GitHub
|
|
1064
|
-
- `React state management -Redux` - Exclude Redux results
|
|
1065
|
-
- `React tutorial filetype:pdf` - Find React PDF tutorials
|
|
1066
|
-
- `React OR Vue state management` - Compare frameworks
|
|
1067
|
-
|
|
1068
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1069
|
-
❌ **BAD EXAMPLE** (DON'T DO THIS - Wastes parallel search!)
|
|
1070
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1071
|
-
|
|
1072
|
-
```json
|
|
1073
|
-
{
|
|
1074
|
-
"keywords": ["React"]
|
|
1075
|
-
}
|
|
1076
|
-
```
|
|
1077
|
-
|
|
1078
|
-
**Why this is BAD:**
|
|
1079
|
-
- Only 1 keyword (minimum is 3!)
|
|
1080
|
-
- Too broad/vague
|
|
1081
|
-
- No search operators
|
|
1082
|
-
- No diversity (missing 6 other perspectives)
|
|
1083
|
-
- Misses specific, technical, and comparison results
|
|
1084
|
-
|
|
1085
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1086
|
-
✅ **GOOD EXAMPLE** (DO THIS - Uses parallel search properly!)
|
|
1087
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1088
|
-
|
|
1089
|
-
```json
|
|
1090
|
-
{
|
|
1091
|
-
"keywords": [
|
|
1092
|
-
"React state management best practices",
|
|
1093
|
-
"React useReducer vs Redux 2024",
|
|
1094
|
-
"React Context API performance",
|
|
1095
|
-
"Zustand React state library",
|
|
1096
|
-
"React state management large applications",
|
|
1097
|
-
"\"React state\" site:github.com",
|
|
1098
|
-
"React global state alternatives -Redux"
|
|
1099
|
-
]
|
|
1100
|
-
}
|
|
1101
|
-
```
|
|
1102
|
-
|
|
1103
|
-
**Why this is GOOD:**
|
|
1104
|
-
- 7 keywords (optimal range)
|
|
1105
|
-
- Covers multiple perspectives (best practices, comparison, performance, specific library)
|
|
1106
|
-
- Uses search operators (site:, "exact", -exclude, filetype:)
|
|
1107
|
-
- Includes year for recency (2024)
|
|
1108
|
-
- Targets different aspects (performance, large apps, alternatives)
|
|
1109
|
-
- Each keyword reveals different insights
|
|
1110
|
-
- Will find diverse, high-quality results
|
|
1111
|
-
|
|
1112
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1113
|
-
💡 **KEYWORD CRAFTING STRATEGIES BY USE CASE**
|
|
1114
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
559
|
+
**Keyword Patterns by Use Case:**
|
|
1115
560
|
|
|
1116
561
|
**Technology Research:**
|
|
1117
|
-
|
|
1118
|
-
[
|
|
1119
|
-
"PostgreSQL vs MySQL performance 2024",
|
|
1120
|
-
"PostgreSQL best practices production",
|
|
1121
|
-
"\"PostgreSQL\" site:github.com stars:>1000",
|
|
1122
|
-
"PostgreSQL connection pooling",
|
|
1123
|
-
"PostgreSQL performance tuning",
|
|
1124
|
-
"PostgreSQL vs MongoDB use cases",
|
|
1125
|
-
"PostgreSQL replication setup"
|
|
1126
|
-
]
|
|
1127
|
-
```
|
|
562
|
+
`["PostgreSQL vs MySQL performance 2024", "PostgreSQL best practices production", "\"PostgreSQL\" site:github.com stars:>1000", "PostgreSQL connection pooling", "PostgreSQL vs MongoDB use cases"]`
|
|
1128
563
|
|
|
1129
564
|
**Problem Solving:**
|
|
1130
|
-
|
|
1131
|
-
[
|
|
1132
|
-
"Docker container memory leak debugging",
|
|
1133
|
-
"Docker memory limit not working",
|
|
1134
|
-
"\"Docker OOM\" site:stackoverflow.com",
|
|
1135
|
-
"Docker container resource monitoring",
|
|
1136
|
-
"Docker memory optimization best practices"
|
|
1137
|
-
]
|
|
1138
|
-
```
|
|
565
|
+
`["Docker container memory leak debugging", "Docker memory limit not working", "\"Docker OOM\" site:stackoverflow.com", "Docker memory optimization best practices"]`
|
|
1139
566
|
|
|
1140
567
|
**Comparison Research:**
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
"Next.js vs Remix developer experience"
|
|
1148
|
-
]
|
|
1149
|
-
```
|
|
1150
|
-
|
|
1151
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1152
|
-
🚀 **PRO TIPS FOR MAXIMUM EFFECTIVENESS**
|
|
1153
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
568
|
+
`["Next.js vs Remix performance", "Next.js 14 vs Remix 2024", "\"Next.js\" OR \"Remix\" benchmarks", "Next.js vs Remix developer experience"]`
|
|
569
|
+
|
|
570
|
+
**Example:**
|
|
571
|
+
❌ BAD: `{"keywords": ["React"]}` → 1 vague keyword, no operators, no diversity
|
|
572
|
+
|
|
573
|
+
✅ GOOD: `{"keywords": ["React state management best practices", "React useReducer vs Redux 2024", "React Context API performance", "Zustand React state library", "\"React state\" site:github.com", "React state management large applications", "React global state alternatives -Redux"]}` → 7 diverse angles with operators
|
|
1154
574
|
|
|
575
|
+
**Pro Tips:**
|
|
1155
576
|
1. **Use 5-7 keywords minimum** - Each reveals different perspective
|
|
1156
577
|
2. **Add year numbers** - "2024", "2025" for recent content
|
|
1157
578
|
3. **Use search operators** - site:, "exact", -exclude, filetype:
|
|
@@ -1161,129 +582,33 @@ tools:
|
|
|
1161
582
|
7. **Add context** - "best practices", "tutorial", "production", "performance"
|
|
1162
583
|
8. **Think parallel** - Each keyword searches independently
|
|
1163
584
|
|
|
1164
|
-
**
|
|
585
|
+
**Workflow:**
|
|
586
|
+
web_search → sequentialthinking (evaluate which URLs look promising) →
|
|
587
|
+
scrape_links (MUST scrape promising URLs - that's where real content is!) →
|
|
588
|
+
sequentialthinking (evaluate scraped content) →
|
|
589
|
+
OPTIONAL: web_search again if gaps found → synthesize
|
|
1165
590
|
|
|
1166
|
-
**
|
|
1167
|
-
|
|
1168
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1169
|
-
🧠 **ITERATIVE WORKFLOW - THINK → SEARCH → THINK → SCRAPE → THINK → REFINE**
|
|
1170
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1171
|
-
|
|
1172
|
-
**CRITICAL:** Use sequential thinking BETWEEN tool calls to refine based on results!
|
|
1173
|
-
|
|
1174
|
-
**WORKFLOW PATTERN:**
|
|
1175
|
-
```
|
|
1176
|
-
1. THINK FIRST (1-2 thoughts via sequentialthinking)
|
|
1177
|
-
→ Analyze what you need to find
|
|
1178
|
-
→ Plan initial keyword strategy
|
|
1179
|
-
→ Identify which perspectives to cover
|
|
1180
|
-
|
|
1181
|
-
2. SEARCH (call web_search with 5-7 keywords)
|
|
1182
|
-
→ Execute your planned keywords
|
|
1183
|
-
→ Get search results with URLs
|
|
1184
|
-
|
|
1185
|
-
3. THINK AFTER RESULTS (2-3 thoughts via sequentialthinking)
|
|
1186
|
-
→ Evaluate which URLs look most promising
|
|
1187
|
-
→ Identify gaps in search coverage
|
|
1188
|
-
→ Notice new angles from result snippets
|
|
1189
|
-
→ Decide: scrape_links OR search again OR both
|
|
1190
|
-
|
|
1191
|
-
4. SCRAPE PROMISING URLs (call scrape_links)
|
|
1192
|
-
→ Extract full content from 3-10 best URLs
|
|
1193
|
-
→ Use AI extraction (use_llm=true)
|
|
1194
|
-
→ Get detailed information
|
|
1195
|
-
|
|
1196
|
-
5. THINK AFTER SCRAPING (2-3 thoughts via sequentialthinking)
|
|
1197
|
-
→ Evaluate scraped content
|
|
1198
|
-
→ Identify what's still missing
|
|
1199
|
-
→ Decide if more searches needed
|
|
1200
|
-
|
|
1201
|
-
6. REFINE & ITERATE (if gaps remain)
|
|
1202
|
-
→ Call web_search AGAIN with refined keywords
|
|
1203
|
-
→ Cover gaps discovered from initial results
|
|
1204
|
-
→ Scrape new URLs
|
|
1205
|
-
→ Think and synthesize
|
|
1206
|
-
```
|
|
1207
|
-
|
|
1208
|
-
**WHY THIS WORKS:**
|
|
591
|
+
**Why this workflow works:**
|
|
1209
592
|
- Search results reveal new keywords you didn't think of
|
|
1210
593
|
- Scraped content shows what's actually useful vs what looked good
|
|
1211
594
|
- Thinking between tool calls prevents tunnel vision
|
|
1212
595
|
- Iterative refinement = comprehensive coverage
|
|
1213
|
-
- Humans don't search once - neither should you!
|
|
1214
|
-
|
|
1215
|
-
**EXAMPLE ITERATIVE FLOW:**
|
|
1216
|
-
```
|
|
1217
|
-
Step 1: Think
|
|
1218
|
-
"Need to research PostgreSQL vs MySQL. Start with performance,
|
|
1219
|
-
scalability, and production use cases."
|
|
1220
|
-
|
|
1221
|
-
Step 2: web_search (5 keywords)
|
|
1222
|
-
["PostgreSQL vs MySQL performance 2024",
|
|
1223
|
-
"PostgreSQL scalability production",
|
|
1224
|
-
"PostgreSQL vs MySQL benchmarks",
|
|
1225
|
-
"PostgreSQL production best practices",
|
|
1226
|
-
"MySQL vs PostgreSQL use cases"]
|
|
1227
|
-
|
|
1228
|
-
Step 3: Think (evaluate results)
|
|
1229
|
-
"Results mention connection pooling, replication, and specific
|
|
1230
|
-
benchmarks. I see URLs from official docs, DigitalOcean, and
|
|
1231
|
-
Percona. Should scrape these for details. Also noticed 'PgBouncer'
|
|
1232
|
-
mentioned - should search for that specifically."
|
|
1233
|
-
|
|
1234
|
-
Step 4: scrape_links (5 URLs from results)
|
|
1235
|
-
[Scrape PostgreSQL docs, MySQL docs, benchmark articles]
|
|
1236
|
-
|
|
1237
|
-
Step 5: Think (evaluate scraped content)
|
|
1238
|
-
"Got good info on connection pooling and replication. But missing:
|
|
1239
|
-
- Specific PgBouncer vs MySQL connection pooling comparison
|
|
1240
|
-
- Real-world migration experiences
|
|
1241
|
-
- Cost implications at scale
|
|
1242
|
-
Need to search again with these angles."
|
|
1243
|
-
|
|
1244
|
-
Step 6: web_search AGAIN (5 refined keywords)
|
|
1245
|
-
["PgBouncer vs MySQL connection pooling",
|
|
1246
|
-
"PostgreSQL vs MySQL migration experience",
|
|
1247
|
-
"PostgreSQL vs MySQL cost at scale",
|
|
1248
|
-
"PostgreSQL vs MySQL production stories",
|
|
1249
|
-
"PostgreSQL MySQL real-world comparison"]
|
|
1250
|
-
|
|
1251
|
-
Step 7: scrape_links (new URLs)
|
|
1252
|
-
[Scrape migration stories, cost analyses]
|
|
1253
|
-
|
|
1254
|
-
Step 8: Think (final synthesis)
|
|
1255
|
-
"Now have complete picture: performance, scalability, migration
|
|
1256
|
-
experiences, costs. Can make informed recommendation."
|
|
1257
|
-
```
|
|
1258
|
-
|
|
1259
|
-
**KEY INSIGHT:** Results are feedback! Use them to discover better searches!
|
|
1260
596
|
|
|
1261
|
-
**
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
sequentialthinking (evaluate) →
|
|
1266
|
-
OPTIONAL: web_search again if gaps found →
|
|
1267
|
-
sequentialthinking → final synthesis
|
|
1268
|
-
```
|
|
597
|
+
**CRITICAL:**
|
|
598
|
+
- ALWAYS scrape after web_search - that's where the real content is!
|
|
599
|
+
- ALWAYS think between tool calls - evaluate and refine!
|
|
600
|
+
- DON'T stop after one search - iterate based on learnings!
|
|
1269
601
|
|
|
1270
|
-
**
|
|
1271
|
-
- ALWAYS scrape after web_search (that's where the real content is!)
|
|
1272
|
-
- ALWAYS think between tool calls (evaluate and refine!)
|
|
1273
|
-
- DON'T stop after one search (iterate based on learnings!)
|
|
602
|
+
**FOLLOW-UP:** Use `scrape_links` to extract full content from promising URLs!
|
|
1274
603
|
|
|
1275
604
|
schemaDescriptions:
|
|
1276
605
|
keywords: |
|
|
1277
|
-
**
|
|
606
|
+
**3-100 diverse keywords** (Minimum 3 required, 5-7 recommended)
|
|
1278
607
|
|
|
1279
608
|
Each keyword runs as a separate Google search in parallel.
|
|
609
|
+
Each keyword should target a different angle using the 7-perspective formula.
|
|
1280
610
|
|
|
1281
|
-
**
|
|
1282
|
-
- Minimum 3 keywords required
|
|
1283
|
-
- Maximum 100 keywords allowed
|
|
1284
|
-
- Each keyword should target different angle
|
|
1285
|
-
|
|
1286
|
-
**DIVERSITY CHECKLIST:**
|
|
611
|
+
**Diversity Checklist:**
|
|
1287
612
|
✓ Includes broad keyword
|
|
1288
613
|
✓ Includes specific/technical keyword
|
|
1289
614
|
✓ Includes comparison keyword (vs, OR)
|
|
@@ -1292,17 +617,9 @@ tools:
|
|
|
1292
617
|
✓ Uses search operators (site:, "exact", -exclude)
|
|
1293
618
|
✓ Targets specific sources (GitHub, Stack Overflow, docs)
|
|
1294
619
|
|
|
1295
|
-
**
|
|
620
|
+
**Search Operators:**
|
|
1296
621
|
- `site:domain.com` - Search within site
|
|
1297
622
|
- `"exact phrase"` - Match exact phrase
|
|
1298
623
|
- `-exclude` - Exclude term
|
|
1299
624
|
- `filetype:pdf` - Find file type
|
|
1300
625
|
- `OR` - Match either term
|
|
1301
|
-
|
|
1302
|
-
**EXAMPLES:**
|
|
1303
|
-
|
|
1304
|
-
✅ GOOD: ["React hooks best practices", "React useEffect vs useLayoutEffect",
|
|
1305
|
-
"\"React hooks\" site:github.com", "React hooks performance 2024",
|
|
1306
|
-
"React custom hooks patterns", "React hooks -class components"]
|
|
1307
|
-
|
|
1308
|
-
❌ BAD: ["React"] (too vague, only 1 keyword, no diversity)
|