Agresource
by @brianppetty
Scrapes and summarizes AgResource grain newsletters with daily sales advice, price-impact sentiment analysis, trend tracking, and Telegram alerts on updates.
clawhub install agresourceπ About This Skill
AgResource Newsletter Scraper
Use this skill to scrape, summarize, and analyze AgResource grain marketing newsletters.
Implementation
scraper.js (Playwright/Node.js)agresource_sentiment.py (Python)AGRESOURCE_EMAIL and AGRESOURCE_PASSWORD env varsCapabilities
~/clawd/memory/agresource/YYYY-MM-DD.md (morning)~/clawd/memory/agresource/YYYY-MM-DD-noon.md (noon)~/clawd/memory/agresource/YYYY-MM-DD-evening.md (evening)~/clawd/memory/agresource/YYYY-MM-DD-saturday.md (saturday)~/clawd/memory/agresource/YYYY-MM-DD-sunday.md (sunday)~/clawd/memory/agresource/sentiment_history.jsonCommands
Manual Trigger
"Check AgResource newsletter"
"Summarize today's grain report"
"Show full newsletter" (detailed view)
To run scraper manually:
cd /home/brianppetty/clawd/skills/agresourceMorning newsletter (default)
node scraper.js
node scraper.js --type=morningNoon/midday newsletter
node scraper.js --type=noonEvening newsletter
node scraper.js --type=eveningSaturday newsletter
node scraper.js --type=saturdaySunday newsletter
node scraper.js --type=sunday
Cron Job Triggers
When a cron event fires, match the time/type to the correct --type parameter:
| Cron Message | Type to Use | Time |
|--------------|-------------|------|
| "Check AgResource newsletter (morning)" | --type=morning | 8:30 AM ET (Mon-Fri) |
| "Check AgResource newsletter (afternoon)" | --type=noon | 1:30 PM ET (Mon-Fri) |
| "Check AgResource newsletter (evening - positioning)" | --type=evening | 7:00 PM ET (Mon-Sat) |
| "Check AgResource newsletter (weekend)" | --type=saturday or --type=sunday | ~3:00 PM ET (Sat/Sun) |
For weekend jobs, determine which day it is and use:
--type=saturday--type=sundaySentiment Queries
"What's the current market sentiment?"
"Show sentiment trends"
"What's the sentiment history?"
Sentiment Dimensions (PRICE-IMPACT FOCUSED)
CRITICAL: Sentiment analysis tracks PRICE IMPACT, not general "good/bad" news.
Key inverse relationships to remember:
Track these dimensions across newsletters:
Sales Advice Detection
Status phrases to detect:
Keywords for sales advice:
Telegram Alert Format
Brief summary sent for every newsletter:
πΎ AgResource - 2026-01-08 8:30 AMSummary: No sales recommended
Sentiment: Bullish (βοΈ improving)
Full details in ~/clawd/memory/agresource/
Output Format
Daily Summary File (YYYY-MM-DD.md)
# AgResource Newsletter - 2026-01-08 8:30 AMQuick Summary
[2-3 sentence overview]Key Newsworthy Items
[Grain production relevant news]
[Weather tidbits] Sales Advice Status
Corn: [New sales advice / No change / No sales recommended]
Soybeans: [New sales advice / No change / No sales recommended] Current Positions (from end of newsletter)
[Summary of current positioning] Sentiment & Trends
Market Mood: Bullish / Bearish / Neutral
Previous Mood: [from last newsletter]
Trend: Improving / Declining / Stable
Weather Impact: Positive / Negative / Mixed
Production Outlook: Optimistic / Cautious / Uncertain Full Content
[Optional: full newsletter content for reference]
Sentiment History File (sentiment_history.json)
{
"last_updated": "2026-01-08T08:30:00",
"sentiment_history": [
{
"date": "2026-01-08",
"time": "08:30 AM",
"market_mood": "bullish",
"weather_impact": "positive",
"production_outlook": "optimistic",
"trend_direction": "improving",
"confidence": "high",
"key_phrases": ["prices advancing", "favorable weather"],
"sales_advice": "No sales recommended"
}
]
}
Configuration
Credentials: Loaded from environment variables
AGRESOURCE_EMAILAGRESOURCE_PASSWORDDependencies:
/home/brianppetty/clawd/skills/agresource/node_modules/playwright)Schedule: 4x daily (cron jobs)
History window: Keep last 15-20 newsletters for sentiment tracking
Notes
βοΈ Configuration
Credentials: Loaded from environment variables
AGRESOURCE_EMAILAGRESOURCE_PASSWORDDependencies:
/home/brianppetty/clawd/skills/agresource/node_modules/playwright)Schedule: 4x daily (cron jobs)
History window: Keep last 15-20 newsletters for sentiment tracking