Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Parallel AI search

Use Parallel's parallel-cli to do live web search, URL extraction (clean markdown), deep research reports, bulk data enrichment (CSV/JSON), FindAll entity di...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
1 · 1.6k · 2 current installs · 2 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The SKILL.md clearly implements a CLI-based 'Parallel' search/extract/enrich workflow that matches the skill name and description. However, registry-level metadata lists no required environment variables while the SKILL.md (and its openclaw metadata) names PARALLEL_API_KEY as the primaryEnv — this mismatch is unexplained and should be clarified.
Instruction Scope
Runtime instructions are focused on the declared capabilities: calling parallel-cli for search, extract, research, enrich, findall, and monitor. The instructions do not ask the agent to read unrelated system files or other credentials. They do suggest writing outputs to /tmp and optionally configuring webhooks (user-provided URLs) — both expected for these tasks but worth noting as data-handling points.
!
Install Mechanism
The skill has no formal install spec in the registry, but the SKILL.md instructs the agent to run a remote install script via curl -fsSL https://parallel.ai/install.sh | bash (and offers pipx as a fallback). Executing a remote shell script is higher-risk than a registry-managed package; the domain appears to be the official project, which reduces concern, but users should prefer vetted installation methods (pipx/install from known package sources) or inspect the script before running it.
!
Credentials
The CLI requires authentication (PARALLEL_API_KEY or interactive login), which is proportionate to its web-search/enrichment function. The problem is the package metadata at the registry level declares no required env vars while the skill itself declares PARALLEL_API_KEY as primaryEnv — this inconsistency could mislead users about what credentials will be requested. No unrelated secrets are requested in the instructions.
Persistence & Privilege
The skill does not request always:true and does not ask to modify other skills or system-wide settings. It uses temporary files under /tmp for outputs, which is normal. Autonomous invocation is permitted (platform default) but is not combined with elevated or unexpected privileges here.
What to consider before installing
This instruction-only skill largely does what it says: it runs the Parallel CLI to search, extract, enrich, and monitor the web. Before installing or running it: (1) Verify the PARALLEL_API_KEY requirement — confirm you want to give the Parallel service an API key and check its scope/permissions. (2) Prefer installing via pipx or inspecting the install script before running curl | bash from https://parallel.ai/install.sh. (3) Be aware outputs are written to /tmp (avoid exposing sensitive data there). (4) If you plan to use Monitor webhooks, only supply webhook URLs you control/trust to avoid data exfiltration. (5) Note the registry metadata omission (it lists no required env vars) — ask the publisher or registry maintainer to correct the declared requirements if you need stricter auditing. If you are uncomfortable with running an unattended install script or giving an external API key, run the CLI in a sandboxed environment or decline installation.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.3
Download zip
latestvk97e2veawvxakxrcgp7k9fezy982sqjm

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Parallel AI Search (CLI Master)

This is a single “master” skill that replaces the earlier Node-script-based version of parallel-ai-search.

It routes to the right parallel-cli capability for the task:

  • Search: quick web lookup with citations (parallel-cli search)
  • Extract: turn URLs (including PDFs and JS-heavy pages) into clean, LLM-ready text (parallel-cli extract)
  • Deep research: multi-source reports with processor tiers (parallel-cli research ...)
  • Enrich: add web-sourced columns to CSV/JSON (parallel-cli enrich ...)
  • FindAll: discover entities from the web with optional enrichments (parallel-cli findall ...)
  • Monitor: track web changes on a cadence, optionally via webhook (parallel-cli monitor ...)

Routing rules (pick ONE)

Choose the smallest / cheapest action that solves the user’s request:

  1. Extract — if the user gives one or more URLs or says “read/summarise this page”, “extract”, “quote”, “pull the content”, “what does this page say”.
  2. Deep research — ONLY if the user explicitly asks for deep, exhaustive, comprehensive, thorough investigation, or a multi-source “report”.
  3. Enrich — if the user provides a list/table (CSV/JSON/inline objects) and wants new columns like CEO, revenue, funding, contact info, etc.
  4. FindAll — if the user wants you to discover many entities (companies/people/venues/etc.) that match criteria.
  5. Monitor — if the user wants ongoing tracking (“alert me”, “track changes”, “monitor this weekly”) rather than a one-off answer.
  6. Search — default for everything else that needs current web info or citations.

Optional manual prefixes if the user invoked this skill directly:

  • search: ...
  • extract: ...
  • research: ...
  • enrich: ...
  • findall: ...
  • monitor: ...

If a prefix is present, honour it.

Setup and authentication (only when needed)

Before running any Parallel command, ensure auth works:

parallel-cli auth

If parallel-cli is missing, install it:

curl -fsSL https://parallel.ai/install.sh | bash

If you cannot use the install script, use pipx:

pipx install "parallel-web-tools[cli]"
pipx ensurepath

Then authenticate (choose one):

# Interactive OAuth (opens browser)
parallel-cli login

# Headless / SSH / CI
parallel-cli login --device

# Or environment variable
export PARALLEL_API_KEY="your_api_key"

