skills/parallel-data-enrichment/SKILL.md
Bulk data enrichment. Adds web-sourced fields (CEO names, funding, contact info) to lists of companies, people, or products. Use for enriching CSV files or inline data. Supports multi-turn: pass --previous-interaction-id from a prior research task to carry context forward.
npx skillsauth add parallel-web/parallel-cursor-plugin parallel-data-enrichmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Enrich: $ARGUMENTS
Inform the user that enrichment may take several minutes depending on the number of rows and fields requested.
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 suggestrequiresparallel-cli≥ 0.3.0. If it errors with anything resemblingno 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 mentionparallel-cli update(orpipx upgrade parallel-web-tools) in the final response so the user picks up the feature next time.
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:
Tell them they can background the polling step to continue working while it runs.
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:
--timeout 540 (9 minutes) to stay within tool execution limits--target from step 1 is unused in --no-wait mode — only --output here determines where results are saved, and the file is always JSONEnrichment of large datasets can take longer than 9 minutes. If the poll exits without completing:
parallel-cli enrich poll command to continue waitingAfter step 1: Share the monitoring URL (for tracking progress).
After step 2:
{input, output} objects)Do NOT re-share the monitoring URL after completion — the results are in the output file.
parallel-cli binary is not installedIf the shell reports command not found: parallel-cli (i.e. the binary itself is missing — distinct from a No such command error from a stale CLI, which the in-body guidance above covers), stop immediately. Do NOT search the web yourself, do NOT use any built-in search tools, and do NOT try to answer the query from your own knowledge. Instead, tell the user:
parallel-cli is not installed/parallel-setup to install itdevelopment
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.