Claude-skill-registry get-news

Fetch news for a ticker up to a cutoff date, optionally for a specific month window

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/get-news" ~/.claude/skills/majiayu000-claude-skill-registry-get-news && rm -rf "$T"
manifest: skills/data/get-news/SKILL.md
source content

Arguments

$ARGUMENTS
=
TICKER CUTOFF_DATETIME [MONTH_OFFSET]

Examples:

  • AAPL 2025-04-01T00:00:00
    → all news up to April 1st
  • AAPL 2025-04-01T00:00:00 1m
    → March only
  • AAPL 2025-04-01T00:00:00 2m
    → February only
  • AAPL 2025-04-01T00:00:00 3m
    → January only

Logic

Parse arguments:

  1. TICKER = first argument
  2. CUTOFF = second argument (datetime)
  3. MONTH_OFFSET = optional third argument (1m, 2m, 3m, etc.)

Calculate date range:

  • If no offset:
    start = '1900-01-01'
    ,
    end = CUTOFF
  • If offset Nm:
    • end
      = first day of month that is (N-1) months before CUTOFF
    • start
      = first day of month that is N months before CUTOFF

Example with CUTOFF = 2025-04-01T00:00:00:

  • 1m → start: 2025-03-01, end: 2025-04-01 (March)
  • 2m → start: 2025-02-01, end: 2025-03-01 (February)
  • 3m → start: 2025-01-01, end: 2025-02-01 (January)

Query

MATCH (n:News)-[r:INFLUENCES]->(c:Company {ticker: $ticker})
WHERE n.created >= $start AND n.created < $end
RETURN n.created, n.title, r.daily_stock
ORDER BY n.created ASC

Output

Return pipe-delimited, one per line:

datetime|title|return

If no results:

NO_NEWS_FOUND