web-search-verifier
npx skills add https://github.com/orientpine/honeypot --skill web-search-verifier
Agent 安装分布
Skill 文档
ì¹ê²ì êµì°¨ê²ì¦ ì¤í¬
â ï¸ CRITICAL: ì¤í¬ ì¬ì© ë°©ë² (ë°ëì ìì§)
ì´ ì¤í¬ì “í¨ì”ê° ìëëë¤. ì§ì¹¨ 문ìì ëë¤.
- â
search_rate("fed_funds")ê°ì í¨ì í¸ì¶ì ìëíì§ ììµëë¤- â ìì´ì í¸ê°
mcp_websearch_web_search_exaë구를 ì§ì í¸ì¶í´ì¼ í©ëë¤- â ì´ ì¤í¬ì ê²ì 쿼리 í¨í´ê³¼ ê²ì¦ ì 차를 ìë´íë 문ìì ëë¤
ì¬ë°ë¥¸ ì¬ì© ë°©ë²
1. ì´ ì¤í¬ 문ì를 ì½ê³ ê²ì 쿼리 í¨í´ íì
2. mcp_websearch_web_search_exa ë구를 ì§ì í¸ì¶
3. ê²ì ê²°ê³¼ìì ë°ì´í° ì¶ì¶
4. 3ê° ì¶ì² êµì°¨ ê²ì¦ ìí
5. ì¶ë ¥ ì¤í¤ë§ì ë§ì¶° ê²°ê³¼ í¬ì¥
ì못ë ì¬ì© ë°©ë² (íê° ë°ì)
â "search_rate() í¸ì¶" (ì¡´ì¬íì§ ìë í¨ì)
â "ì¤í¬ì´ ììì ê²ìí´ì¤" (ì¤í¬ì 문ìì¼ ë¿)
â ìì ë°ì´í°ì ì«ì를 ê·¸ëë¡ ì¬ì© (íëì½ë©ë ì¤ëë ê°)
Overview
ì´ ì¤í¬ì ê±°ìê²½ì ë°ì´í°(ì§ì, ê¸ë¦¬, íì¨) ìì§ ì íê°ì ë°©ì§í기 ìí íì¤ íë¡í ì½ì ëë¤. 모ë ìì¹ ë°ì´í°ë ìì´ì í¸ê° ì§ì ì¹ê²ì ë구를 í¸ì¶íì¬ 3ê° ì´ìì ë 립 ì¶ì²ìì êµì°¨ ê²ì¦ íìë§ ì¬ì© ê°ë¥í©ëë¤.
ì ë ê·ì¹ (Zero Tolerance)
ê¸ì§ ì¬í (NEVER)
- â ì¹ê²ì ìì´ ì«ì ìì± â ì¦ì FAIL
- â ë¨ì¼ ì¶ì²ë§ì¼ë¡ íì â ìµì 3ê° íì
- â ì¶ì² URL ìì´ ë°ì´í° ë°í â ê²ì¦ ë¶ê°
- â 7ì¼ ì´ì ì¤ëë ë°ì´í° ì¬ì© â ìµì ì± ìë°
- â Blocklist ì¶ì² ì¬ì© â ì 뢰ë ìë°
íì ì¬í (MUST)
- â ìµì 3ê° ë 립 ì¶ì²ìì êµì°¨ ê²ì¦
- â 1ì°¨ ì¶ì²(ê³µì) ìµì 1ê° íì í¬í¨
- â ì¶ì² ê° Â±1% ì´ë´ ì¼ì¹ íì¸
- â 모ë ë°ì´í°ì [ì¶ì²: URL, ë ì§] íê·¸ í¬í¨
- â ê²ì¦ ì¤í¨ ì FAIL ë°í (ì¶ì ê° ê¸ì§)
- â ì문 ì¸ì© íì (v2.0 ì ê·) – ì«ì를 í¬í¨í ê²ì ê²°ê³¼ ì문ì ê·¸ëë¡ ì¸ì©
â ï¸ ì문 ì¸ì© ê·ì¹ (v2.0 ì ê· – CRITICAL)
íê° ë°©ì§ì íµì¬: ê²ì ê²°ê³¼ìì ì«ì를 ì¶ì¶í ë ë°ëì ì문ì ê·¸ëë¡ ì¸ì©í´ì¼ í©ëë¤. ì문과 ë³´ê³ ê°ì´ ì¼ì¹íì§ ìì¼ë©´ FAILì ëë¤.
ì¬ë°ë¥¸ ì«ì ì¶ì¶ ë°©ë²
1. ì¹ê²ì ì¤í
2. ê²ì ê²°ê³¼ìì ì«ìê° í¬í¨ë 문ì¥ì **ê·¸ëë¡ ë³µì¬**
3. ì문ìì ì«ì ì¶ì¶
4. ì¶ì¶í ì«ìì ì문ì í¨ê» ë³´ê³
ì¶ë ¥ íì (íì)
모ë ìì¹ ë°ì´í°ë ë¤ì íìì¼ë¡ ë³´ê³ í´ì¼ í©ëë¤:
{
"value": 6936,
"original_text": "The US500 fell to 6936 points on January 12, 2026",
"source": "Trading Economics",
"url": "https://tradingeconomics.com/united-states/stock-market"
}
ê²ì¦ ê·ì¹
| ê·ì¹ | ì¤ëª | ìë° ì |
|---|---|---|
| ì문 íì | original_text íë ìì¼ë©´ ë¬´í¨ |
FAIL |
| ì«ì ì¼ì¹ | valueê° original_text ë´ ì«ìì ì¼ì¹í´ì¼ í¨ |
FAIL |
| ë³µì¬ ê¸ì§ | ì´ì ê²°ê³¼ë ìì ê°ì ë³µì¬íë©´ ì ë¨ | FAIL |
ì문 ì¸ì© ìì
â ì¬ë°ë¥¸ ìì:
{
"index": "S&P 500",
"value": 6936,
"original_text": "The main stock market index of United States, the US500, fell to 6936 points on January 12, 2026",
"source_url": "https://tradingeconomics.com/united-states/stock-market"
}
â ì못ë ìì (íê° ìí):
{
"index": "S&P 500",
"value": 5906,
"original_text": null,
"source_url": "https://tradingeconomics.com/united-states/stock-market"
}
â ì문 ìì´ ì«ìë§ ë³´ê³ íë©´ ê²ì¦ ë¶ê°ë¥
ê²ì íë¡í ì½
1. ì§ì ë°ì´í° ê²ì
ë°ì´í° ì í: ì§ì (Index)
â ï¸ ìëë ê²ì í¨í´ ê°ì´ëì ëë¤.
search_index()ë¼ë í¨ìë ì¡´ì¬íì§ ììµëë¤. ë°ëìmcp_websearch_web_search_exa를 ì§ì í¸ì¶íì¸ì.
ì§ì ì§ì:
- S&P 500, NASDAQ, Dow Jones
- KOSPI, KOSDAQ
- USD/KRW, EUR/KRW, JPY/KRW
ê²ì 쿼리 í¨í´ (3ê° ë³ë ¬ ì¤í):
| # | í¨í´ | ëì ì¶ì² |
|---|---|---|
| 1 | "[index] price today site:investing.com OR site:bloomberg.com" |
ê¸ë¡ë² ê¸ìµ |
| 2 | "[ì§ì] ì¢
ê° site:tradingeconomics.com" |
ê¸ìµ ë°ì´í° |
| 3 | "[index] quote site:finance.yahoo.com OR site:marketwatch.com" |
ìì¸ ì¬ì´í¸ |
ê²ì¦ ì ì°¨:
- 3ê° ê²ì ê²°ê³¼ìì ìì¹ ì¶ì¶
- ë ì§ ì¼ì¹ íì¸ (ëì¼ ê±°ëì¼)
- ê° ì¼ì¹ íì¸ (±1% ì´ë´)
- 1ì°¨ ì¶ì² í¬í¨ íì¸
ì¶ë ¥ ì¤í¤ë§ (v2.0 ì ë°ì´í¸):
{
"index": "S&P 500",
"value": "[SEARCH_RESULT - ì¹ê²ì ê²°ê³¼ë¡ ëì²´]",
"unit": "pt",
"date": "[SEARCH_DATE - ê²ì ìì ë ì§]",
"verified": true,
"variance": "[CALCULATED - ì¶ì² ê° í¸ì°¨ ê³ì°]",
"original_text": "[REQUIRED - ì«ì를 í¬í¨í ê²ì ê²°ê³¼ ì문]",
"sources": [
{
"name": "Trading Economics",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE - ì´ ì¶ì²ìì ì«ìê° í¬í¨ë 문ì¥]",
"tier": 2
},
{
"name": "Bloomberg",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE]",
"tier": 1
}
]
}
â ï¸ CRITICAL (v2.0):
1. `original_text` íëë **íì**ì
ëë¤. ìì¼ë©´ FAIL.
2. `value`ë ë°ëì `original_text` ë´ì ì«ìì ì¼ì¹í´ì¼ í©ëë¤.
3. ìì ê°ì ê·¸ëë¡ ì¬ì©íì§ ë§ì¸ì.
2. ê¸ë¦¬ ë°ì´í° ê²ì
ë°ì´í° ì í: ê¸ë¦¬ (Interest Rate)
â ï¸ ìëë ê²ì í¨í´ ê°ì´ëì ëë¤.
search_rate()ë¼ë í¨ìë ì¡´ì¬íì§ ììµëë¤. ë°ëìmcp_websearch_web_search_exa를 ì§ì í¸ì¶íì¸ì.
ì§ì ê¸ë¦¬:
- fed_funds: ë¯¸êµ ê¸°ì¤ê¸ë¦¬
- bok_base: íêµ ê¸°ì¤ê¸ë¦¬
- us_10y_treasury: ë¯¸êµ 10ë 물 êµì±
ê²ì 쿼리 í¨í´:
| ê¸ë¦¬ | 1ì°¨ ì¶ì² 쿼리 | 2ì°¨ ì¶ì² 쿼리 |
|---|---|---|
| Fed | "federal funds rate site:federalreserve.gov" |
"fed rate site:tradingeconomics.com" |
| BOK | "기ì¤ê¸ë¦¬ site:bok.or.kr" |
"korea rate site:tradingeconomics.com" |
ê²ì¦ ì ì°¨:
- ê³µì ì¶ì²(1ì°¨) ê²ì
- êµì°¨ê²ì¦ ì¶ì²(2ì°¨) ê²ì
- ê° ì¼ì¹ íì¸
- FOMC/ê¸íµì ê²°ì ì¼ íì¸
- ë¤ì íì ì¼ì íì¸
ì¶ë ¥ ì¤í¤ë§ (v2.0 ì ë°ì´í¸):
{
"rate_type": "fed_funds",
"value": "[SEARCH_RESULT - ì¹ê²ìì¼ë¡ íì¸í ì¤ì ê¸ë¦¬]",
"decision_date": "[SEARCH_RESULT - ìµê·¼ FOMC/ê¸íµì ê²°ì ì¼]",
"next_meeting": "[SEARCH_RESULT - ë¤ì íì ìì ì¼]",
"verified": true,
"original_text": "[REQUIRED - ê¸ë¦¬ ìì¹ê° í¬í¨ë ê²ì ê²°ê³¼ ì문]",
"sources": [
{
"name": "Federal Reserve",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE - ê³µì ì¶ì²ì ê¸ë¦¬ ì¸ê¸ ì문]",
"official": true
},
{
"name": "Trading Economics",
"url": "[ACTUAL_URL]",
"value": "[ACTUAL_VALUE]",
"original_text": "[EXACT_QUOTE]",
"official": false
}
]
}
â ï¸ CRITICAL (v2.0):
1. `original_text` íëë **íì**ì
ëë¤. ìì¼ë©´ FAIL.
2. `value`ë ë°ëì `original_text` ë´ì ì«ìì ì¼ì¹í´ì¼ í©ëë¤.
3. ê¸ë¦¬ì ê²½ì° "3.50-3.75%" íìì¼ë¡ ë²ì í기 ê°ë¥.
4. ìì ê°ì ê·¸ëë¡ ì¬ì©íë©´ íê°(hallucination)ì´ ë°ìí©ëë¤.
íì© ì¶ì² (Allowlist)
Tier 1: ê³µì ì¶ì² (íì 1ê° ì´ì)
| ë°ì´í° | ì¶ì² | URL |
|---|---|---|
| ë¯¸êµ ì£¼ì/ê²½ì | FRED | fred.stlouisfed.org |
| ë¯¸êµ ê¸ë¦¬ | Federal Reserve | federalreserve.gov |
| íêµ ì£¼ì | íêµê±°ëì | krx.co.kr |
| íêµ ê¸ë¦¬ | íêµìí | bok.or.kr |
| ê¸ë¡ë² | Bloomberg | bloomberg.com |
Tier 2: êµì°¨ê²ì¦ ì¶ì²
| ì¶ì² | URL | 커ë²ë¦¬ì§ |
|---|---|---|
| Trading Economics | tradingeconomics.com | ê¸ë¡ë² |
| Investing.com | investing.com | ê¸ë¡ë² |
| Yahoo Finance | finance.yahoo.com | ê¸ë¡ë² |
| MarketWatch | marketwatch.com | ë¯¸êµ ì¤ì¬ |
Tier 3: ë³´ì¡° ì¶ì²
| ì¶ì² | URL | ì©ë |
|---|---|---|
| íêµê²½ì | hankyung.com | íêµ ìì¥ |
| ì°í©ë´ì¤ | yna.co.kr | íêµ ê²½ì |
| Reuters | reuters.com | ê¸ë¡ë² ë´ì¤ |
| FT | ft.com | ê¸ë¡ë² ê¸ìµ |
Blocklist (ê¸ì§)
- ê°ì¸ ë¸ë¡ê·¸
- ìí¤í¼ëì (ì¤ìê° ë°ì´í°ì©)
- 커뮤ëí° ì¬ì´í¸
- ì 뢰ë 미ê²ì¦ ì¬ì´í¸
ê²ì¦ ì¤í¨ ì²ë¦¬
ì¤í¨ ì íë³ ëì
| ì¤í¨ ì í | ì½ë | ëì |
|---|---|---|
| ì¶ì² ë¶ì¡± | INSUFFICIENT_SOURCES |
ì¶ê° ê²ì ìë (ìµë 3í) |
| ê° ë¶ì¼ì¹ | VALUE_MISMATCH |
ë²ìë¡ íí ëë 1ì°¨ ì¶ì² ì°ì |
| ë ì§ ë¶ì¼ì¹ | DATE_MISMATCH |
ê°ì¥ ìµì ë ì§ ì¶ì² ì°ì |
| 1ì°¨ ì¶ì² ìì | NO_PRIMARY_SOURCE |
ê²½ê³ + 2ì°¨ ì¶ì²ë¡ ì§í |
| ì ì²´ ì¤í¨ | COMPLETE_FAILURE |
FAIL ë°í, ìë íì¸ ìì² |
ì¤í¨ ì¶ë ¥ ì¤í¤ë§
{
"index": "KOSPI",
"value": null,
"verified": false,
"error": {
"code": "VALUE_MISMATCH",
"reason": "ì¶ì² ê° 5.2% ì°¨ì´ (íì©: ±1%)",
"details": {
"source1": {"name": "A", "value": 4500},
"source2": {"name": "B", "value": 4735}
}
},
"recommendation": "ìë íì¸ íì"
}
ì¬ì© ìì
ìì´ì í¸ìì ì¤í¬ ì¬ì©
# index-fetcher ìì´ì í¸
## ë°ì´í° ìì§
1. web-search-verifier ì¤í¬ ë¡ë íì¸ (ê²ì í¨í´ ê°ì´ëë¡ ì°¸ì¡°)
2. S&P 500 ìì§:
- mcp_websearch_web_search_exa(query="S&P 500 price today") **ì§ì í¸ì¶**
- ê²ì ê²°ê³¼ìì original_text ì¶ì¶
- verified: true íì¸
3. KOSPI ìì§:
- mcp_websearch_web_search_exa(query="KOSPI ì§ì íì¬") **ì§ì í¸ì¶**
- ê²ì ê²°ê³¼ìì original_text ì¶ì¶
- verified: true íì¸
## ê²ì¦ ì¤í¨ ì
verified: falseì¸ ê²½ì°:
- í´ë¹ ì§ìë "ë°ì´í° ìì§ ì¤í¨" ëª
ì
- ì¶ì ê° ìì± ê¸ì§
- ìë¬ ì½ë ì ë¬
리ìì¤
- íì© ì¶ì²: ì “Tier 1/2/3 ì¶ì²” ì¹ì 참조
- ê²ì í¨í´: ì “ê²ì ì ëµ” ì¹ì 참조
ë©í ì ë³´
version: "2.1"
created: "2026-01-12"
updated: "2026-01-12"
author: "Claude"
purpose: "íê° ë°©ì§ ì¹ê²ì íì¤í"
dependencies:
- mcp_websearch_web_search_exa
- mcp_websearch_web_search_exa
- WebFetch
consumers:
- index-fetcher
- rate-analyst
- sector-analyst
- risk-analyst
- leadership-analyst
- macro-synthesizer
changes_v2.1:
- "ë²ì ê²ì¦ (Sanity Check) ì ê±° - ëíë½ ì ì ì ë°ì´í° reject 문ì "
changes_v2.0:
- "ì문 ì¸ì© íìí (original_text íë)"
- "S&P 500 첫ì리 ì¤ë¥ íê° ë°©ì§"