agentsclimarketplace

Trump truth monitor

Skill kansoku-trade/kansoku/.claude/skills/trump-truth-monitor

Use when monitoring or interpreting Donald Trump's Truth Social posts for market-moving events — tariff announcements, sanctions, deals with countries (China / Mexico / Canada / EU / Japan / Korea / Taiwan), specific company / CEO mentions, Fed pressure, energy / oil commentary, crypto policy, or geopolitical escalation. Triggers on "trump 发了什么", "check trump", "trump 关税", "盘前 trump 推", "trump truth social", "trump tweet impact", "trump 对 X 说了什么", or whenever a pre-market gap / intraday spike on policy-sensitive names (semis, China ADRs, autos, energy, banks, defense) needs to be explained.From its SKILL.md

Install
npx -y skills add kansoku-trade/kansoku --skill trump-truth-monitor

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

8.9 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it

Trump Truth Monitor

Pulls Donald Trump's Truth Social feed via the trumpstruth.org RSS mirror, classifies posts into market-relevant topic buckets, and hands the candidate list off for LLM-level market-impact grading.

When to use

  • User asks what Trump has posted recently
  • Pre-market gap on policy-sensitive sectors (semis, China ADRs, autos, energy, banks, defense) — check whether a Trump post is the trigger
  • Building the "Catalyst (now)" lens of stock-deep-dive for a name with policy exposure (TSM, NVDA, AAPL, F, GM, XOM, BAC, RTX, LMT)
  • market-session-tracker pre-market protocol — add a Trump-feed pass

If the user wants tweet history beyond ~5 days, this skill is insufficient — the RSS mirror only exposes the latest ~100 posts. Route to Factba.se / Roll Call (paid) or note the limitation explicitly.

Data source

trumpstruth.org/feed — a public third-party mirror of @realDonaldTrump on Truth Social. RSS 2.0 XML with these fields per item:

FieldMeaning
<pubDate>RFC 2822, original Truth Social post timestamp
<link>trumpstruth.org/statuses/{mirror_id}
<truth:originalUrl>truthsocial.com/@realDonaldTrump/{truth_id} — the primary source
<description>Full post body with HTML (links + ellipsis spans)

The mirror typically lags the original by ≤2 minutes. Single feed pull returns ~100 most recent posts, covering ~5 days at Trump's typical cadence.

CLI

Read mode — fetch.py

# Default: last 24h, keyword-filtered, markdown
python3 .claude/skills/trump-truth-monitor/scripts/fetch.py

# Wider window
python3 .claude/skills/trump-truth-monitor/scripts/fetch.py --hours 72

# All posts in feed regardless of keyword
python3 .claude/skills/trump-truth-monitor/scripts/fetch.py --hours 72 --all

# Single topic
python3 .claude/skills/trump-truth-monitor/scripts/fetch.py --topic tariff_trade

# JSON output (for chaining)
python3 .claude/skills/trump-truth-monitor/scripts/fetch.py --json

Topic buckets defined in script: tariff_trade, semi_tech, energy, fed_macro, crypto, geopolitical.

Archive mode — archive.py

# Append new posts to journal/trump-feed/YYYY-MM-DD.md (idempotent)
python3 .claude/skills/trump-truth-monitor/scripts/archive.py

# Custom output dir
python3 .claude/skills/trump-truth-monitor/scripts/archive.py --out /path/to/dir

# Silent unless something new was added
python3 .claude/skills/trump-truth-monitor/scripts/archive.py --quiet

The archive de-dupes by mirror status_id — re-running on the same feed is a no-op. Designed to be scheduled (see launchd/README.md). Once archived, posts persist locally even if trumpstruth.org goes down.

