← Back to Skills

web-search-aggregator

v1.0.0 approved Web Search ⬇ 7 updated today
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ Download
Install Guide↓
🤖 Agent install commands (curl / MCP / Claude Desktop)
▸ curl one-liner
curl -L -o web-search-aggregator.skill   "https://aiskillstore.io/v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=ClaudeCode"
▸ MCP tool call (after registering Skill Store MCP)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP config (one-time)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 Full agent API guide: /llms.txt  ·  MCP server card

Multi-engine web search aggregator supporting SerpAPI/Tavily/Brave/Bing with unified output schema, automatic fallback, and mock demo mode. 멀티 엔진 통합 검색, 자동 폴백, 웹 검색 통합 어댑터.

# web_search # multi_engine_search # search_aggregation # real_time_information # fallback_routing # 웹 검색 # 통합 검색 # 멀티 엔진 검색

Basic Info

Owner 👤 aiskillstore-team Category Web Search Registered 2026-06-29 Last Updated 2026-06-29 Latest Version 1.0.0 Packaged At 2026-06-29 Vetting Status approved Downloads 7 Checksum (SHA256) 22a7ab208a82ef54fa812dd1996c92d78cd94fe33efded280a5bda0b4ebb670c

⚡ AGENT INFO USK v3

Capabilities
web_search multi_engine_search search_aggregation real_time_information fallback_routing
Permissions
✓ network
✗ filesystem
✗ subprocess
env: SERPAPI_KEY, TAVILY_API_KEY, BRAVE_API_KEY, BING_API_KEY
Interface
type: cli   entry_point: main.py   runtime: python3.11   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=OpenClaw GET /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=ClaudeCode GET /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=Cursor GET /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=GeminiCLI GET /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=CodexCLI GET /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=CustomAgent

Installation

Compatible Platforms any

1
Install the skill using openclaw_skill_manager.py.
python openclaw_skill_manager.py --install web-search-aggregator
2
Verify installation
python openclaw_skill_manager.py --list-installed
3
Install a specific version (optional)
python openclaw_skill_manager.py --install web-search-aggregator --version 1.0.0
1
Download the skill package.
curl -O https://aiskillstore.io/v1/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download
2
Place it in the Claude Code commands directory.
unzip web-search-aggregator.skill -d ~/.claude/commands/web-search-aggregator/
3
Use it as a slash command in Claude Code.
/web-search-aggregator
1
Download the Agent Skills package.
curl -O https://aiskillstore.io/v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=ClaudeCodeAgentSkill
2
Unzip it into the Claude Code skills directory.
unzip web-search-aggregator-agent-skill-*.skill -d ~/.claude/skills/web-search-aggregator/
3
Restart Claude Code — the skill is auto-loaded at session start. No slash command needed.
1
Download the Cursor-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=Cursor
2
Unzip and place it in a permanent location.
unzip web-search-aggregator-cursor-*.skill -d ~/.cursor/skills/web-search-aggregator/
3
Add the MCP server config to .cursor/mcp.json, then restart Cursor.
cat ~/.cursor/skills/web-search-aggregator/cursor_mcp_config.json
1
Download the Gemini CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=GeminiCLI
2
Unzip and place it in a permanent location.
unzip web-search-aggregator-geminicli-*.skill -d ~/.gemini/skills/web-search-aggregator/
3
Add the MCP server config to ~/.gemini/settings.json, then restart Gemini CLI.
cat ~/.gemini/skills/web-search-aggregator/gemini_settings_snippet.json
1
Download the Codex CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=CodexCLI
2
Unzip and place it in a permanent location.
unzip web-search-aggregator-codexcli-*.skill -d ~/.codex/skills/web-search-aggregator/
3
Add the MCP server config to ~/.codex/config.toml, then restart Codex CLI.
cat ~/.codex/skills/web-search-aggregator/codex_config_snippet.toml
1
Download the skill package via REST API.
GET https://aiskillstore.io/v1/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download
2
Place it in your agent platform's skills directory.
cp web-search-aggregator.skill ./skills/
3
Fetch platform-specific details via the Install Guide API.
GET https://aiskillstore.io/v1/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/install-guide?platform=CustomAgent

Security Vetting Report

Vetting Result CAUTION

Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)", "USK v3 경고: interface.runtime 'python3.11'이 권장 값이 아닙니다 (권장: ['python3', 'node', 'bash', 'binary', 'any'])"]

✅ No security risks found.

AI Review Stage

Reviewer gemini Risk Level 🟢 Low Review Summary 멀티 엔진 웹 검색 통합 스킬로, 선언된 권한을 준수하며 안전하게 동작합니다.
Reasoning

