Parallel Cli logo

Parallel Cli

Community
Tommy-yw
parallel-cli

Optional vendor skill for Parallel CLI — agent-native web search, extraction, deep research, enrichment, FindAll, and monitoring. Prefer JSON output and non-interactive flows.

Overview

PublisherTommy-yw
RepositoryRunbookHermes
Skill nameparallel-cli
Stars
546
Forks
41
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Tommy-yw on GitHub. Read the source before you install it.

Installation

Install the Parallel Cli AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/research/parallel-cli
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git /tmp/RunbookHermes
mkdir -p .claude/skills
cp -r /tmp/RunbookHermes/optional-skills/research/parallel-cli .claude/skills/parallel-cli
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Parallel Cli in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Parallel Cli on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Parallel Cli is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Parallel CLI

Use parallel-cli when the user explicitly wants Parallel, or when a terminal-native workflow would benefit from Parallel's vendor-specific stack for web search, extraction, deep research, enrichment, entity discovery, or monitoring.

This is an optional third-party workflow, not a Hermes core capability.

Important expectations:

  • Parallel is a paid service with a free tier, not a fully free local tool.
  • It overlaps with Hermes native web_search / web_extract, so do not prefer it by default for ordinary lookups.
  • Prefer this skill when the user mentions Parallel specifically or needs capabilities like Parallel's enrichment, FindAll, or monitor workflows.

parallel-cli is designed for agents:

  • JSON output via --json
  • Non-interactive command execution
  • Async long-running jobs with --no-wait, status, and poll
  • Context chaining with --previous-interaction-id
  • Search, extract, research, enrichment, entity discovery, and monitoring in one CLI

When to use it

Prefer this skill when:

  • The user explicitly mentions Parallel or parallel-cli
  • The task needs richer workflows than a simple one-shot search/extract pass
  • You need async deep research jobs that can be launched and polled later
  • You need structured enrichment, FindAll entity discovery, or monitoring

Prefer Hermes native web_search / web_extract for quick one-off lookups when Parallel is not specifically requested.

Installation

Try the least invasive install path available for the environment.

Homebrew

bash
brew install parallel-web/tap/parallel-cli

npm

bash
npm install -g parallel-web-cli

Python package

bash
pip install "parallel-web-tools[cli]"

Standalone installer

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

If you want an isolated Python install, pipx can also work:

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

Authentication

Interactive login:

bash
parallel-cli login

Headless / SSH / CI:

bash
parallel-cli login --device

API key environment variable:

bash
export PARALLEL_API_KEY="***"

Verify current auth status:

bash
parallel-cli auth

If auth requires browser interaction, run with pty=true.

Core rule set

  1. Always prefer --json when you need machine-readable output.
  2. Prefer explicit arguments and non-interactive flows.
  3. For long-running jobs, use --no-wait and then status / poll.
  4. Cite only URLs returned by the CLI output.
  5. Save large JSON outputs to a temp file when follow-up questions are likely.
  6. Use background processes only for genuinely long-running workflows; otherwise run in foreground.
  7. Prefer Hermes native tools unless the user wants Parallel specifically or needs Parallel-only workflows.

Quick reference

text
parallel-cli
├── auth
├── login
├── logout
├── search
├── extract / fetch
├── research run|status|poll|processors
├── enrich run|status|poll|plan|suggest|deploy
├── findall run|ingest|status|poll|result|enrich|extend|schema|cancel
└── monitor create|list|get|update|delete|events|event-group|simulate

Common flags and patterns

Commonly useful flags:

  • --json for structured output
  • --no-wait for async jobs
  • --previous-interaction-id <id> for follow-up tasks that reuse earlier context
  • --max-results <n> for search result count
  • --mode one-shot|agentic for search behavior
  • --include-domains domain1.com,domain2.com
  • --exclude-domains domain1.com,domain2.com
  • --after-date YYYY-MM-DD

Read from stdin when convenient:

bash
echo "What is the latest funding for Anthropic?" | parallel-cli search - --json
echo "Research question" | parallel-cli research run - --json

Search

Use for current web lookups with structured results.

bash
parallel-cli search "What is Anthropic's latest AI model?" --json
parallel-cli search "SEC filings for Apple" --include-domains sec.gov --json
parallel-cli search "bitcoin price" --after-date 2026-01-01 --max-results 10 --json
parallel-cli search "latest browser benchmarks" --mode one-shot --json
parallel-cli search "AI coding agent enterprise reviews" --mode agentic --json

Useful constraints:

  • --include-domains to narrow trusted sources
  • --exclude-domains to strip noisy domains
  • --after-date for recency filtering
  • --max-results when you need broader coverage

If you expect follow-up questions, save output:

bash
parallel-cli search "latest React 19 changes" --json -o /tmp/react-19-search.json

When summarizing results:

  • lead with the answer
  • include dates, names, and concrete facts
  • cite only returned sources
  • avoid inventing URLs or source titles

Extraction

Use to pull clean content or markdown from a URL.

bash
parallel-cli extract https://example.com --json
parallel-cli extract https://company.com --objective "Find pricing info" --json
parallel-cli extract https://example.com --full-content --json
parallel-cli fetch https://example.com --json

Use --objective when the page is broad and you only need one slice of information.

Deep research

Use for deeper multi-step research tasks that may take time.

