Commit Graph

18 Commits

Author SHA1 Message Date
Matt Harris cdc1783f92 parallel-develop: simplify MCP recipe to URL-first install
Most MCP clients (Claude Code, Claude Desktop Connectors UI, Cursor,
VS Code, Windsurf, Cline) just need the URL — OAuth handles auth on
first use. Previous recipe led with the mcp-remote stdio bridge +
inline API key + Claude Desktop shell-env gotchas, which only apply to
older clients without remote-HTTP support.

Now:
- URL-first, one config block per client, tiny snippets
- mcp-remote bridge demoted to a 'Stdio fallback' section at the bottom
- Per-client quirks captured in one line each (Windsurf uses serverUrl,
  Cline needs type=streamableHttp, VS Code wraps in mcp.servers)
- Points at docs.parallel.ai/integrations/mcp/search-mcp for any client
  not listed.
2026-04-21 14:54:52 -04:00
Matt Harris 2d88db935c parallel-develop: add canonical best-practice guidance
Pulled concrete, often counterintuitive guidance from the dedicated docs
pages into the SKILL.md guardrails and the per-language recipes, with
deep-dive links in each API section rather than paraphrasing.

Highlights:
- Task output schemas: every property must be in 'required', use
  {type: ['string','null']} union for optional fields, always set
  additionalProperties: false, root must be type: object.
- FindAll: if you get 0 matches, UPGRADE the generator before rewriting
  the query — issue is usually pool size, not query quality. Match
  generator to expected volume (base/core/pro guidance).
- Search / Extract: session_id groups related calls, client_model
  enables server-side optimization for the consuming LLM. Expose only
  objective + search_queries as LLM tool params.
- Extract: warning that full_content without objective is redundant.
- Added a 'Canonical best-practice pages' block in SKILL.md linking to
  Search/Extract/Task/FindAll/MCP best-practice docs.
2026-04-21 14:41:43 -04:00
Matt Harris 7374fc069d parallel-develop: update Search MCP URL to search.parallel.ai/mcp
The hosted Search MCP is launching at search.parallel.ai/mcp rather than
search-mcp.parallel.ai/mcp. Updated all references in the MCP recipe:
remote URL configs for Cursor / VS Code / Claude Desktop, the Claude Code
CLI install commands, and the programmatic Bearer-token example.
2026-04-21 14:31:02 -04:00
Matt Harris 82aced7cd5 parallel-develop: pin SDK versions, add result-shape + task_group refs
Follow-up from eval feedback:
- Python recipe now pins 'parallel-web>=0.5,<1.0' (both evals hit install
  friction without a pin).
- TS recipe pins 'parallel-web@^0.4' with a response-shape cheat-sheet.
- Python recipe documents how to import APIError/RateLimitError and the
  optional TaskSpecParam/JsonSchemaParam TypedDicts for strict pyright.
- Documents result.output.content shape (flagged as a guess by both evals).
- Adds a Task Group batch-enrichment snippet for the 50+ row case.
2026-04-21 14:14:54 -04:00
Matt Harris e2fa76ccd4 Add parallel-develop skill for bootstrapping integrations
Mirrors the /onboarding-guest landing-page experience as a user-invocable
skill: when a user says "integrate Parallel" / "add Parallel to my app",
the agent picks the matching API (Search / Task / FindAll / Monitor /
Extract) and client (Python / TypeScript / cURL / MCP), then emits install
+ env + a working code example with best-practice comments inline.

Structure (progressive disclosure per the Agent Skills spec):
- SKILL.md (71 lines): decision table, guardrails, and routing to a
  per-client recipe file.
- references/python.md: client.search, client.task_run (research +
  enrichment), client.beta.findall, client.extract, and an httpx
  fallback for the alpha Monitor API.
- references/typescript.md: same surface, with explicit guardrails that
  the TS SDK uses snake_case body fields (task_spec, output_schema,
  run_id) and a tsconfig note for the private-field lib-check issue.
- references/curl.md: raw HTTP equivalents with the correct endpoint
  versions (v1, v1beta, v1alpha).
- references/mcp.md: Claude Code / Cursor / VS Code / Claude Desktop
  configs for the hosted Search + Task MCP servers, including the
  macOS Claude Desktop gotchas (env inheritance, npx PATH, relaunch).

Complements, rather than replaces, the existing runtime skills
(parallel-web-search, parallel-deep-research, parallel-data-enrichment,
parallel-web-extract): those invoke parallel-cli to get work done now;
this one writes code the user will ship.