1. **권한 일치 여부:** 스킬 메타데이터에 선언된 `network: true` 권한은 `lib/engines.py`에서 `urllib.request`를 사용하여 외부 검색 엔진 API와 통신하는 코드와 일치합니다. `filesystem: false` 및 `subprocess: false` 권한 또한 코드에서 파일 시스템 접근이나 외부 프로세스 실행이 발견되지 않아 일치합니다. API 키는 `env_vars`에 선언된 환경 변수를 통해 안전하게 로드됩니다. 2. **악의적 코드 여부:** 코드 분석 결과, 데이터 탈취, 시스템 파괴, 난독화 등 악의적인 목적으로 사용될 수 있는 코드는 발견되지 않았습니다. 스킬의 목적에 충실하게 웹 검색 결과를 통합하고 반환하는 기능만을 수행합니다. 3. **선언되지 않은 외부 통신 여부:** 모든 네트워크 통신은 `Tavily`, `Brave`, `SerpAPI`, `Bing` 등 메타데이터 및 코드에 명시된 검색 엔진 API로만 이루어집니다. 선언되지 않은 다른 외부 서버로의 통신은 발견되지 않았습니다. 4. **사용자 데이터 무단 수집/전송 여부:** 사용자 입력(검색 쿼리)은 스킬의 핵심 기능 수행을 위해 선언된 검색 엔진 API로 전송됩니다. 이 외에 사용자 데이터를 무단으로 수집하거나 제3자에게 전송하는 행위는 발견되지 않았습니다. 5. **코드 품질:** 코드는 `main.py`와 `lib/engines.py`로 모듈화되어 있으며, 가독성이 높고 명확합니다. 입력 유효성 검사, 오류 처리, 엔진 자동 선택 및 폴백 로직이 잘 구현되어 있으며, API 키가 없을 경우를 대비한 mock 모드도 제공하여 안정적인 동작을 보장합니다. 정적 분석 결과 'caution' 상태였으나, 구체적인 위험 요소(red_flags_found, obfuscation_warnings, forbidden_exec_files_found)는 발견되지 않았습니다. 전반적으로 스킬의 목적에 부합하는 높은 품질의 코드입니다.

Version History

Version USK v3 Vetting Status Packaged At Downloads Changelog
v1.0.0 approved 2026-06-29 ⬇ 7

Examples 6

Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.

Tavily로 키워드 검색
# tavily# search

TAVILY_API_KEY만 설정된 환경에서 검색 실행

📥 Input
{
  "action": "search",
  "max_results": 5,
  "query": "AI agent frameworks 2025"
}
📤 Output
{
  "available_engines": [
    "tavily"
  ],
  "engine_used": "tavily",
  "mock": false,
  "result_count": 5,
  "results": [
    {
      "snippet": "Overview of leading AI agent frameworks...",
      "source_engine": "tavily",
      "title": "Top AI Agent Frameworks",
      "url": "https://example.com/ai-agents"
    }
  ]
}
Brave로 검색 (Brave 키만 보유 시)
# brave# search

BRAVE_API_KEY 환경에서 자동 선택

📥 Input
{
  "action": "search",
  "max_results": 3,
  "query": "Python async best practices"
}
📤 Output
{
  "available_engines": [
    "brave"
  ],
  "engine_used": "brave",
  "mock": false,
  "result_count": 3,
  "results": [
    {
      "snippet": "Best practices for async Python development...",
      "source_engine": "brave",
      "title": "Async Python Guide",
      "url": "https://example.com/async-python"
    }
  ]
}
엔진 강제 지정 (SerpAPI)
# serpapi# forced_engine

engine 파라미터로 SerpAPI 강제 사용

📥 Input
{
  "action": "search",
  "engine": "serpapi",
  "max_results": 5,
  "query": "machine learning tutorials"
}
📤 Output
{
  "available_engines": [
    "serpapi"
  ],
  "engine_used": "serpapi",
  "mock": false,
  "result_count": 5,
  "results": [
    {
      "snippet": "Comprehensive machine learning tutorials...",
      "source_engine": "serpapi",
      "title": "ML Tutorial Site",
      "url": "https://example.com/ml"
    }
  ]
}
멀티 엔진 병합 (multi=true)
# multi# aggregation# deduplication

여러 엔진 결과를 URL 기준 중복 제거 후 병합

📥 Input
{
  "action": "search",
  "max_results": 10,
  "multi": true,
  "query": "LLM benchmarks 2025"
}
📤 Output
{
  "available_engines": [
    "tavily",
    "brave"
  ],
  "engine_used": "multi",
  "mock": false,
  "result_count": 2,
  "results": [
    {
      "snippet": "Latest LLM benchmark results...",
      "source_engine": "tavily",
      "title": "LLM Benchmark Report",
      "url": "https://example.com/benchmarks"
    },
    {
      "snippet": "Comparing leading LLMs...",
      "source_engine": "brave",
      "title": "Model Comparison 2025",
      "url": "https://example.com/compare"
    }
  ]
}
설정된 키 진단 (list_engines)
# diagnostics# list_engines

현재 어떤 API 키가 설정됐는지 확인

📥 Input
{
  "action": "list_engines"
}
📤 Output
{
  "available_engines": [
    "tavily",
    "serpapi"
  ],
  "engine_used": "",
  "mock": false,
  "result_count": 0,
  "results": []
}
키 없는 환경 — mock 데모
# mock# demo# no_key

API 키 미설정 시 mock 결과로 인터페이스 시연

📥 Input
{
  "action": "search",
  "max_results": 3,
  "query": "web search demo"
}
📤 Output
{
  "available_engines": [],
  "engine_used": "mock",
  "mock": true,
  "result_count": 2,
  "results": [
    {
      "snippet": "This is a mock search result for demonstration purposes.",
      "source_engine": "mock",
      "title": "[Mock] Web Search Result 1",
      "url": "https://mock.example.com/1"
    },
    {
      "snippet": "Configure SERPAPI_KEY, TAVILY_API_KEY, BRAVE_API_KEY, or BING_API_KEY to get real results.",
      "source_engine": "mock",
      "title": "[Mock] Web Search Result 2",
      "url": "https://mock.example.com/2"
    }
  ]
}

All examples are also available via the agent API: /v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/schema

Reviews & Ratings

No reviews yet. Be the first to leave one!

✍️ Write a Review