parallel-data-enrichment

Bulk enrichment of company, people, or product data with web-sourced fields like CEO names, funding, and contact info. Accepts inline JSON data or CSV files; outputs enriched results to CSV Runs asynchronously with progress tracking via monitoring URL and polling commands Requires parallel-cli tool and internet access; handles large datasets with configurable timeouts Supports flexible field requests through natural language intent descriptions (e.g., "CEO name and founding year")

npx skills add https://github.com/parallel-web/parallel-agent-skills --skill parallel-data-enrichment

Data Enrichment

Enrich: $ARGUMENTS

Before starting

Inform the user that enrichment may take several minutes depending on the number of rows and fields requested.

Optional: Suggest output columns

If the user gave a vague intent ("enrich these companies with useful info") and you're not sure what columns to add, ask the API for a suggestion before kicking off the run:

parallel-cli enrich suggest "Find CEO and recent funding info" --json

The response is an envelope: {title, processor, enriched_columns, warnings}. Extract just the enriched_columns array (not the whole envelope) and pass it as the value of --enriched-columns on enrich run, in place of --intent — the two flags are alternative ways to specify what to enrich, not combined. If suggest returned a processor, pass it through explicitly via --processor on the run call (it's a tuned recommendation for the schema). Skip this whole section if the user already specified the fields they want.

enrich suggest requires parallel-cli ≥ 0.3.0. If it errors with anything resembling no such command / No such command / unknown command, do not bail — skip the suggestion step, fall through to step 1 with --intent, complete the run, and mention parallel-cli update (or pipx upgrade parallel-web-tools) in the final response so the user picks up the feature next time.

Step 1: Start the enrichment

Use ONE of these command patterns (substitute user's actual data):

For inline data:

parallel-cli enrich run --data '[{"company": "Google"}, {"company": "Microsoft"}]' --intent "CEO name and founding year" --target "output.csv" --no-wait --json

For CSV file:

parallel-cli enrich run --source-type csv --source "input.csv" --target "output.csv" --source-columns '[{"name": "company", "description": "Company name"}]' --intent "CEO name and founding year" --no-wait --json

If this is a follow-up to a previous research task and you have its interaction_id, add context chaining:

parallel-cli enrich run --data '...' --intent "..." --target "output.csv" --no-wait --json --previous-interaction-id "$INTERACTION_ID"

The enrichment will run with the full context of that prior research — so you can enrich entities discovered earlier without restating what was already found. Note: enrichment does not itself produce a new interaction_id, so you cannot chain a further follow-up off of an enrichment.

IMPORTANT: Always include --no-wait so the command returns immediately instead of blocking.

Parse the --json output to extract taskgroup_id and url. The output is {taskgroup_id, url, num_runs} — there is no interaction_id field, do not look for one. Immediately tell the user:

  • Enrichment has been kicked off
  • The monitoring URL where they can track progress

Tell them they can background the polling step to continue working while it runs.

Step 2: Poll for results

Pick a concrete output path (e.g., /tmp/enrichment-acme.json). Note: the file is JSON regardless of the extension you choose — it's an array of {input, output} objects, not a CSV. Name it .json to avoid confusing yourself or the user.

parallel-cli enrich poll "$TASKGROUP_ID" --timeout 540 --output "/tmp/enrichment-<descriptive-name>.json"

Important:

  • Use --timeout 540 (9 minutes) to stay within tool execution limits
  • The --target from step 1 is unused in --no-wait mode — only --output here determines where results are saved, and the file is always JSON

If the poll times out

Enrichment of large datasets can take longer than 9 minutes. If the poll exits without completing:

  1. Tell the user the enrichment is still running server-side
  2. Re-run the same parallel-cli enrich poll command to continue waiting

Response format

After step 1: Share the monitoring URL (for tracking progress).

After step 2:

  1. Report number of rows enriched
  2. Preview first few rows from the output file (it's a JSON array of {input, output} objects)
  3. Tell the user the full path to the output file

Do NOT re-share the monitoring URL after completion — the results are in the output file.

Setup

If parallel-cli is not found, install and authenticate:

/parallel:parallel-cli-setup

If any parallel-cli enrich command returns 403, tell the user balance is likely required. Offer to run parallel-cli balance get, and if needed ask for explicit confirmation before running parallel-cli balance add <amount_cents>. Then retry the original enrichment command.

Thêm skills từ parallel-web

parallel-cli-setup
parallel-web
Set up and maintain the Parallel CLI (install, auth, balance, skills install)
official
parallel-deep-research
parallel-web
Nghiên cứu toàn diện với các tùy chọn điều chỉnh độ sâu, độ trễ và chi phí cho các chủ đề phức tạp. Ba cấp xử lý (pro-fast, ultra-fast, ultra) từ 30 giây đến 25 phút, với chi phí từ 1x đến 3x so với mức cơ bản. Thực thi bất đồng bộ với cơ chế polling: khởi tạo nghiên cứu ngay lập tức, theo dõi tiến độ qua URL, lấy kết quả khi sẵn sàng mà không bị chặn. Đầu ra bao gồm báo cáo định dạng markdown và siêu dữ liệu JSON; tóm tắt điều hành được in ra stdout để xem nhanh. Được thiết kế cho các...
official
parallel-findall
parallel-web
Discover entities (companies, people, products, etc.) matching a natural-language description. Use when the user asks to 'find all X' or 'list every Y that…' —…
official
parallel-monitor
parallel-web
Continuously track the web for changes on a recurring cadence. Use when the user asks to 'monitor', 'track changes to', 'watch', or 'alert me when' something…
official
parallel-web-extract
parallel-web
Extract content from multiple URLs in parallel, token-efficiently. Handles webpages, articles, PDFs, and JavaScript-heavy sites with a single command Runs in a forked context to minimize token overhead compared to built-in WebFetch Supports batch extraction of multiple URLs with optional focus objectives Requires parallel-cli installation and authentication; outputs extracted content as markdown to a local file for follow-up queries
official
parallel-web-search
parallel-web
Fast web search for current information, research, and fact-finding across the internet. Executes single objective-based queries or multiple keyword searches in parallel, returning up to 10 results with excerpts and metadata Supports time-sensitive filtering via --after-date and domain-specific searches with --include-domains Outputs structured JSON with titles, URLs, publish dates, and excerpts for easy parsing and follow-up queries Requires inline citations for every claim using markdown...
official
result
parallel-web
Lấy kết quả nhiệm vụ nghiên cứu đã hoàn thành theo ID chạy
official
setup
parallel-web
Set up the Parallel plugin (install CLI)
official