Common processor tiers:

  • lite / base for faster, cheaper passes
  • core / pro for more thorough synthesis
  • ultra for the heaviest research jobs

Synchronous

bash
parallel-cli research run \
  "Compare the leading AI coding agents by pricing, model support, and enterprise controls" \
  --processor core \
  --json

Async launch + poll

bash
parallel-cli research run \
  "Compare the leading AI coding agents by pricing, model support, and enterprise controls" \
  --processor ultra \
  --no-wait \
  --json

parallel-cli research status trun_xxx --json
parallel-cli research poll trun_xxx --json
parallel-cli research processors --json

Context chaining / follow-up

bash
parallel-cli research run "What are the top AI coding agents?" --json
parallel-cli research run \
  "What enterprise controls does the top-ranked one offer?" \
  --previous-interaction-id trun_xxx \
  --json

Recommended Hermes workflow:

  1. launch with --no-wait --json
  2. capture the returned run/task ID
  3. if the user wants to continue other work, keep moving
  4. later call status or poll
  5. summarize the final report with citations from the returned sources

Enrichment

Use when the user has CSV/JSON/tabular inputs and wants additional columns inferred from web research.

Suggest columns

bash
parallel-cli enrich suggest "Find the CEO and annual revenue" --json

Plan a config

bash
parallel-cli enrich plan -o config.yaml

Inline data

bash
parallel-cli enrich run \
  --data '[{"company": "Anthropic"}, {"company": "Mistral"}]' \
  --intent "Find headquarters and employee count" \
  --json

Non-interactive file run

bash
parallel-cli enrich run \
  --source-type csv \
  --source companies.csv \
  --target enriched.csv \
  --source-columns '[{"name": "company", "description": "Company name"}]' \
  --intent "Find the CEO and annual revenue"

YAML config run

bash
parallel-cli enrich run config.yaml

Status / polling

bash
parallel-cli enrich status <task_group_id> --json
parallel-cli enrich poll <task_group_id> --json

Use explicit JSON arrays for column definitions when operating non-interactively. Validate the output file before reporting success.

FindAll

Use for web-scale entity discovery when the user wants a discovered dataset rather than a short answer.

bash
parallel-cli findall run "Find AI coding agent startups with enterprise offerings" --json
parallel-cli findall run "AI startups in healthcare" -n 25 --json
parallel-cli findall status <run_id> --json
parallel-cli findall poll <run_id> --json
parallel-cli findall result <run_id> --json
parallel-cli findall schema <run_id> --json

This is a better fit than ordinary search when the user wants a discovered set of entities that can be reviewed, filtered, or enriched later.

Monitor

Use for ongoing change detection over time.

bash
parallel-cli monitor list --json
parallel-cli monitor get <monitor_id> --json
parallel-cli monitor events <monitor_id> --json
parallel-cli monitor delete <monitor_id> --json

Creation is usually the sensitive part because cadence and delivery matter:

bash
parallel-cli monitor create --help

Use this when the user wants recurring tracking of a page or source rather than a one-time fetch.

Recommended Hermes usage patterns

Fast answer with citations

  1. Run parallel-cli search ... --json
  2. Parse titles, URLs, dates, excerpts
  3. Summarize with inline citations from the returned URLs only

URL investigation

  1. Run parallel-cli extract URL --json
  2. If needed, rerun with --objective or --full-content
  3. Quote or summarize the extracted markdown

Long research workflow

  1. Run parallel-cli research run ... --no-wait --json
  2. Store the returned ID
  3. Continue other work or periodically poll
  4. Summarize the final report with citations

Structured enrichment workflow

  1. Inspect the input file and columns
  2. Use enrich suggest or provide explicit enriched columns
  3. Run enrich run
  4. Poll for completion if needed
  5. Validate the output file before reporting success

Error handling and exit codes

The CLI documents these exit codes:

  • 0 success
  • 2 bad input
  • 3 auth error
  • 4 API error
  • 5 timeout

If you hit auth errors:

  1. check parallel-cli auth
  2. confirm PARALLEL_API_KEY or run parallel-cli login / parallel-cli login --device
  3. verify parallel-cli is on PATH

Maintenance

Check current auth / install state:

bash
parallel-cli auth
parallel-cli --help

Update commands:

bash
parallel-cli update
pip install --upgrade parallel-web-tools
parallel-cli config auto-update-check off

Pitfalls

  • Do not omit --json unless the user explicitly wants human-formatted output.
  • Do not cite sources not present in the CLI output.
  • login may require PTY/browser interaction.
  • Prefer foreground execution for short tasks; do not overuse background processes.
  • For large result sets, save JSON to /tmp/*.json instead of stuffing everything into context.
  • Do not silently choose Parallel when Hermes native tools are already sufficient.
  • Remember this is a vendor workflow that usually requires account auth and paid usage beyond the free tier.

Frequently asked questions

What does the Parallel Cli AI skill do?

Optional vendor skill for Parallel CLI — agent-native web search, extraction, deep research, enrichment, FindAll, and monitoring. Prefer JSON output and non-interactive flows.

Why use Parallel Cli on TypingMind?

Because you install it once and use it with any model. Parallel Cli is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Parallel Cli in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/research/parallel-cli. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Parallel Cli?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Parallel Cli?

As many as you like. As long as a model supports skills, you can use Parallel Cli with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Parallel Cli AI skill free?

Yes. It is published on GitHub by Tommy-yw under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