curl -L -o web-search-aggregator.skill "https://aiskillstore.io/v1/agent/skills/ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c/download?platform=ClaudeCode"
{
"tool": "download_skill",
"arguments": {
"skill_id": "ae12f6ce-5c5b-43ff-9f01-d1a0aac35e1c",
"platform": "ClaudeCode"
}
}
{
"mcpServers": {
"skill-store": {
"url": "https://aiskillstore.io/mcp/"
}
}
}
Multi-engine web search aggregator supporting SerpAPI/Tavily/Brave/Bing with unified output schema, automatic fallback, and mock demo mode. 멀티 엔진 통합 검색, 자동 폴백, 웹 검색 통합 어댑터.
Compatible Platforms any
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
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)는 발견되지 않았습니다. 전반적으로 스킬의 목적에 부합하는 높은 품질의 코드입니다.
Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.
TAVILY_API_KEY만 설정된 환경에서 검색 실행
{
"action": "search",
"max_results": 5,
"query": "AI agent frameworks 2025"
}
{
"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_API_KEY 환경에서 자동 선택
{
"action": "search",
"max_results": 3,
"query": "Python async best practices"
}
{
"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"
}
]
}
engine 파라미터로 SerpAPI 강제 사용
{
"action": "search",
"engine": "serpapi",
"max_results": 5,
"query": "machine learning tutorials"
}
{
"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"
}
]
}
여러 엔진 결과를 URL 기준 중복 제거 후 병합
{
"action": "search",
"max_results": 10,
"multi": true,
"query": "LLM benchmarks 2025"
}
{
"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"
}
]
}
현재 어떤 API 키가 설정됐는지 확인
{
"action": "list_engines"
}
{
"available_engines": [
"tavily",
"serpapi"
],
"engine_used": "",
"mock": false,
"result_count": 0,
"results": []
}
API 키 미설정 시 mock 결과로 인터페이스 시연
{
"action": "search",
"max_results": 3,
"query": "web search demo"
}
{
"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
No reviews yet. Be the first to leave one!