Workflow

  1. Decide window. Default 24h. Use 48–72h when investigating a multi-day move. Use --all when context-grazing.
  2. Decide scope. If user asks generally → no --topic. If user names a domain (关税 / 半导体 / 油 / 加密) → pass --topic.
  3. Pull feed. Run fetch.py with chosen flags. Always include --hours — never default to "all of feed" silently.
  4. Second-pass grading. Script output is candidates, not signals. For each post:
    • Read the full text before assigning impact. Headlines and keyword tags lie.
    • Assign a market-impact tier: high / med / low / noise
    • high = concrete action with $ figure, %, date, named country/company (e.g. "25% tariff on Mexican imports effective June 1", "Section 232 on chips")
    • med = directional signal without specifics (e.g. "We'll be tough on China", "must invest in America")
    • low = brand alignment with sector (e.g. "American Energy DOMINANCE", "Crypto Capital of the World" — already-priced policy stance)
    • noise = keyword matched but body is endorsement / personal / off-topic (e.g. "support the Military" in a Senate endorsement)
  5. Anchor on original URL. When quoting, always cite truth:originalUrl (the truthsocial.com link), not the mirror.
  6. Render output. For multi-post stretches, group by tier — high first, then med, then a one-line low/noise tally.

Output template

# Trump's Truth — {WINDOW}

## High-impact (potential market mover)
- [{utc_time}] {one-line summary} — `tier: high` · {topic tags}
  > "{verbatim short quote ≤2 sentences}"
  - Original: {truthsocial.com URL}
  - Possible market read: {sector / ticker level expectation, anchored}

## Medium-impact (directional, no specifics)
- [{utc_time}] {one-line summary}
  - Original: {URL}

## Noise (matched keyword, low signal)
- {N} posts ({topic distribution}) — endorsements / personal — not enumerated

⚠ Trump may delete or contradict within hours. Position decisions should require independent confirmation (sector ETF tape, peer reaction, official release).

Anti-patterns

MistakeReality
Treating script output as "market signal"Script is a keyword filter. LLM must read each post and tier.
Quoting a mirror URL as the sourceAlways link truth:originalUrl (truthsocial.com). Mirror is a convenience.
Reporting Senate endorsements as "policy news"Politics-only posts with military / energy keywords are noise — filter at tier=noise.
"Trump said X about Y" with no linkAlways include the truthsocial.com link. User must be able to verify.
Pretending tweets are durableTrump posts can be deleted or retracted within hours. If consulted >12h after, note staleness.

Integration

  • market-session-tracker pre-market protocol: insert a Trump-feed --hours 14 pull as step 0 (covers post-prev-close to pre-market). If high-tier post exists touching watchlist sectors, escalate to the explanation slot for any gap.
  • stock-deep-dive lens 4 (Catalysts): when the symbol has policy exposure (semis / China ADR / auto / energy / defense / bank), run a Trump-feed --hours 168 and surface high-tier hits.
  • gdelt can confirm market has already picked the post up (i.e. major outlets are reporting it). Trump feed = original; GDELT = market-validated.

Limitations

  • Mirror dependency: trumpstruth.org is third-party. If it goes down, the live fetch.py fails — but the archived posts under journal/trump-feed/ remain readable.
  • 5-day depth via mirror: a single feed pull only exposes the last ~100 posts. Anything older than ~5 days that wasn't archived in time is lost. Schedule archive.py (see launchd/) to grow a permanent local record.
  • No X feed: Trump's X (Twitter) account is separate. This skill does not cover X posts. If user asks about X specifically, note the gap.
  • Truth posts are not press releases. Treat as primary-but-volatile speech: original URL is authoritative for what was said, but the policy implementation may diverge (or never happen).

Local archive — searching past posts

Once archive.py has been running, journal/trump-feed/YYYY-MM-DD.md accumulates a complete record. To investigate a past day or query historically:

# All tariff-related posts ever archived
grep -l "tariff" journal/trump-feed/*.md

# Specific company mention
grep -B2 -A8 -i "nvidia\|tsmc" journal/trump-feed/*.md

# Posts on a specific date
cat journal/trump-feed/2026-05-26.md

The archive is plain markdown — grep-friendly, git-trackable.

Related skills

  • gdelt — market-validated news coverage of a Trump post
  • stock-deep-dive — caller for catalyst-lens enrichment
  • market-session-tracker — caller for pre-market protocol
  • sec-edgar — confirm whether a tweet translates into an actual filing (rare but does happen for trade-policy items affecting specific companies)

What ships with it: 2 files

10.5 KB alongside SKILL.md, 2 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.