{"skill":{"slug":"parallel-findall","displayName":"Parallel FindAll","summary":"Discover entities (companies, people, products) matching a natural-language description via the Parallel FindAll API. Use when the user wants to 'find all X'...","description":"---\nname: parallel-findall\ndescription: \"Discover entities (companies, people, products) matching a natural-language description via the Parallel FindAll API. Use when the user wants to 'find all X' or 'list every Y that…' — different from web search (returns webpages) and deep research (returns a narrative report). Returns a structured list of entities.\"\nhomepage: https://parallel.ai\n---\n\n# Parallel FindAll\n\nDiscover entities matching a natural-language description. FindAll is for \"give me a list of things that match this criteria\" tasks — companies, people, products, papers, anything enumerable. Returns structured entities, not webpages or prose.\n\n## When to Use\n\nTrigger this skill when the user asks for:\n- \"find all [X]\", \"list every [Y] that…\"\n- \"discover [companies / people / products] matching…\"\n- \"give me a list of [SaaS in vertical Z / YC W24 dev tools / Series A AI startups]\"\n- Bulk entity discovery where the answer is a structured list, not a narrative\n\n**Use Search for \"what is X?\"; use FindAll for \"list every X that matches Y\".**\n\n## Quick Start\n\n```bash\nparallel-cli findall run \"AI startups that raised Series A in 2026\" --json\n```\n\n## CLI Reference\n\n### Basic Usage\n\n```bash\nparallel-cli findall run \"<objective>\" [options]\nparallel-cli findall status frun_xxx --json\nparallel-cli findall poll frun_xxx --json\nparallel-cli findall result frun_xxx --json\nparallel-cli findall extend frun_xxx <n> --json\nparallel-cli findall cancel frun_xxx\n```\n\n### Common Flags\n\n| Flag | Description |\n|------|-------------|\n| `-g, --generator` | Generator tier: `preview`, `base`, `core` (default), `pro` |\n| `-n, --match-limit` | Max matched candidates, 5-1000 (default: 10) |\n| `--exclude '<json>'` | Entities to exclude (JSON array of `{name, url}`) |\n| `--no-wait` | Return immediately with `frun_xxx`; poll separately |\n| `--dry-run` | Preview the schema FindAll will use, without creating a run |\n| `--json` | Output as JSON |\n| `-o, --output <file>` | Save full result to file |\n\n### Examples\n\n**Basic discovery:**\n```bash\nparallel-cli findall run \"Find roofing companies in Charlotte NC\" --json\n```\n\n**Larger result set with `core` generator:**\n```bash\nparallel-cli findall run \"AI startups that raised Series A in 2026\" -n 50 --json\n```\n\n**`pro` tier for deeper coverage:**\n```bash\nparallel-cli findall run \"YC W24 dev tools companies\" -g pro -n 100 --json\n```\n\n**Preview the schema before running:**\n```bash\nparallel-cli findall run \"Find Series B fintechs in Latin America\" --dry-run --json\n```\n\n**Exclude already-known entities:**\n```bash\nparallel-cli findall run \"Find AI startups in healthcare\" \\\n  --exclude '[{\"name\": \"Hippocratic AI\", \"url\": \"hippocraticai.com\"}]' \\\n  --json\n```\n\n**Async — launch then poll separately:**\n```bash\nparallel-cli findall run \"AI startups that raised Series A in 2026\" --no-wait --json\n# returns frun_xxx\nparallel-cli findall status frun_xxx --json\nparallel-cli findall poll frun_xxx --json    # waits and returns result\n```\n\n**Extend an existing run with more matches:**\n```bash\nparallel-cli findall extend frun_xxx 50 --json\n```\n\n**Cancel a running job:**\n```bash\nparallel-cli findall cancel frun_xxx\n```\n\n## Best-Practice Prompting\n\n### Objective\n1-3 sentences describing:\n- The entity type (companies / people / products / papers / etc.)\n- The matching criteria (vertical, geography, time range, status)\n- Any quality filters (\"active\", \"publicly listed\", \"open-source\")\n\n### Generator Tier\n- `preview` — fast scan, low coverage. Useful only for quick sanity checks.\n- `base` — broad and fast, but **noisy** (query echoes, no-URL entries, category placeholders). Use only when the user explicitly accepts noise.\n- `core` (default) — best balance of coverage and quality.\n- `pro` — deeper coverage, slower. Use for high-stakes discovery where missing matches is costly.\n\n### Match Limit\nPick the smallest `-n` that satisfies the user's intent. Default 10 is fine for \"show me a few\"; bump to 50–100 for \"list every X\". Max 1000.\n\n## Response Format\n\n`findall run` returns JSON with:\n- `findall_id` — `frun_xxx`\n- `status` — `running` / `completed` / `cancelled` / `failed`\n- `schema` — the JSON Schema FindAll built for the matches\n- `matches[]` — array of entities, each with fields per the schema (typically `name`, `url`, plus skill-specific extracted fields)\n\n## Output Handling\n\nWhen relaying matches to the user:\n- **Filter noise**: drop entries with empty `url`, query-echo names, or category placeholders. Especially important on `-g base`.\n- **Group by source domain** if the result set is large — helps the user spot duplicate sources.\n- **Echo `findall_id`** so the user can `extend` or `cancel` later.\n\n## Running Out of Context?\n\nFor large result sets (`-n` ≥ 50), save and use `sessions_spawn`:\n\n```bash\nparallel-cli findall run \"<objective>\" -n 100 --json -o /tmp/findall-<topic>.json\n```\n\nThen spawn a sub-agent:\n```json\n{\n  \"tool\": \"sessions_spawn\",\n  \"task\": \"Read /tmp/findall-<topic>.json and produce a deduplicated table grouped by category.\",\n  \"label\": \"findall-summary\"\n}\n```\n\n## Error Handling\n\n| Exit Code | Meaning |\n|-----------|---------|\n| 0 | Success |\n| 1 | Unexpected error (network, parse) |\n| 2 | Invalid arguments |\n| 3 | API error (non-2xx) |\n\n## Prerequisites\n\nRequires `parallel-cli` (installed and authenticated). If `parallel-cli --version` fails, or if a later command fails with an authentication error, tell the user to see https://docs.parallel.ai/integrations/cli and stop.\n\n## References\n\n- [API Docs](https://docs.parallel.ai)\n- [FindAll API Reference](https://docs.parallel.ai/api-reference/findall)\n","tags":{"latest":"1.0.3"},"stats":{"comments":0,"downloads":346,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1778181622576,"updatedAt":1778492872010},"latestVersion":{"version":"1.0.3","createdAt":1778181622576,"changelog":"parallel-findall 1.0.3\n\n- Clarified SKILL.md documentation for best practices, CLI usage, flags, and prompt guidance.\n- Added detailed output handling and error code explanations.\n- Included specific instructions for using FindAll for entity discovery, excluding entities, and managing large result sets.\n- Improved examples and response format sections for easier onboarding.\n- Updated references and prerequisites for easier troubleshooting and setup.","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"normallygaussian","userId":"s173n6zpcxryc8pb92y0hgm1f985dyrd","displayName":"NormallyGaussian","image":"https://avatars.githubusercontent.com/u/3804139?v=4"},"moderation":null}