用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/sediman-agent/OpenSkynet --skill search-orchestration命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| 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.