| 1 | # Hermes Setup Guide for last30days |
| 2 | |
| 3 | This guide covers installing last30days on Hermes AI Agent. |
| 4 | |
| 5 | ## Prerequisites |
| 6 | |
| 7 | 1. **Hermes installed** - See https://github.com/NousResearch/hermes-agent |
| 8 | 2. **Python 3.12+** - `brew install python@3.12` or similar |
| 9 | 3. **yt-dlp** (optional, for YouTube) - `brew install yt-dlp` |
| 10 | |
| 11 | ## Installation |
| 12 | |
| 13 | ```bash |
| 14 | hermes skills install mvanhorn/last30days-skill/skills/last30days --force |
| 15 | ``` |
| 16 | |
| 17 | The explicit `skills/last30days` path fetches the skill straight from this repo's current default branch and deploys it under `~/.hermes/skills/`. `--force` is required because Hermes's install-time security scanner returns a `caution` verdict for this skill — it flags benign patterns such as reading your own API keys from the environment and calling `subprocess` to run `yt-dlp`/`bird`. `--force` accepts the caution verdict and installs (it also reinstalls over any existing copy). |
| 18 | |
| 19 | **Why the explicit path?** The shorter `hermes skills install mvanhorn/last30days-skill` currently resolves through the skills.sh index, which is serving an older cached snapshot of this repo (from before the skill moved under `skills/last30days/`). Use the explicit `.../skills/last30days` path above until the index re-crawls — tracked in [vercel-labs/skills#1602](https://github.com/vercel-labs/skills/issues/1602). |
| 20 | |
| 21 | ### Developer / live-edit alternative |
| 22 | |
| 23 | If you're hacking on the skill locally and want edits to propagate to Hermes without re-installing, symlink your working tree: |
| 24 | |
| 25 | ```bash |
| 26 | git clone https://github.com/mvanhorn/last30days-skill.git |
| 27 | mkdir -p ~/.hermes/skills/research |
| 28 | ln -s "$(pwd)/last30days-skill/skills/last30days" ~/.hermes/skills/research/last30days |
| 29 | ``` |
| 30 | |
| 31 | ## Usage |
| 32 | |
| 33 | In Hermes, invoke with: |
| 34 | |
| 35 | ``` |
| 36 | last30days "your research topic" |
| 37 | ``` |
| 38 | |
| 39 | Or with options: |
| 40 | ``` |
| 41 | last30days "best mechanical keyboards 2025" --search=reddit,youtube |
| 42 | last30days "AI news" --days=7 --deep |
| 43 | ``` |
| 44 | |
| 45 | ## First Run Setup |
| 46 | |
| 47 | On first run, the skill will guide you through setup: |
| 48 | |
| 49 | 1. **Auto setup** (~30 seconds) |
| 50 | - Scans browser cookies for X/Twitter |
| 51 | - Checks/installs yt-dlp for YouTube |
| 52 | - Best-effort install of `digg-pp-cli` for Digg AI-news clusters (via `@mvanhorn/printing-press-library`; binary lands in `$HOME/.local/bin` — ensure your Hermes gateway PATH includes it, or Digg stays off even after install) |
| 53 | - Configures free sources (Reddit, HN, Polymarket) |
| 54 | |
| 55 | 2. **Optional: ScrapeCreators** |
| 56 | - Adds TikTok, Instagram, Reddit backup |
| 57 | - 100 free credits (no expiration) |
| 58 | - Sign up at scrapecreators.com |
| 59 | |
| 60 | 3. **Optional: API Keys** |
| 61 | - XAI_API_KEY for X/Twitter (alternative to browser cookies) |
| 62 | - BRAVE_API_KEY for web search |
| 63 | |
| 64 | ## Available Sources |
| 65 | |
| 66 | ### Free (No API Key) |
| 67 | - **Reddit** - Public discussions and comments |
| 68 | - **Hacker News** - Tech discussions via Algolia |
| 69 | - **Polymarket** - Prediction markets |
| 70 | - **YouTube** - Search and transcripts (requires yt-dlp) |
| 71 | - **Digg** - AI-news story clusters (requires `digg-pp-cli` on the agent PATH; auto-installed to `$HOME/.local/bin` during setup when `npx` is available) |
| 72 | |
| 73 | ### Requires API Key |
| 74 | - **X/Twitter** - xAI API key or browser cookies |
| 75 | - **TikTok** - ScrapeCreators API |
| 76 | - **Instagram** - ScrapeCreators API |
| 77 | - **Web Search** - Brave Search API |
| 78 | |
| 79 | ## Troubleshooting |
| 80 | |
| 81 | ### Python not found |
| 82 | ```bash |
| 83 | # Find Python 3.12+ |
| 84 | which python3.12 python3.13 python3.14 |
| 85 | |
| 86 | # If not installed |
| 87 | brew install python@3.12 |
| 88 | ``` |
| 89 | |
| 90 | ### yt-dlp not found |
| 91 | ```bash |
| 92 | brew install yt-dlp |
| 93 | # or |
| 94 | pip install yt-dlp |
| 95 | ``` |
| 96 | |
| 97 | ### Check what's configured |
| 98 | ```bash |
| 99 | cd ~/.hermes/skills/research/last30days |
| 100 | python3.12 scripts/last30days.py --diagnose |
| 101 | ``` |
| 102 | |
| 103 | ## Updating |
| 104 | |
| 105 | ```bash |
| 106 | hermes skills install mvanhorn/last30days-skill --force |
| 107 | ``` |
| 108 | |
| 109 | If you symlinked your working tree (developer alternative above), just `git pull` in the repo — edits propagate live, no re-install step. |
| 110 | |
| 111 | ## Support |
| 112 | |
| 113 | - Original repo: https://github.com/mvanhorn/last30days-skill |
| 114 | - Hermes: https://github.com/mercurial-tf/hermes |
| 115 | - Issues: Please report in the original repo |
| 116 |