{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agresource",
    "name": "Agresource",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/brianppetty/agresource",
    "canonicalUrl": "https://clawhub.ai/brianppetty/agresource",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agresource",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agresource",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "agresource_sentiment.py",
      "historical_scraper.js",
      "rebuild-sentiment.js",
      "scraper.js"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/agresource"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/agresource",
    "agentPageUrl": "https://openagent3.xyz/skills/agresource/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agresource/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agresource/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "AgResource Newsletter Scraper",
        "body": "Use this skill to scrape, summarize, and analyze AgResource grain marketing newsletters."
      },
      {
        "title": "Implementation",
        "body": "Scraper: scraper.js (Playwright/Node.js)\nSentiment Analyzer: agresource_sentiment.py (Python)\nLogin: Automatic using AGRESOURCE_EMAIL and AGRESOURCE_PASSWORD env vars"
      },
      {
        "title": "Capabilities",
        "body": "Log in to AgResource dashboard (https://agresource.com/dashboard/#/reports/daily)\nScrape daily newsletter content using Playwright\nSave screenshot for reference/debugging\nExtract corn/soybean sales advice and recommendations\nGenerate concise summaries with key news and weather tidbits\nAnalyze sentiment (bullish/bearish) across newsletters\nCompare to previous newsletters to detect trends\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD.md (morning)\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD-noon.md (noon)\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD-evening.md (evening)\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD-saturday.md (saturday)\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD-sunday.md (sunday)\nTrack sentiment history in ~/clawd/memory/agresource/sentiment_history.json\nSend Telegram alerts on new sales advice"
      },
      {
        "title": "Manual Trigger",
        "body": "\"Check AgResource newsletter\"\n\"Summarize today's grain report\"\n\"Show full newsletter\" (detailed view)\n\nTo run scraper manually:\n\ncd /home/brianppetty/clawd/skills/agresource\n\n# Morning newsletter (default)\nnode scraper.js\nnode scraper.js --type=morning\n\n# Noon/midday newsletter\nnode scraper.js --type=noon\n\n# Evening newsletter\nnode scraper.js --type=evening\n\n# Saturday newsletter\nnode scraper.js --type=saturday\n\n# Sunday newsletter\nnode scraper.js --type=sunday"
      },
      {
        "title": "Cron Job Triggers",
        "body": "When a cron event fires, match the time/type to the correct --type parameter:\n\nCron MessageType to UseTime\"Check AgResource newsletter (morning)\"--type=morning8:30 AM ET (Mon-Fri)\"Check AgResource newsletter (afternoon)\"--type=noon1:30 PM ET (Mon-Fri)\"Check AgResource newsletter (evening - positioning)\"--type=evening7:00 PM ET (Mon-Sat)\"Check AgResource newsletter (weekend)\"--type=saturday or --type=sunday~3:00 PM ET (Sat/Sun)\n\nFor weekend jobs, determine which day it is and use:\n\nSaturday: --type=saturday\nSunday: --type=sunday"
      },
      {
        "title": "Sentiment Queries",
        "body": "\"What's the current market sentiment?\"\n\"Show sentiment trends\"\n\"What's the sentiment history?\""
      },
      {
        "title": "Sentiment Dimensions (PRICE-IMPACT FOCUSED)",
        "body": "CRITICAL: Sentiment analysis tracks PRICE IMPACT, not general \"good/bad\" news.\n\nKey inverse relationships to remember:\n\n☀️ Favorable weather in SA/NA = More supply = BEARISH for prices\n🌽 Record yields = More supply = BEARISH for prices\n🏜️ Drought/crop stress = Less supply = BULLISH for prices\n🏭 Strong export demand = More demand = BULLISH for prices\n📦 South American competition = Less US exports = BEARISH for prices\n\nTrack these dimensions across newsletters:\n\nmarket_mood: bullish | bearish | neutral\n\nBULLISH = Prices expected to go UP\nBEARISH = Prices expected to go DOWN\n\n\nweather_impact: positive_for_crops | negative_for_crops | mixed | neutral\n\nTracks weather impact on PRODUCTION (inverted for price impact)\nPositive weather for crops = BEARISH for prices (more supply)\nNegative weather for crops = BULLISH for prices (less supply)\n\n\nproduction_outlook: optimistic | cautious | uncertain\n\nOptimistic = more supply = BEARISH for prices\nCautious = supply concerns = BULLISH for prices\n\n\ntrend_direction: improving | declining | stable\nconfidence: high | medium | low"
      },
      {
        "title": "Sales Advice Detection",
        "body": "Status phrases to detect:\n\n\"New sales advice detected\" (buy/sell/recommend keywords)\n\"Catch up sales recommended\" (catch up phrase)\n\"No sales recommended at this time\" (hold/no action)\n\"Position status unchanged\" (no change from previous)\n\nKeywords for sales advice:\n\nbuy, sell, hold, recommend, recommendation, position, catch up, current positioning"
      },
      {
        "title": "Telegram Alert Format",
        "body": "Brief summary sent for every newsletter:\n\n🌾 AgResource - 2026-01-08 8:30 AM\n\nSummary: No sales recommended\nSentiment: Bullish (↗️ improving)\n\nFull details in ~/clawd/memory/agresource/"
      },
      {
        "title": "Daily Summary File (YYYY-MM-DD.md)",
        "body": "# AgResource Newsletter - 2026-01-08 8:30 AM\n\n## Quick Summary\n[2-3 sentence overview]\n\n## Key Newsworthy Items\n- [Grain production relevant news]\n- [Weather tidbits]\n\n## Sales Advice Status\n- Corn: [New sales advice / No change / No sales recommended]\n- Soybeans: [New sales advice / No change / No sales recommended]\n\n## Current Positions (from end of newsletter)\n- [Summary of current positioning]\n\n## Sentiment & Trends\n- **Market Mood:** Bullish / Bearish / Neutral\n- **Previous Mood:** [from last newsletter]\n- **Trend:** Improving / Declining / Stable\n- **Weather Impact:** Positive / Negative / Mixed\n- **Production Outlook:** Optimistic / Cautious / Uncertain\n\n## Full Content\n[Optional: full newsletter content for reference]"
      },
      {
        "title": "Sentiment History File (sentiment_history.json)",
        "body": "{\n  \"last_updated\": \"2026-01-08T08:30:00\",\n  \"sentiment_history\": [\n    {\n      \"date\": \"2026-01-08\",\n      \"time\": \"08:30 AM\",\n      \"market_mood\": \"bullish\",\n      \"weather_impact\": \"positive\",\n      \"production_outlook\": \"optimistic\",\n      \"trend_direction\": \"improving\",\n      \"confidence\": \"high\",\n      \"key_phrases\": [\"prices advancing\", \"favorable weather\"],\n      \"sales_advice\": \"No sales recommended\"\n    }\n  ]\n}"
      },
      {
        "title": "Configuration",
        "body": "Credentials: Loaded from environment variables\n\nAGRESOURCE_EMAIL\nAGRESOURCE_PASSWORD\n\nDependencies:\n\nNode.js (built-in on Clawdbot)\nPlaywright (installed locally: /home/brianppetty/clawd/skills/agresource/node_modules/playwright)\n\nSchedule: 4x daily (cron jobs)\n\nMorning: 8:30 AM ET\nAfternoon: 1:30 PM ET\nEvening: 7:00 PM ET\nWeekend: ~3:00 PM ET\n\nHistory window: Keep last 15-20 newsletters for sentiment tracking"
      },
      {
        "title": "Notes",
        "body": "Only send Telegram alerts when sales advice CHANGES\nAlways store summaries and sentiment data\nRefine sentiment detection patterns over time\nEvening newsletters include current positioning section\nLogin credentials should be handled securely"
      }
    ],
    "body": "AgResource Newsletter Scraper\n\nUse this skill to scrape, summarize, and analyze AgResource grain marketing newsletters.\n\nImplementation\nScraper: scraper.js (Playwright/Node.js)\nSentiment Analyzer: agresource_sentiment.py (Python)\nLogin: Automatic using AGRESOURCE_EMAIL and AGRESOURCE_PASSWORD env vars\nCapabilities\nLog in to AgResource dashboard (https://agresource.com/dashboard/#/reports/daily)\nScrape daily newsletter content using Playwright\nSave screenshot for reference/debugging\nExtract corn/soybean sales advice and recommendations\nGenerate concise summaries with key news and weather tidbits\nAnalyze sentiment (bullish/bearish) across newsletters\nCompare to previous newsletters to detect trends\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD.md (morning)\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD-noon.md (noon)\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD-evening.md (evening)\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD-saturday.md (saturday)\nStore summaries in ~/clawd/memory/agresource/YYYY-MM-DD-sunday.md (sunday)\nTrack sentiment history in ~/clawd/memory/agresource/sentiment_history.json\nSend Telegram alerts on new sales advice\nCommands\nManual Trigger\n\"Check AgResource newsletter\"\n\"Summarize today's grain report\"\n\"Show full newsletter\" (detailed view)\n\n\nTo run scraper manually:\n\ncd /home/brianppetty/clawd/skills/agresource\n\n# Morning newsletter (default)\nnode scraper.js\nnode scraper.js --type=morning\n\n# Noon/midday newsletter\nnode scraper.js --type=noon\n\n# Evening newsletter\nnode scraper.js --type=evening\n\n# Saturday newsletter\nnode scraper.js --type=saturday\n\n# Sunday newsletter\nnode scraper.js --type=sunday\n\nCron Job Triggers\n\nWhen a cron event fires, match the time/type to the correct --type parameter:\n\nCron Message\tType to Use\tTime\n\"Check AgResource newsletter (morning)\"\t--type=morning\t8:30 AM ET (Mon-Fri)\n\"Check AgResource newsletter (afternoon)\"\t--type=noon\t1:30 PM ET (Mon-Fri)\n\"Check AgResource newsletter (evening - positioning)\"\t--type=evening\t7:00 PM ET (Mon-Sat)\n\"Check AgResource newsletter (weekend)\"\t--type=saturday or --type=sunday\t~3:00 PM ET (Sat/Sun)\n\nFor weekend jobs, determine which day it is and use:\n\nSaturday: --type=saturday\nSunday: --type=sunday\nSentiment Queries\n\"What's the current market sentiment?\"\n\"Show sentiment trends\"\n\"What's the sentiment history?\"\n\nSentiment Dimensions (PRICE-IMPACT FOCUSED)\n\nCRITICAL: Sentiment analysis tracks PRICE IMPACT, not general \"good/bad\" news.\n\nKey inverse relationships to remember:\n\n☀️ Favorable weather in SA/NA = More supply = BEARISH for prices\n🌽 Record yields = More supply = BEARISH for prices\n🏜️ Drought/crop stress = Less supply = BULLISH for prices\n🏭 Strong export demand = More demand = BULLISH for prices\n📦 South American competition = Less US exports = BEARISH for prices\n\nTrack these dimensions across newsletters:\n\nmarket_mood: bullish | bearish | neutral\nBULLISH = Prices expected to go UP\nBEARISH = Prices expected to go DOWN\nweather_impact: positive_for_crops | negative_for_crops | mixed | neutral\nTracks weather impact on PRODUCTION (inverted for price impact)\nPositive weather for crops = BEARISH for prices (more supply)\nNegative weather for crops = BULLISH for prices (less supply)\nproduction_outlook: optimistic | cautious | uncertain\nOptimistic = more supply = BEARISH for prices\nCautious = supply concerns = BULLISH for prices\ntrend_direction: improving | declining | stable\nconfidence: high | medium | low\nSales Advice Detection\n\nStatus phrases to detect:\n\n\"New sales advice detected\" (buy/sell/recommend keywords)\n\"Catch up sales recommended\" (catch up phrase)\n\"No sales recommended at this time\" (hold/no action)\n\"Position status unchanged\" (no change from previous)\n\nKeywords for sales advice:\n\nbuy, sell, hold, recommend, recommendation, position, catch up, current positioning\nTelegram Alert Format\n\nBrief summary sent for every newsletter:\n\n🌾 AgResource - 2026-01-08 8:30 AM\n\nSummary: No sales recommended\nSentiment: Bullish (↗️ improving)\n\nFull details in ~/clawd/memory/agresource/\n\nOutput Format\nDaily Summary File (YYYY-MM-DD.md)\n# AgResource Newsletter - 2026-01-08 8:30 AM\n\n## Quick Summary\n[2-3 sentence overview]\n\n## Key Newsworthy Items\n- [Grain production relevant news]\n- [Weather tidbits]\n\n## Sales Advice Status\n- Corn: [New sales advice / No change / No sales recommended]\n- Soybeans: [New sales advice / No change / No sales recommended]\n\n## Current Positions (from end of newsletter)\n- [Summary of current positioning]\n\n## Sentiment & Trends\n- **Market Mood:** Bullish / Bearish / Neutral\n- **Previous Mood:** [from last newsletter]\n- **Trend:** Improving / Declining / Stable\n- **Weather Impact:** Positive / Negative / Mixed\n- **Production Outlook:** Optimistic / Cautious / Uncertain\n\n## Full Content\n[Optional: full newsletter content for reference]\n\nSentiment History File (sentiment_history.json)\n{\n  \"last_updated\": \"2026-01-08T08:30:00\",\n  \"sentiment_history\": [\n    {\n      \"date\": \"2026-01-08\",\n      \"time\": \"08:30 AM\",\n      \"market_mood\": \"bullish\",\n      \"weather_impact\": \"positive\",\n      \"production_outlook\": \"optimistic\",\n      \"trend_direction\": \"improving\",\n      \"confidence\": \"high\",\n      \"key_phrases\": [\"prices advancing\", \"favorable weather\"],\n      \"sales_advice\": \"No sales recommended\"\n    }\n  ]\n}\n\nConfiguration\n\nCredentials: Loaded from environment variables\n\nAGRESOURCE_EMAIL\nAGRESOURCE_PASSWORD\n\nDependencies:\n\nNode.js (built-in on Clawdbot)\nPlaywright (installed locally: /home/brianppetty/clawd/skills/agresource/node_modules/playwright)\n\nSchedule: 4x daily (cron jobs)\n\nMorning: 8:30 AM ET\nAfternoon: 1:30 PM ET\nEvening: 7:00 PM ET\nWeekend: ~3:00 PM ET\n\nHistory window: Keep last 15-20 newsletters for sentiment tracking\n\nNotes\nOnly send Telegram alerts when sales advice CHANGES\nAlways store summaries and sentiment data\nRefine sentiment detection patterns over time\nEvening newsletters include current positioning section\nLogin credentials should be handled securely"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/brianppetty/agresource",
    "publisherUrl": "https://clawhub.ai/brianppetty/agresource",
    "owner": "brianppetty",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agresource",
    "downloadUrl": "https://openagent3.xyz/downloads/agresource",
    "agentUrl": "https://openagent3.xyz/skills/agresource/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agresource/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agresource/agent.md"
  }
}