parallel-data-enrichment

Enrichissement en masse de données d'entreprise, de personnes ou de produits avec des champs issus du web comme les noms des PDG, les financements et les coordonnées. Accepte les données JSON en ligne ou les fichiers CSV ; produit des résultats enrichis au format CSV. Fonctionne de manière asynchrone avec suivi de progression via une URL de surveillance et des commandes d'interrogation. Nécessite l'outil parallel-cli et un accès Internet ; gère de grands ensembles de données avec des délais configurables. Prend en charge les demandes de champs flexibles via des descriptions d'intention en langage naturel (par exemple, "nom du PDG et année de fondation").

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.

Plus de skills de parallel-web

parallel-monitor
parallel-web
Surveiller en continu le web pour détecter des changements à intervalles réguliers. Utiliser lorsque l'utilisateur demande de « surveiller », « suivre les modifications de », « observer » ou « m'alerter quand » quelque chose…
migrate-to-parallel
parallel-web
Migrez complètement les intégrations de données web d'Exa, Tavily, Perplexity ou Firecrawl vers les produits Parallel appropriés tout en préservant le comportement de l'application. Utilisez…
parallel-deep-research
parallel-web
Recherche exhaustive avec profondeur, latence et compromis de coût configurables pour des sujets complexes. Trois niveaux de processeurs (pro-fast, ultra-fast, ultra) allant de 30 secondes à 25 minutes, avec un coût variant de 1x à 3x par rapport à la base. Exécution asynchrone avec interrogation : lancez la recherche instantanément, suivez la progression via une URL, récupérez les résultats lorsqu'ils sont prêts sans blocage. Les sorties génèrent un rapport formaté en Markdown et des métadonnées JSON ; un résumé exécutif est affiché sur stdout pour un aperçu rapide. Conçu pour une...
parallel-findall
parallel-web
Découvrir des entités (entreprises, personnes, produits, etc.) correspondant à une description en langage naturel. À utiliser lorsque l'utilisateur demande de « trouver tous les X » ou « lister tous les Y qui… » —…
parallel-memory
parallel-web
Rappelez les exécutions passées de Parallel Task, Monitor et FindAll lorsqu'elles peuvent aider ; évincez les exécutions ou effacez la mémoire lorsqu'on vous le demande.
parallel-web-extract
parallel-web
Extrait le contenu de plusieurs URL en parallèle, de manière économe en tokens. Gère les pages web, articles, PDF et sites lourds en JavaScript avec une seule commande. S'exécute dans un contexte forké pour minimiser la surcharge de tokens par rapport à WebFetch intégré. Prend en charge l'extraction par lots de plusieurs URL avec des objectifs de focus optionnels. Nécessite l'installation et l'authentification de parallel-cli ; produit le contenu extrait au format markdown dans un fichier local pour les requêtes de suivi.
parallel-web-search
parallel-web
Recherche web rapide pour des informations actuelles, des recherches et des vérifications de faits sur internet. Exécute des requêtes basées sur un seul objectif ou plusieurs recherches par mots-clés en parallèle, renvoyant jusqu'à 10 résultats avec des extraits et des métadonnées. Prend en charge le filtrage temporel via --after-date et les recherches spécifiques à un domaine avec --include-domains. Produit un JSON structuré avec titres, URL, dates de publication et extraits pour une analyse facile et des requêtes de suivi. Nécessite des citations en ligne pour chaque affirmation en utilisant le markdown...
setup
parallel-web
Configurer le plugin Parallel (installer CLI)