{
  "markdown": "# /last30days-crypto\n\n**Crypto research from the last 30 days, scored by what crypto Twitter actually engages with — backed by market, on-chain, and social-quant data.**\n\nA hard fork of [mvanhorn/last30days-skill](https://github.com/mvanhorn/last30days-skill) rewired for crypto. Twitter/X is the primary qualitative source, web search is secondary, and three crypto data APIs (CoinGecko, Messari, LunarCrush) attach token-level price/derivatives/sentiment data automatically when the planner detects a `$TICKER` or named project. Firecrawl scrapes whitepapers and governance posts on demand. YouTube, TikTok, Instagram, Polymarket, Bluesky, etc. are removed.\n\nThe original `/last30days` skill is unaffected — install both side-by-side from their respective repos. They have **fully separate config and output paths**: this skill uses `~/.config/last30days-crypto/.env` and writes to `~/Documents/Last30Days-Crypto/`; the vanilla skill keeps using `~/.config/last30days/.env` and `~/Documents/Last30Days/`.\n\n## Install\n\n### Claude Code\n```\n/plugin marketplace add Must-be-Ash/last30days-crypto\n```\n\n### Manual\n```bash\ngit clone https://github.com/Must-be-Ash/last30days-crypto.git ~/.claude/skills/last30days-crypto\n```\n\n## Usage\n\n```\n/last30days-crypto $HYPE momentum on X\n/last30days-crypto Hyperliquid revenue and funding rates\n/last30days-crypto $BTC vs $ETH 30d --deep\n/last30days-crypto AI agent token landscape --token VIRTUAL\n/last30days-crypto Solana memecoin launches --no-crypto      # skip enrichment\n```\n\nCLI flags:\n- `--token SYMBOL` (repeatable) — force enrichment for tokens the planner didn't detect.\n- `--no-crypto` — skip the Market & On-chain section even when tokens are extracted.\n- `--scrape URL` (repeatable) — Firecrawl a URL into the report's artifacts.\n\n## Sources\n\n| Tier | Sources |\n|------|---------|\n| Primary qualitative (~70% of weight) | **X / Twitter** (cookies → XAI fallback) |\n| Secondary qualitative | Web (Brave / Exa / Serper / Parallel) |\n| Tertiary qualitative | **Reddit** (public JSON, no key) — community discussion from r/CryptoCurrency, r/ethfinance, r/solana, etc. |\n| Tertiary (dev-activity for code-heavy topics) | GitHub |\n| Crypto data (enrichment) | **CoinGecko** (price, MC, FDV, exchanges), **Messari** (futures OI / funding / volume / volatility / sector), **LunarCrush** (Galaxy Score, AltRank, sentiment, top influencers, AI bull/bear themes) |\n| Tools | **Firecrawl** (URL scrape) |\n\nRemoved from this fork (vs. the vanilla skill): YouTube, TikTok, Instagram, Bluesky, Threads, Truth Social, Polymarket, Xiaohongshu, Pinterest, Hacker News, Perplexity Sonar.\n\n## Env vars\n\nLoaded from `~/.config/last30days-crypto/.env` (separate from the vanilla `/last30days` skill, which uses `~/.config/last30days/.env`):\n\n- **Required for X**: `AUTH_TOKEN` + `CT0` (browser cookies) or `XAI_API_KEY`.\n- **Highly recommended (free tier)**: `COINGECKO_API_KEY`, `MESSARI_API_KEY` (legacy `MESSARI_SDK_API_KEY` also accepted), `LUNARCRUSH_API_KEY`, `FIRECRAWL_API_KEY`.\n- **Web search (recommended)**: `BRAVE_API_KEY` / `EXA_API_KEY` / `SERPER_API_KEY` / `PARALLEL_API_KEY`.\n- **Optional**: `GITHUB_TOKEN` (richer GitHub search).\n\n## How it works\n\n1. **Token extraction** (`scripts/lib/token_extract.py`) parses the topic for `$TICKER` and CamelCase project names, then verifies each candidate against CoinGecko's `/search` endpoint. Only verified tokens enter enrichment.\n2. **Planner** (`scripts/lib/planner.py`) routes the topic to one of two crypto-aware intents (`crypto_data`, `crypto_qual`) plus the existing intents (breaking_news, prediction, factual, comparison, etc.). X gets the highest weight by default.\n3. **Pipeline** (`scripts/lib/pipeline.py`) fans out qualitative streams in parallel, then runs `_run_crypto_enrichment` out-of-band: each detected token gets up to 3 parallel API calls (CoinGecko + Messari + LunarCrush). Capped at `LAST30DAYS_CRYPTO_MAX_TOKENS=2` per run by default to stay under LunarCrush's 10-req/min Discover ceiling.\n4. **Renderer** (`scripts/lib/render.py`) emits a `## Market & On-chain` section grouped by token with seven sub-blocks: price snapshot, social signal, AI bull/bear themes, top influencers, derivatives, volatility, and where it trades.\n\nSee [CRYPTO_SPEC.md](CRYPTO_SPEC.md) for the full implementation plan and [CLAUDE.md](CLAUDE.md) for the dev cheatsheet.\n\n## Credits\n\nThis skill is a **hard fork of [`mvanhorn/last30days-skill`](https://github.com/mvanhorn/last30days-skill) by Matt Van Horn**, rewired and re-scoped for crypto research. The original skill — multi-source research across Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, GitHub, and more — is the foundation this work is built on.\n\nThe crypto fork keeps the original's pipeline architecture, planner-driven query expansion, ranking/clustering, and rendering core. It strips the non-crypto-relevant sources, swaps in three crypto data APIs (CoinGecko, Messari, LunarCrush) plus Firecrawl, makes Twitter/X the primary qualitative source, and adds a token-extraction pass that triggers automatic per-token enrichment.\n\nHuge thanks to Matt for the original work and for making it open source. If you want general-purpose research across many platforms, install [his skill](https://github.com/mvanhorn/last30days-skill) too — they're designed to coexist.\n\nAlso built on:\n- The vendored [Bird](https://github.com/steipete/bird) X-search client by Peter Steinberger (MIT, Node.js).\n- CoinGecko, Messari, LunarCrush, and Firecrawl APIs.\n- Python 3.12+, stdlib-first.\n\n## License\n\nMIT, same as upstream.\n",
  "bytes": 5582,
  "sha": "7cd712c8bac116dc2369352f55427236c77a37501f9d1a24f6da1353253e242a",
  "repo_slug": "must-be-ash/last30days-crypto",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_must_be_ash_last30days_crypto_7d5ade9d/readme"
}