Bumps plugin + marketplace version to 0.3.0.
2026-04-21 14:13:16 -04:00
Matt H 3b705481ff Clarify that skill-installer runs inside Codex (#11)
* Clarify that skill-installer runs inside Codex, not the terminal

* Simplify Codex install note

* Remove skill-installer recommendation, keep manual install only

* Fix Codex install to use ~/.agents/skills per docs

* Use plugin docs install path: ~/.codex/plugins + personal marketplace

* Simplify Codex install: clone, cd, codex

* Recommend $skill-installer as primary Codex install method
2026-03-26 21:53:56 -07:00
Matt H 81fac4875e Add OpenAI Codex plugin support (#10)
* Add OpenAI Codex plugin support (dual-manifest)

Add .codex-plugin/plugin.json manifest and .agents/plugins/marketplace.json
for Codex compatibility. Skills directory is shared between both platforms.

* Add .agents/skills symlinks for Codex skill discovery

Codex scans .agents/skills/ at the repo root for skill auto-discovery.
Symlinks point back to the shared skills/ directory so both platforms
read the same SKILL.md files. Codex docs confirm symlink support.

* Direct agent to read from output file instead of stdout

Codex truncates stdout via max_output_tokens on tool calls, so the
JSON results get cut off. The -o flag already saves full results to
file — instruct the agent to read from there instead.

* Tell agent not to cap output tokens on parallel-cli commands

The CLI already bounds output via --max-results and
--excerpt-max-chars-total. Adding max_output_tokens on the tool call
creates a second truncation layer that breaks JSON parsing.

* Add Codex installation instructions to README

* Fix enrichment skill: add --output to poll command

The --target flag on enrich run doesn't carry over to the poll step,
so the output CSV was never written. The poll command needs its own
--output flag to save results.

* Add --json flag to enrich run commands

Without --json, the CLI output isn't structured and the interaction_id
can't be parsed for multi-turn context chaining.
2026-03-26 21:39:33 -07:00
Matt H 9d6cd08a16 Add interaction ID support for multi-turn context chaining (#9)
* Add interaction ID support for multi-turn research and enrichment

The CLI now returns interaction_id values that can chain context across
turns. This updates skills to extract and surface interaction IDs, and
to pass --previous-interaction-id on follow-up queries. Enables flows
like search → deep research, research → enrichment, and multi-turn
deep research sessions where pronouns like "they" or "that" resolve
from prior context.

* Revert web-search interaction_id changes — search API doesn't return one

Search uses a different API path (returns search_id, not interaction_id).
Only research run and enrich run support interaction chaining.

* Use docs language for interaction chaining, recommend lite processor for follow-ups

Follow-ups use --processor lite since the heavy research was already done
in the initial turn. Language aligned with docs.parallel.ai.

* Remove search from interaction_id references — only research and enrichment support it
2026-03-18 16:22:39 -04:00
tomvotran 98c22584c8 Modify our skills to write results to tmp dir (#8) 2026-03-11 17:27:30 -04:00
Matt H 90db4ecbac Consolidate commands into skills (v0.2.0) (#7)
* Consolidate commands into skills after Claude Code v2.1.3 merge

Claude Code v2.1.3 merged slash commands and skills into a unified
model. Remove the commands/ directory and convert the 3 standalone
commands (setup, status, result) into proper skills. The 4 wrapper
commands that just delegated to skills are no longer needed. Add
user-invocable and argument-hint frontmatter to all skills. Bump
version to 0.2.0.

* Use parallel-subagent for search and extract skills

Adds agent: parallel-subagent to the forked search and extract skills,
scoping them to Bash-only instead of the default general-purpose agent.

* Qualify agent reference with plugin namespace

Use parallel:parallel-subagent instead of bare parallel-subagent
since the agent is defined in this plugin, not in .claude/agents/.
2026-03-02 11:13:38 -05:00
Matt H fcfb4dee4f Clarify that search first arg is the objective (#6)
Document that the first positional argument to parallel-cli search is
a natural language objective, not a keyword query.
2026-02-09 22:25:58 -05:00
Matt H 1719483193 Add pipx fallback for CLI installation (#5)
Some environments can't use the install script (e.g. no curl, network
restrictions). Add pipx as a fallback install method across all skills
and the setup command.
2026-02-09 22:11:30 -05:00
Matt H 91aad6f750 Use agent frontmatter for fork context instead of Task tool workaround (#4)
context: fork now works in Claude Code, so the "Claude Code" sections
that manually spawned subagents via the Task tool are redundant. Replace
with agent: parallel-subagent in frontmatter to use the correct agent
type for the fork.
2026-02-06 23:00:34 -05:00
Matt H c74c7c065b Update deep research and enrichment skills for new CLI polling features (#3)
Deep research: surface executive summary from poll stdout
Enrichment: use --no-wait + poll pattern with tracking URL
2026-02-06 22:21:59 -05:00
Matt H c30e7cb5fe Rename repo references from agent-skills to parallel-agent-skills (#2)
Update all references across README, plugin.json, and marketplace.json
to reflect the new repository name.
2026-02-06 19:14:08 -05:00
Matt H 22f5f351c3 Merge pull request #1 from parallel-web/mh-update-readme
Improve readme
2026-02-06 15:12:08 -05:00
Matt Harris ba2c009e7f Improve readme 2026-02-06 15:11:15 -05:00
Matt Harris 12932a9b8e Initial commit 2026-02-06 14:45:24 -05:00