News Intelligence Radar
Comprehensive situational awareness engine that gathers news across domains, identifies cross-domain
connections, assesses impact, and routes actionable intelligence to your other skills.
When This Skill Triggers
- "What's happening?" / "Catch me up" / "Morning brief"
- "News about gold / forex / AI / tech"
- "What's affecting [instrument/market]?"
- "How does [event X] impact [domain Y]?"
- "Scan news for [topic]"
- "What should I be watching today?"
- Any question about current events that benefits from multi-source analysis
- References to market-moving events, geopolitical situations, or industry developments
Architecture
User Query
│
├─[1] CLASSIFY REQUEST → What type of scan?
│ ├── Morning Brief (all priority domains)
│ ├── Topic Scan (specific subject)
│ ├── Event Analysis (single event, deep)
│ └── Domain Scan (one domain, thorough)
│
├─[2] GENERATE SEARCH PLAN → QueryGenerator
│ └── 4-12 targeted web_search queries
│
├─[3] EXECUTE SEARCHES → web_search + web_fetch
│ └── Collect titles, summaries, sources, URLs
│
├─[4] PROCESS RESULTS
│ ├── DomainClassifier → Tag each item by domain
│ ├── EntityExtractor → Pull currencies, orgs, numbers
│ ├── ImpactAssessor → Rate high/medium/low
│ └── RelationshipMapper → Find cross-domain chains
│
├─[5] ROUTE TO SKILLS → SkillRouter
│ └── Recommend which skills to activate next
│
└─[6] FORMAT OUTPUT → IntelligenceBrief
├── Priority Alerts
├── Domain Sections
├── Cross-Domain Connections
├── Skill Route Suggestions
└── Narrative (Claude-generated synthesis)
How to Execute This Skill
Step 0: Load the Engine
import sys
sys.path.insert(0, '/path/to/news-intelligence/scripts')
from news_engine import (
QueryGenerator, DomainClassifier, EntityExtractor,
ImpactAssessor, SkillRouter, IntelligenceBrief,
generate_search_plan, get_upcoming_events, DOMAINS
)
from relationship_mapper import RelationshipMapper, build_narrative_prompt
Step 1: Determine Scan Type
Based on what the user asked:
| User Says |
Scan Mode |
Domains |
| "Morning brief" / "Catch me up" |
morning_brief |
forex, gold, ai, geopolitics |
| "Gold news" / "What's affecting XAUUSD" |
custom |
gold_commodities, forex_macro |
| "AI job market" |
custom |
ai_tech, freelance_career |
| "How does [X] affect [Y]" |
event |
auto-detect from X |
| "Full scan" / "Everything" |
full_scan |
all domains |
| "What happened with [event]" |
event |
auto-detect |
Step 2: Generate & Execute Search Plan
plan = generate_search_plan(mode="morning_brief")
# plan["queries"] → list of {"query": str, "domain": str}
# plan["upcoming_events"] → scheduled economic events today
# Then execute each query using web_search tool
# Collect results into news_items list
CRITICAL — Search Execution Pattern:
For each query in the plan, Claude should:
- Call
web_search with the query
- Read the top 3-5 results
- For high-impact items, call
web_fetch to get the full article
- Build a news_item dict for each meaningful result:
news_item = {
"title": "...",
"source": "Reuters",
"summary": "2-3 sentence summary in your own words",
"url": "https://...",
"domain": "", # Will be classified
"entities": {}, # Will be extracted
"impact_level": "", # Will be assessed
"timestamp": "2025-01-01",
}
Step 3: Process Results
After collecting all news items:
for item in news_items:
# Classify domain
domains = DomainClassifier.classify(item["summary"], item["title"])
if domains:
item["domain"] = domains[0]["domain"]
item["classified"] = domains
# Extract entities
item["entities"] = EntityExtractor.extract(f"{item['title']} {item['summary']}")
# Assess impact
item["impact_level"] = ImpactAssessor.assess(item["title"], item["summary"])
Step 4: Find Connections & Route
# Cross-domain connections
connections = RelationshipMapper.find_connections(news_items)
shared = RelationshipMapper.find_shared_entities(news_items)
# Skill routing
all_domains = []
for item in news_items:
all_domains.extend(item.get("classified", []))
skill_routes = SkillRouter.route(all_domains)
Step 5: Format the Brief
brief = IntelligenceBrief.format_brief(
news_items=news_items,
skill_routes=skill_routes,
brief_type="morning"
)
# Add connections report
connections_report = RelationshipMapper.format_connections_report(connections, shared)
Step 6: Write the Narrative (This is YOU, Claude)
After formatting the structured brief, write a 3-4 paragraph narrative that:
- Tells the story connecting the dots across domains
- Highlights the single most important development
- Explains cascading effects (e.g., "Fed dovish → USD weak → Gold up → trading opportunity")
- Suggests 2-3 concrete actions linked to specific skills
Use the build_narrative_prompt() function from relationship_mapper.py as a starting guide,
but you should write the narrative directly since YOU have all the context.
Covered Domains
| Domain |
Key Topics |
Linked Skills |
| Forex & Macro |
Central banks, rates, inflation, employment |
currency-strength-meter, divergence-scanner, strategy-builder |
| Gold & Commodities |
XAUUSD, oil, metals, safe havens |
strategy-builder, order-block-mapper, candlestick-engine, MQL |
| AI & Technology |
LLMs, AI tools, chips, startups, hiring |
development-agent, codebase-understanding, MCP builder |
| Geopolitics |
Conflicts, sanctions, elections, trade wars |
currency-strength-meter |
| Egypt Legal |
Family law, EGP exchange rate, courts |
— |
| Jordan Local |
Amman news, JOD, local economy |
— |
| Freelance & Career |
Upwork, job market, AI demand, remote work |
— |
Economic Calendar Integration
The engine includes awareness of recurring high-impact events:
- US NFP (first Friday), CPI, FOMC (mid-month)
- ECB/BOJ rate decisions
- Weekly jobless claims (Thursday), oil inventory (Wednesday)
Call get_upcoming_events() to check if any are scheduled today. Always mention relevant upcoming events in the brief — they affect how to interpret current news.
Output Formats
Morning Brief (Default)
Full structured brief with priority alerts, domain sections, connections, and skill routes.
Quick Scan
Single-topic focused scan. Use IntelligenceBrief.format_quick_scan(topic, findings).
Event Analysis
Deep dive into a single event with multi-angle coverage and impact assessment.
Mermaid Relationship Graph
Visual graph of cross-domain connections. Use RelationshipMapper.generate_mermaid_graph().
Practical Examples
"What's happening with gold today?"
- Search: gold price today, XAUUSD analysis, gold market drivers
- Also search: Fed news (macro driver), geopolitics (safe haven driver)
- Classify, connect (geopolitics → gold, rates → gold)
- Route to: automated-strategy-builder, order-block-mapper
- Output: Quick scan + trading implications
"Morning brief"
- Search across: forex, gold, AI, geopolitics (12-16 queries)
- Process all results through the full pipeline
- Output: Full intelligence brief with narrative
"How does the new AI regulation affect my job search?"
- Search: AI regulation news, AI job market impact, AI engineer demand
- Classify: ai_tech + freelance_career
- Connect: regulation → hiring patterns → freelance demand
- Output: Event analysis with career-specific implications
Script Locations
news-intelligence/
├── SKILL.md ← You are here
├── scripts/
│ ├── news_engine.py ← Core engine (queries, classify, assess, route, format)
│ └── relationship_mapper.py ← Cross-domain connections & causal chains
└── references/
└── domain_deep_dives.md ← Extended domain analysis templates
Tips for Best Results
- Scale searches to query complexity: Morning brief = 12-16 searches. Quick topic scan = 4-6.
- Always check the economic calendar via
get_upcoming_events() — scheduled events change everything.
- Use web_fetch for high-impact items — search snippets are often too brief for good analysis.
- Write the narrative yourself — don't just dump the structured data. The user wants your synthesis.
- Route to skills proactively — if gold is moving, suggest running the strategy builder without being asked.
- Cross-domain connections are the value add — anyone can search news. The skill is connecting dots.
1---2name: news-intelligence3description: Multi-source news intelligence gathering, cross-domain analysis, and skill routing for comprehensive situational awareness. Use this skill whenever the user asks "what's happening", "news today", "catch me up", "morning brief", "market news", "what's affecting gold/forex/USD", "AI news", "scan the news", "what should I know", or any request for current events awareness. Also trigger when user asks about market impact of events, cross-domain connections, or wants to understand how news in one area (geopolitics, macro, tech) affects another (trading, career, currencies). Works with currency-strength-meter, automated-strategy-builder, cross-timeframe-divergence-scanner, multi-tf-order-block-mapper, candlestick-statistics-engine, youtube-video-to-knowledge, and mq5-mq4-how-to-work-with for actionable routing.4---56# News Intelligence Radar78Comprehensive situational awareness engine that gathers news across domains, identifies cross-domain9connections, assesses impact, and routes actionable intelligence to your other skills.1011## When This Skill Triggers1213- "What's happening?" / "Catch me up" / "Morning brief"14- "News about gold / forex / AI / tech"15- "What's affecting [instrument/market]?"16- "How does [event X] impact [domain Y]?"17- "Scan news for [topic]"18- "What should I be watching today?"19- Any question about current events that benefits from multi-source analysis20- References to market-moving events, geopolitical situations, or industry developments2122## Architecture2324```25User Query26 │27 ├─[1] CLASSIFY REQUEST → What type of scan?28 │ ├── Morning Brief (all priority domains)29 │ ├── Topic Scan (specific subject)30 │ ├── Event Analysis (single event, deep)31 │ └── Domain Scan (one domain, thorough)32 │33 ├─[2] GENERATE SEARCH PLAN → QueryGenerator34 │ └── 4-12 targeted web_search queries35 │36 ├─[3] EXECUTE SEARCHES → web_search + web_fetch37 │ └── Collect titles, summaries, sources, URLs38 │39 ├─[4] PROCESS RESULTS40 │ ├── DomainClassifier → Tag each item by domain41 │ ├── EntityExtractor → Pull currencies, orgs, numbers42 │ ├── ImpactAssessor → Rate high/medium/low43 │ └── RelationshipMapper → Find cross-domain chains44 │45 ├─[5] ROUTE TO SKILLS → SkillRouter46 │ └── Recommend which skills to activate next47 │48 └─[6] FORMAT OUTPUT → IntelligenceBrief49 ├── Priority Alerts50 ├── Domain Sections51 ├── Cross-Domain Connections52 ├── Skill Route Suggestions53 └── Narrative (Claude-generated synthesis)54```5556## How to Execute This Skill5758### Step 0: Load the Engine5960```python61import sys62sys.path.insert(0, '/path/to/news-intelligence/scripts')63from news_engine import (64 QueryGenerator, DomainClassifier, EntityExtractor,65 ImpactAssessor, SkillRouter, IntelligenceBrief,66 generate_search_plan, get_upcoming_events, DOMAINS67)68from relationship_mapper import RelationshipMapper, build_narrative_prompt69```7071### Step 1: Determine Scan Type7273Based on what the user asked:7475| User Says | Scan Mode | Domains |76|-----------|-----------|---------|77| "Morning brief" / "Catch me up" | `morning_brief` | forex, gold, ai, geopolitics |78| "Gold news" / "What's affecting XAUUSD" | `custom` | gold_commodities, forex_macro |79| "AI job market" | `custom` | ai_tech, freelance_career |80| "How does [X] affect [Y]" | `event` | auto-detect from X |81| "Full scan" / "Everything" | `full_scan` | all domains |82| "What happened with [event]" | `event` | auto-detect |8384### Step 2: Generate & Execute Search Plan8586```python87plan = generate_search_plan(mode="morning_brief")88# plan["queries"] → list of {"query": str, "domain": str}89# plan["upcoming_events"] → scheduled economic events today9091# Then execute each query using web_search tool92# Collect results into news_items list93```9495**CRITICAL — Search Execution Pattern:**9697For each query in the plan, Claude should:981. Call `web_search` with the query992. Read the top 3-5 results1003. For high-impact items, call `web_fetch` to get the full article1014. Build a news_item dict for each meaningful result:102103```python104news_item = {105 "title": "...",106 "source": "Reuters",107 "summary": "2-3 sentence summary in your own words",108 "url": "https://...",109 "domain": "", # Will be classified110 "entities": {}, # Will be extracted111 "impact_level": "", # Will be assessed112 "timestamp": "2025-01-01",113}114```115116### Step 3: Process Results117118After collecting all news items:119120```python121for item in news_items:122 # Classify domain123 domains = DomainClassifier.classify(item["summary"], item["title"])124 if domains:125 item["domain"] = domains[0]["domain"]126 item["classified"] = domains127128 # Extract entities129 item["entities"] = EntityExtractor.extract(f"{item['title']} {item['summary']}")130131 # Assess impact132 item["impact_level"] = ImpactAssessor.assess(item["title"], item["summary"])133```134135### Step 4: Find Connections & Route136137```python138# Cross-domain connections139connections = RelationshipMapper.find_connections(news_items)140shared = RelationshipMapper.find_shared_entities(news_items)141142# Skill routing143all_domains = []144for item in news_items:145 all_domains.extend(item.get("classified", []))146skill_routes = SkillRouter.route(all_domains)147```148149### Step 5: Format the Brief150151```python152brief = IntelligenceBrief.format_brief(153 news_items=news_items,154 skill_routes=skill_routes,155 brief_type="morning"156)157158# Add connections report159connections_report = RelationshipMapper.format_connections_report(connections, shared)160```161162### Step 6: Write the Narrative (This is YOU, Claude)163164After formatting the structured brief, write a 3-4 paragraph narrative that:165- Tells the story connecting the dots across domains166- Highlights the single most important development167- Explains cascading effects (e.g., "Fed dovish → USD weak → Gold up → trading opportunity")168- Suggests 2-3 concrete actions linked to specific skills169170Use the `build_narrative_prompt()` function from relationship_mapper.py as a starting guide,171but you should write the narrative directly since YOU have all the context.172173## Covered Domains174175| Domain | Key Topics | Linked Skills |176|--------|-----------|---------------|177| **Forex & Macro** | Central banks, rates, inflation, employment | currency-strength-meter, divergence-scanner, strategy-builder |178| **Gold & Commodities** | XAUUSD, oil, metals, safe havens | strategy-builder, order-block-mapper, candlestick-engine, MQL |179| **AI & Technology** | LLMs, AI tools, chips, startups, hiring | development-agent, codebase-understanding, MCP builder |180| **Geopolitics** | Conflicts, sanctions, elections, trade wars | currency-strength-meter |181| **Egypt Legal** | Family law, EGP exchange rate, courts | — |182| **Jordan Local** | Amman news, JOD, local economy | — |183| **Freelance & Career** | Upwork, job market, AI demand, remote work | — |184185## Economic Calendar Integration186187The engine includes awareness of recurring high-impact events:188- US NFP (first Friday), CPI, FOMC (mid-month)189- ECB/BOJ rate decisions190- Weekly jobless claims (Thursday), oil inventory (Wednesday)191192Call `get_upcoming_events()` to check if any are scheduled today. Always mention relevant upcoming events in the brief — they affect how to interpret current news.193194## Output Formats195196### Morning Brief (Default)197Full structured brief with priority alerts, domain sections, connections, and skill routes.198199### Quick Scan200Single-topic focused scan. Use `IntelligenceBrief.format_quick_scan(topic, findings)`.201202### Event Analysis203Deep dive into a single event with multi-angle coverage and impact assessment.204205### Mermaid Relationship Graph206Visual graph of cross-domain connections. Use `RelationshipMapper.generate_mermaid_graph()`.207208## Practical Examples209210### "What's happening with gold today?"2111. Search: gold price today, XAUUSD analysis, gold market drivers2122. Also search: Fed news (macro driver), geopolitics (safe haven driver)2133. Classify, connect (geopolitics → gold, rates → gold)2144. Route to: automated-strategy-builder, order-block-mapper2155. Output: Quick scan + trading implications216217### "Morning brief"2181. Search across: forex, gold, AI, geopolitics (12-16 queries)2192. Process all results through the full pipeline2203. Output: Full intelligence brief with narrative221222### "How does the new AI regulation affect my job search?"2231. Search: AI regulation news, AI job market impact, AI engineer demand2242. Classify: ai_tech + freelance_career2253. Connect: regulation → hiring patterns → freelance demand2264. Output: Event analysis with career-specific implications227228## Script Locations229230```231news-intelligence/232├── SKILL.md ← You are here233├── scripts/234│ ├── news_engine.py ← Core engine (queries, classify, assess, route, format)235│ └── relationship_mapper.py ← Cross-domain connections & causal chains236└── references/237 └── domain_deep_dives.md ← Extended domain analysis templates238```239240## Tips for Best Results2412421. **Scale searches to query complexity**: Morning brief = 12-16 searches. Quick topic scan = 4-6.2432. **Always check the economic calendar** via `get_upcoming_events()` — scheduled events change everything.2443. **Use web_fetch for high-impact items** — search snippets are often too brief for good analysis.2454. **Write the narrative yourself** — don't just dump the structured data. The user wants your synthesis.2465. **Route to skills proactively** — if gold is moving, suggest running the strategy builder without being asked.2476. **Cross-domain connections are the value add** — anyone can search news. The skill is connecting dots.