{"id":"3ee688a3-24f5-4073-b399-8184db445ac5","slug":"follow-amazon-daily","kind":"skill","name":"follow-amazon-daily","summary":"Daily Amazon-seller intelligence digest skill: fetches official/community/podcast/newsletter signals, the agent remixes them into a zh/en/bilingual digest, delivered to stdout/Telegram/Email/Feishu.","owner":"lanfuli","repoUrl":"https://github.com/lanfuli/follow-amazon-daily","license":"MIT","licenseTier":"permissive","trust":"community","stars":2,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-05-16T23:27:35.000Z","addedAt":"2026-10-21T13:16:58.173Z","logoUrl":"https://avatars.githubusercontent.com/u/16252490?u=ef90f703140955b77b8506bb78985d411427cf9d&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","productivity","communication"],"tags":["ai-agent","amazon-seller","claude-code","digest","ecommerce"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T00:03:16.035Z","sample":false,"url":"https://conduits.dev/tools/follow-amazon-daily","language":"JavaScript","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"**English** | [中文](README.zh-CN.md)\n\n# follow-amazon-daily\n\nDaily Amazon seller intelligence digest skill.\n\nIt combines the low-friction feed aggregation pattern from `follow-builders`\nwith the structured, auditable workflow style from `wayamzpost`. A deterministic\nscript fetches raw content; the agent remixes it into a real editorial digest in\nChinese, English, or bilingual mode. Nothing is auto-published to social\nplatforms.\n\n## Architecture (two stages)\n\n1. **`scripts/prepare-digest.js`** — fetches every source, writes the\n   deterministic raw feed `data/feed-amazon.json`, and prints a single JSON blob\n   (raw items + prompts + config + stats) to stdout. It does **not** write the\n   digest and does **not** translate.\n2. **The agent** — reads that JSON and remixes it into `digest/YYYY-MM-DD.md`\n   following `prompts/daily-digest.md` and `prompts/translate.md`. Every item\n   gets its own specific summary written from the raw `body`/`excerpt` — there is\n   no hardcoded phrase dictionary, so the output is not repetitive boilerplate.\n\n## What It Produces\n\n- `data/feed-amazon.json`: deterministic raw public feed (script-written)\n- `digest/YYYY-MM-DD.md`: editorial digest (agent-written, never includes\n  private authenticated content)\n- stdout: full JSON blob for the agent, plus optional stdout-only private\n  authenticated signals\n\n## Quick Start\n\n```bash\nnpm test\nnode scripts/audit-sources.js --dry-run\nnode scripts/prepare-digest.js          # prints the JSON blob\n# then the agent remixes it per prompts/daily-digest.md into digest/<date>.md\n```\n\n## Language\n\nDefault is Chinese (`config.language: \"zh\"`). Override at runtime:\n\n```bash\nnode scripts/prepare-digest.js --language en\nnode scripts/prepare-digest.js --language bilingual\n```\n\nTranslation is performed by the agent following `prompts/translate.md`: natural,\nnative-sounding Chinese, with operator terms and proper nouns kept in English\n(Amazon, Walmart, TikTok Shop, Sponsored Products, Brand Registry, PPC, ACOS,\nASIN, SP-API, Search Query Performance) and URLs unchanged.\n\n## Delivery\n\nDefault is `stdout` (show in chat, no keys, no auto-publish). The user can opt\ninto their own Telegram, Email, or Feishu delivery in `config/sources.json`:\n\n```json\n{ \"delivery\": { \"method\": \"telegram\", \"chatId\": \"123456789\" } }\n{ \"delivery\": { \"method\": \"feishu\" } }\n```\n\nSecrets come from environment variables only (the cron sources them from\n`~/.follow-amazon-daily.env`): `TELEGRAM_BOT_TOKEN`, `RESEND_API_KEY`,\n`FEISHU_WEBHOOK` (+ optional `FEISHU_WEBHOOK_SECRET`). Feishu uses a custom-bot\ngroup webhook — no app, no chatId. Send a finished digest with:\n\n```bash\nnode scripts/deliver.js --file digest/2026-05-16.md\n```\n\nFor an automatic daily run, onboarding installs a system crontab entry that\nruns `scripts/run-daily.sh` (prepare → agent remix → deliver, with a clearly\nlabelled raw fallback if the Claude CLI is unavailable on the cron run).\n\n## Sources\n\nDefined in `config/sources.json` (8 sources):\n\n- Amazon SP-API Release Notes (official)\n- Amazon Ads Library (official)\n- Helium 10 Blog (industry)\n- Serious Sellers Podcast — RSS (media)\n- AMZ123 跨境头条 — `/t` link list (industry)\n- WeAreSellers — RSS / HTML (community)\n- Billion Dollar Sellers — archive (newsletter)\n- My Amazon Guy — YouTube RSS (media)\n\nEach source has a `lookbackHours` window; items older than that, and items\nalready shown in a previous run (`state-feed.json`, per-install), are filtered\nout so the digest is only what's new.\n\n## Optional Auth\n\nWeAreSellers and Billion Dollar Sellers can be enriched with authenticated\ncookies:\n\n```bash\nexport WEARESELLERS_COOKIE='name=value; other=value'\nexport BDS_COOKIE='name=value; other=value'\nnode scripts/prepare-digest.js\n```\n\nThe script never persists raw authenticated page text. Authenticated insights\nare returned as `privateItems` in the stdout blob only — never written to\n`data/feed-amazon.json` or the public digest.\n\n## GitHub Actions\n\nThe daily workflow tests the parser, audits sources in non-fatal dry-run mode,\nrefreshes `data/feed-amazon.json`, and commits **only that feed file**. The\neditorial digest is produced by the agent on demand, not in CI. Keep auth\ncookies out of public workflow logs.\n\n## Feed Item Schema\n\nEach item in `data/feed-amazon.json`:\n\n- `id`, `source`, `sourceType`, `category`\n- `title`, `url`, `publishedAt`\n- `excerpt` (short metadata)\n- `body` (raw readable text for public sources; empty for community /\n  subscriber-gated sources)\n- `tags`, `access`, `sourceReliability`\n- `thin` (optional, `true` when the source returned only an index/JS shell —\n  the agent reports it honestly instead of fabricating a summary)\n\nSeller impact and suggested actions are written by the agent at digest time, not\nstored as canned strings.\n\n## License\n\nMIT\n"}