SKILL.md
$27
Optional: for Claude Opus deep analysis
export ANTHROPIC_API_KEY="your-key-here"
Optional: for Polymarket/Kalshi integration
export POLYMARKET_API_KEY="your-key-here"
## CLI — Key Commands
Today's detected signals from Trump's posts
python3 trump_code_cli.py signals
Model performance leaderboard (all 11 named models)
python3 trump_code_cli.py models
Get LONG/SHORT consensus prediction
python3 trump_code_cli.py predict
Prediction market arbitrage opportunities
python3 trump_code_cli.py arbitrage
System health check (circuit breaker state)
python3 trump_code_cli.py health
Full daily report (trilingual)
python3 trump_code_cli.py report
Dump all data as JSON
python3 trump_code_cli.py json
## Core Scripts
Real-time Trump post monitor (polls every 5 min)
python3 realtime_loop.py
Brute-force model search (~25 min, tests millions of combos)
python3 overnight_search.py
Individual analyses
python3 analysis_06_market.py # Posts vs S&P 500 correlation
python3 analysis_09_combo_score.py # Multi-signal combo scoring
Web dashboard + AI chatbot on port 8888
export GEMINI_KEYS="key1,key2,key3"
python3 chatbot_server.py
→ http://localhost:8888
## REST API (Live at trumpcode.washinmura.jp)
import requests
BASE = "https://trumpcode.washinmura.jp"
All dashboard data in one call
data = requests.get(f"{BASE}/api/dashboard").json()
Today's signals + 7-day history
signals = requests.get(f"{BASE}/api/signals").json()
Model performance rankings
models = requests.get(f"{BASE}/api/models").json()
Latest 20 Trump posts with signal tags
posts = requests.get(f"{BASE}/api/recent-posts").json()
Live Polymarket Trump prediction markets (316+)
markets = requests.get(f"{BASE}/api/polymarket-trump").json()
LONG/SHORT playbooks
playbook = requests.get(f"{BASE}/api/playbook").json()
System health / circuit breaker state
status = requests.get(f"{BASE}/api/status").json()
### AI Chatbot API
import requests
response = requests.post(
"https://trumpcode.washinmura.jp/api/chat",
json={"message": "What signals fired today and what's the consensus?"}
)
print(response.json()["reply"])
## MCP Server (Claude Code / Cursor Integration)
Add to `~/.claude/settings.json`:
{
"mcpServers": {
"trump-code": {
"command": "python3",
"args": ["/path/to/trump-code/mcp_server.py"]
}
}
}
Available MCP tools: `signals`, `models`, `predict`, `arbitrage`, `health`, `events`, `dual_platform`, `crowd`, `full_report`
## Open Data Files
All data lives in `data/` and is updated daily:
import json, pathlib
DATA = pathlib.Path("data")
44,000+ Truth Social posts
posts = json.loads((DATA / "trump_posts_all.json").read_text())
Posts with signals pre-tagged
posts_lite = json.loads((DATA / "trump_posts_lite.json").read_text())
566 verified predictions with outcomes
predictions = json.loads((DATA / "predictions_log.json").read_text())
551 active rules (brute-force + evolved)
rules = json.loads((DATA / "surviving_rules.json").read_text())
384 features × 414 trading days
features = json.loads((DATA / "daily_features.json").read_text())
S&P 500 OHLC history
market = json.loads((DATA / "market_SP500.json").read_text())
Circuit breaker / system health
cb = json.loads((DATA / "circuit_breaker_state.json").read_text())
Rule evolution log (crossover/mutation)
evo = json.loads((DATA / "evolution_log.json").read_text())
## Download Data via API
import requests
BASE = "https://trumpcode.washinmura.jp"
List available datasets
catalog = requests.get(f"{BASE}/api/data").json()
Download a specific file
raw = requests.get(f"{BASE}/api/data/surviving_rules.json").content
rules = json.loads(raw)
## Real Code Examples
### Parse Today's Signals
import requests
signals_data = requests.get("https://trumpcode.washinmura.jp/api/signals").json()
today = signals_data.get("today", {})
print("Signals fired today:", today.get("signals", []))
print("Consensus:", today.get("consensus")) # "LONG" / "SHORT" / "NEUTRAL"
print("Confidence:", today.get("confidence")) # 0.0–1.0
print("Active models:", today.get("active_models", []))
### Find Top Performing Rules from Surviving Rules
import json
rules = json.loads(open("data/surviving_rules.json").read())
Sort by hit rate descending
top_rules = sorted(rules, key=lambda r: r.get("hit_rate", 0), reverse=True)
for rule in top_rules[:10]:
print(f"Rule: {rule['id']} | Hit Rate: {rule['hit_rate']:.1%} | "
f"Trades: {rule['n_trades']} | Avg Return: {rule['avg_return']:.3%}")
### Check Prediction Market Opportunities
import requests
arb = requests.get("https://trumpcode.washinmura.jp/api/insights").json()
markets = requests.get("https://trumpcode.washinmura.jp/api/polymarket-trump").json()
Markets sorted by volume
active = [m for m in markets.get("markets", []) if m.get("active")]
by_volume = sorted(active, key=lambda m: m.get("volume", 0), reverse=True)
for m in by_volume[:5]:
print(f"{m['title']}: YES={m['yes_price']:.0%} | Vol=${m['volume']:,.0f}")
### Correlate Post Features with Returns
import json
import numpy as np
features = json.loads(open("data/daily_features.json").read())
market = json.loads(open("data/market_SP500.json").read())
Build date-indexed return map
returns = {d["date"]: d["close_pct"] for d in market}
Example: correlate post_count with next-day return
xs, ys = [], []
for day in features:
date = day["date"]
if date in returns:
xs.append(day.get("post_count", 0))
ys.append(returns[date])
correlation = np.corrcoef(xs, ys)[0, 1]
print(f"Post count vs same-day return: r={correlation:.3f}")
### Run a Backtest on a Custom Signal
import json
posts = json.loads(open("data/trump_posts_lite.json").read())
market = json.loads(open("data/market_SP500.json").read())
returns = {d["date"]: d["close_pct"] for d in market}
Find days with RELIEF signal before 9:30 AM ET
relief_days = [
p["date"] for p in posts
if "RELIEF" in p.get("signals", []) and p.get("hour", 24) < 9
]
hits = [returns[d] for d in relief_days if d in returns]
if hits:
print(f"RELIEF pre-market: n={len(hits)}, "
f"avg={sum(hits)/len(hits):.3%}, "
f"hit_rate={sum(1 for h in hits if h > 0)/len(hits):.1%}")
## Key Signal Types
Signal
Description
Typical Impact
`RELIEF` pre-market
"Relief" language before 9:30 AM
Avg +1.12% same-day
`TARIFF` market hours
Tariff mention during trading
Avg -0.758% next day
`DEAL`
Deal/agreement language
52.2% hit rate
`CHINA` (Truth Social only)
China mentions (never on X)
1.5× weight boost
`SILENCE`
Zero-post day
80% bullish, avg +0.409%
Burst → silence
Rapid posting then goes quiet
65.3% LONG signal
## Model Reference
Model
Strategy
Hit Rate
Avg Return
A3
Pre-market RELIEF → surge
72.7%
+1.206%
D3
Volume spike → panic bottom
70.2%
+0.306%
D2
Signature switch → formal statement
70.0%
+0.472%
C1
Burst → long silence → LONG
65.3%
+0.145%
C3 ⚠️
Late-night tariff (anti-indicator)
37.5%
−0.414%
**Note:** C3 is an anti-indicator — if it fires, the circuit breaker auto-inverts it to LONG (62% accuracy after inversion).
## System Architecture Flow
Truth Social post detected (every 5 min)
→ Classify signals (RELIEF / TARIFF / DEAL / CHINA / etc.)
→ Dual-platform boost (TS-only China = 1.5× weight)
→ Snapshot Polymarket + S&P 500
→ Run 551 surviving rules → generate prediction
→ Track at 1h / 3h / 6h
→ Verify outcome → update rule weights
→ Circuit breaker: if system degrades → pause/invert
→ Daily: evolve rules (crossover / mutation / distillation)
→ Sync data to GitHub