con un clic
search-orchestration
Expert at using SearchSDK for complex research tasks
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Expert at using SearchSDK for complex research tasks
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
The original v1 taste-skill, preserved for projects depending on its exact behavior. The current default is `design-taste-frontend` (v2 experimental), which is a substantial rewrite. Use this v1 install name only if you need exact backward compatibility.
Use only when the user explicitly types `/orchestrate <goal>` to decompose a large task, spawn a tree of parallel cloud-agent workers/subplanners/verifiers via the Cursor SDK, and collect structured handoffs; do not invoke autonomously.
Build, debug, and optimize Claude API / Anthropic SDK apps. Apps built with this skill should include prompt caching. Also handles migrating existing Claude API code between Claude model versions (4.5 → 4.6, 4.6 → 4.7, retired-model replacements). TRIGGER when: code imports `anthropic`/`@anthropic-ai/sdk`; user asks for the Claude API, Anthropic SDK, or Managed Agents; user adds/modifies/tunes a Claude feature (caching, thinking, compaction, tool use, batch, files, citations, memory) or model (Opus/Sonnet/Haiku) in a file; questions about prompt caching / cache hit rate in an Anthropic SDK project. SKIP: file imports `openai`/other-provider SDK, filename like `*-openai.py`/`*-generic.py`, provider-neutral code, general programming/ML.
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, or extract information from web pages.
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use for /architect, 'architect this', 'design this', or non-trivial work where jumping to code would lock in the wrong shape.
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena, 'arena this', 'throw it in the arena', or when one attempt at a non-trivial artifact would lock in the wrong shape.
| name | search_orchestration |
| description | Expert at using SearchSDK for complex research tasks |
| version | 1 |
You are an expert at using the SearchSDK to orchestrate complex, multi-step search research tasks.
Use search_orchestrate for:
Use web_search for:
sdk = SearchSDK()
Single query:
hits = await sdk.retrieve.web("python async", provider="google", limit=10)
Parallel multi-query:
queries = ["python async", "golang routines", "rust async"]
all_hits = await sdk.retrieve.web_many(queries, concurrency=3)
# Returns: list of lists, one per query
Remove duplicates:
unique = sdk.filter.dedupe(hits, key="url")
Filter by domain:
# Only official sources
official = sdk.filter.by_domain(hits, include=["google.com", "chromium.org"])
# Exclude low-quality sources
clean = sdk.filter.by_domain(hits, exclude=["ads.com", "spam.com"])
Filter by regex:
# Only CVEs
cves = sdk.filter.by_regex(hits, field="snippet", pattern=r"CVE-\d{4}-\d+")
Filter by keywords:
# Include security-related
security = sdk.filter.by_keyword(hits, words=["security", "vulnerability"], mode="include")
# Exclude ads
clean = sdk.filter.by_keyword(hits, words=["sponsored", "ad"], mode="exclude")
Extract from multiple hits:
results = await sdk.extract.extract_many(
hits,
schema={"cve": str, "fix_version": str, "severity": str},
instruction="Extract CVE information"
)
Extract from single hit:
result = await sdk.extract.extract_one(
hit,
schema={"title": str, "author": str, "date": str}
)
Save state:
sdk.state.save("cve_results", results)
Load state:
previous = sdk.state.load("cve_results")
List all states:
states = sdk.state.list()
# Research CVEs across multiple years
queries = [
f'site:chromereleases.googleblog.com "CVE-{{year}}"'
for year in [2023, 2024, 2025]
]
hits = await sdk.retrieve.web_many(queries, concurrency=4)
filtered = sdk.filter.by_domain(hits, exclude=["mitre.org", "nvd.nist.gov"])
results = await sdk.extract.extract_many(
filtered,
schema={"cve": str, "fix_version": str, "severity": str, "summary": str}
)
return results
# Cross-reference pricing across vendors
queries = ["product X price", "product X cost", "product X pricing"]
hits = await sdk.retrieve.web_many(queries, concurrency=3)
all_prices = await sdk.extract.extract_many(
hits,
schema={"vendor": str, "price": str, "currency": str},
instruction="Extract product pricing information"
)
sdk.state.save("price_comparison", all_prices)
return all_prices
# Turn 1: Collect data
queries = ["topic A", "topic B", "topic C"]
hits = await sdk.retrieve.web_many(queries, concurrency=3)
sdk.state.save("research_hits", hits)
# Turn 2: Process saved data
saved_hits = sdk.state.load("research_hits")
results = await sdk.extract.extract_many(
saved_hits,
schema={"topic": str, "summary": str}
)
return results
CVE Research:
queries = [f'site:chromereleases.googleblog.com "CVE-{{y}}"' for y in [2023, 2024, 2025]]
hits = await sdk.retrieve.web_many(queries, concurrency=4)
filtered = sdk.filter.by_domain(hits, exclude=["mitre.org", "nvd.nist.gov"])
results = await sdk.extract.extract_many(
filtered,
schema={"cve": str, "fix_version": str, "severity": str}
)
return results
Competitor Analysis:
vendors = ["competitor A", "competitor B", "competitor C"]
queries = [f"{{v}} pricing features" for v in vendors]
hits = await sdk.retrieve.web_many(queries, concurrency=3)
results = await sdk.extract.extract_many(
hits,
schema={"vendor": str, "pricing_model": str, "starting_price": str}
)
return results
Topic Survey:
queries = ["python async tutorial", "golang async guide", "rust async book"]
hits = await sdk.retrieve.web_many(queries, concurrency=3)
tutorials = sdk.filter.by_regex(hits, field="title", pattern="(tutorial|guide)")
results = await sdk.extract.extract_many(
tutorials[:5], # Limit to top 5
schema={"language": str, "topic": str, "url": str}
)
return results
Remember: SearchSDK is for complex, multi-step research. For simple queries, just use web_search directly.