# Web Search

> Search the live web for legal and commercial facts while redlining a contract — market-standard terms, typical liability caps, governing-law norms, regulatory references, or counterparty/company background. Use when the task brief or playbooks do not already contain a fact you need to make a calibrated negotiation call. Backed by the Linkup web search API. Never use it to fabricate authority you cannot cite.

- Skill: `linkupplatform/web-search` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add linkupplatform/web-search`
- Raw SKILL.md: https://api.skillmd.com/api/skills/linkupplatform/web-search/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: linkupplatform (https://skillmd.com/u/linkupplatform)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/linkupplatform/web-search

---


# Web Search

Look up real-world facts to support a redline. The contract, the attorney
brief, and the bundled playbooks are still your primary source — only reach
for the web when you need something they do not contain, e.g.:

- what a *market-standard* value looks like (liability cap multiples, notice
  windows, cure periods, indemnity carve-outs) so you can judge whether the
  counterparty's position is aggressive or normal,
- governing-law / regulatory references (GDPR, CCPA, DPA norms) when a clause
  turns on them,
- background on the named counterparty or its industry.

Do your own reasoning and drafting. Search returns evidence; it does not write
the redline. Do not cite a source you did not retrieve.

## Script

```bash
python scripts/web_search.py "QUERY" [--depth standard|deep] [--type sourcedAnswer|searchResults]
```

- `QUERY` — a natural-language retrieval instruction (what to find, where to
  look), not a question you want answered rhetorically. Example:
  `"typical limitation of liability cap multiple in SaaS master service agreements 2025"`.
- `--depth` (default `standard`) — use `standard` for facts that live in
  search snippets; use `deep` when you need the model to read full pages or
  chain steps (slower, costs more).
- `--type` (default `sourcedAnswer`) — `sourcedAnswer` returns a synthesized
  answer plus the sources it used; `searchResults` returns raw ranked results.

Output is JSON printed to stdout: for `sourcedAnswer`, an `answer` string and a
`sources` array (each with `name`, `url`, `snippet`). Exit code 1 means the
call failed (the reason prints to stderr).

## Guidance

- Prefer one or two precise searches over many vague ones. State the fact you
  want and the context (jurisdiction, contract type, year).
- Treat results as evidence to weigh, not ground truth — note disagreement
  between sources rather than picking one blindly.
- If a search returns nothing useful, fall back to the playbooks and your own
  judgment; do not block the redline on it.