Output & citation rules

  • Always cite web-sourced facts with inline markdown links: [Source Title](https://...).
  • End with a Sources list whenever you used Search/Extract/Research output.
  • Prefer official/primary sources when available.
  • For long outputs, save to files in /tmp/ and summarise in-chat.

Search (default web lookup)

Use Search for fast, cost-effective answers with citations.

Command template

parallel-cli search "$OBJECTIVE"   --mode agentic   --max-results 10   --json

Add any of these only when relevant:

  • --after-date YYYY-MM-DD (freshness constraint)
  • --include-domains a.com b.org (restrict sources)
  • --exclude-domains spam.com (block sources)
  • one or more -q "keyword query" flags (extra keyword probes)
  • -o "/tmp/$SLUG.search.json" (save full JSON to a file)

Parse + respond

From the JSON results, extract title, url, and any publish_date / excerpt fields. Answer the user’s question, and cite each claim inline.

Extract (read one or more URLs)

Use Extract when you need the actual contents of specific URLs (webpages, PDFs, JS-heavy sites).

Command template

parallel-cli extract "$URL" --json

Add when relevant:

  • --objective "Focus area" (e.g., pricing, API usage, constraints)
  • --full-content (only if the user needs the whole page)
  • --no-excerpts (if you only want full content)
  • -o "/tmp/$SLUG.extract.json" (save full JSON to a file)

Respond

  • If the user asked for a summary, summarise with citations to the extracted URL.
  • If the user asked for the verbatim text, provide the extracted markdown only if it is reasonably sized; otherwise provide the key sections + offer to read more from the saved output.

Deep research (only when explicitly requested)

Deep research is slower and may cost more than Search. Use it only when the user explicitly wants depth.

Step 1 — start (always async)

parallel-cli research run "$QUESTION" --processor pro-fast --no-wait --json

Parse run_id (and any monitoring URL) from JSON and tell the user the run started.

Step 2 — poll (bounded timeout)

Choose a short slug filename (lowercase-hyphen), then:

parallel-cli research poll "$RUN_ID" -o "/tmp/$SLUG" --timeout 540
  • Share the executive summary printed by the poll command.
  • Mention the output files:
    • /tmp/$SLUG.md
    • /tmp/$SLUG.json

If polling times out, re-run the same poll command — the run continues server-side.

Enrich (CSV/JSON or inline data)

Use Enrich to add web-sourced columns to structured data.

Step 1 — (optional) suggest columns

parallel-cli enrich suggest "$INTENT" --json

Use this when the user knows the goal but not the exact output schema.

Step 2 — run (always async for large jobs)

For CSV:

parallel-cli enrich run   --source-type csv   --source "input.csv"   --target "/tmp/enriched.csv"   --source-columns '[{"name":"company","description":"Company name"}]'   --intent "$INTENT"   --no-wait --json

For inline JSON rows:

parallel-cli enrich run   --data '[{"company":"Google"},{"company":"Apple"}]'   --target "/tmp/enriched.csv"   --intent "$INTENT"   --no-wait --json

Parse taskgroup_id from JSON.

Step 3 — poll

parallel-cli enrich poll "$TASKGROUP_ID" --timeout 540 --json

After completion:

  • Tell the user the output file path (the --target you chose).
  • Preview a few rows (using file read tools if available) and report row counts.

If poll times out, re-run it — the job continues server-side.

FindAll (entity discovery)

Use FindAll when the user wants you to discover a set of entities (e.g., “AI startups in healthcare”, “roofing companies in Charlotte”, “YC devtools companies”).

Step 1 — run

parallel-cli findall run "$OBJECTIVE" --generator core --match-limit 25 --no-wait --json

Useful options:

  • --dry-run --json to preview schema before spending money
  • --exclude '[{"name":"Example Corp","url":"example.com"}]' to avoid known entities
  • --generator preview|base|core|pro (core default; pro for hardest queries)

Parse run_id from JSON.

Step 2 — poll + fetch results

parallel-cli findall poll "$RUN_ID" --json
parallel-cli findall result "$RUN_ID" --json

Respond with:

  • total entities found
  • a clean list/table of the best matches (name + URL + key attributes)
  • any caveats about ambiguous matches

Monitor (web change tracking)

Use Monitor when the user wants ongoing tracking.

Create:

parallel-cli monitor create "$OBJECTIVE" --cadence daily --json

Optional:

  • --cadence hourly|daily|weekly|every_two_weeks
  • --webhook https://example.com/hook (deliver events externally)
  • --output-schema '<JSON schema string>' (structured events)

Manage:

parallel-cli monitor list --json
parallel-cli monitor get "$MONITOR_ID" --json
parallel-cli monitor update "$MONITOR_ID" --cadence weekly --json
parallel-cli monitor delete "$MONITOR_ID"
parallel-cli monitor events "$MONITOR_ID" --json
parallel-cli monitor simulate "$MONITOR_ID" --json

Respond with the monitor id and how to retrieve events (or confirm webhook delivery).

Reference material

  • Copy/paste command templates and patterns: references/command-templates.md
  • Troubleshooting common failures: references/troubleshooting.md

Files

3 total
Select a file
Select a file to preview.

Comments

Loading comments…