| name | parallel-search |
| description | Comprehensive web research via Parallel Search API. Use when user requests parallel search for deep multi-source research, technical analysis, learning new topics, current events, or comparative studies. Returns LLM-ready ranked URLs with extended excerpts (up to 30K chars). Single API call handles multiple query angles with automatic deduplication. |
| allowed-tools | Bash(pnpm tsx*) |
Parallel Search
Web research using Parallel's Search API with extended excerpts (up to 30K chars per result).
When to Use
Use for comprehensive research on:
- Technical topics requiring multiple perspectives
- New frameworks, libraries, technologies
- Comparative analysis
- Current events
- Documentation synthesis
Prerequisites
Required:
PARALLEL_API_KEYenvironment variable- Get key: https://platform.parallel.ai/
Dependencies: Auto-installed via pnpm
Workflow
When user requests research:
- Analyze question to identify main objective
- Generate 3-5 targeted query angles for multi-perspective coverage
- Execute single bash command with
--objectiveand--queriesparameters - API returns deduplicated results from parallel execution
- Analyze extended excerpts and synthesize findings
- Save report to
docs/research/parallel/TIMESTAMP-topic.md
Usage
Comprehensive Research (Recommended)
cd plugins/knowledge-work/skills/parallel-search
pnpm tsx scripts/search.ts \
--objective "Production RAG system architecture" \
--queries \
"RAG chunking strategies" \
"RAG evaluation metrics" \
"RAG deployment challenges" \
"RAG vector database selection"
The API executes all queries in parallel and returns deduplicated results automatically.
Quick Single Query
pnpm tsx scripts/search.ts --objective "When was the UN founded?"
Processor Levels
# Default: pro (balanced quality/speed)
pnpm tsx scripts/search.ts --objective "..."
# Ultra: maximum quality for critical research
pnpm tsx scripts/search.ts --objective "..." --processor ultra
Parameters
--objective(required): Main search objective (natural language, be specific)--queries: Additional query angles (max 5, 200 chars each)--processor: lite/base/pro/ultra (default: pro)--max-results: Results per search (default: 15)--max-chars: Excerpt length per result (default: 5000, max: 30000)
Output Format
Returns markdown with:
- Search metadata (objective, result count, execution time)
- Top domains distribution
- Ranked results:
- Title and URL
- Domain
- Extended excerpts (joined with double newlines)
- Rank
Query Generation Strategy
For broad topics: Generate queries covering different aspects
Example: "RAG systems"
- Objective: "Production RAG system architecture overview"
- Queries: "chunking strategies", "evaluation metrics", "deployment patterns", "vector databases"
For comparisons: Generate queries for each option plus general comparison
Example: "PostgreSQL vs MongoDB"
- Objective: "PostgreSQL vs MongoDB comparison"
- Queries: "PostgreSQL use cases", "MongoDB use cases", "relational vs document databases"
For current events: Use temporal and source diversity
Example: "Latest AI developments"
- Objective: "Recent AI model releases and benchmarks"
- Queries: "GPT-4 updates", "open source LLMs", "AI safety research", "industry adoption"
Research Persistence
After synthesis, save report:
- Get timestamp: Use
timestampskill for YYYYMMDDHHMMSS format - Sanitize topic: Use
sanitizeForFilenamefrom formatter.ts (kebab-case, 50 char limit) - Save to:
docs/research/parallel/TIMESTAMP-topic.md - Include: Findings, sources with URLs, analysis
Error Handling
Missing API key:
export PARALLEL_API_KEY="your-key-here"
Rate limit exceeded: Wait for reset time (shown in error message)
Network errors: Retry with --processor lite for faster response
Validation errors: Check constraints (max 5 queries, 200 chars each)
Constraints
- Max 5 queries per request
- Max 200 chars per query
- Max 30K chars per excerpt (not guaranteed above 30K)
- Rate limits depend on API plan tier
- Requires internet connection
Best Practices
- Use specific objectives: "Production RAG architecture" > "RAG systems"
- Leverage all 5 query slots for comprehensive coverage
- Use
--max-charsup to 30000 for deep content analysis - Adapt processor level to urgency: pro for most, ultra for critical
- Save multi-query research for future reference
Implementation
Files:
types.ts- Interfaces and error typesparallel-client.ts- API client with validationformatter.ts- Markdown output formattinglog.ts- CLI loggingsearch.ts- CLI entry point
Testing:
pnpm test