← ClaudeAtlas

runlisted

Run the daily Reddit pain-post surface. Fetch new posts from configured subs, score by intent/keyword/freshness, optionally classify via Claude Haiku, dedup against history, hold in cooling queue, and emit inline markdown (plus optional Notion sync). Triggers on "run subscope", "/subscope run", "daily reddit", "scan reddit", "show today's reddit posts", or the default `/subscope:run` invocation.
dancolta/reddit-engage · ★ 0 · AI & Automation · score 75
Install: claude install-skill dancolta/reddit-engage
# /subscope:run Daily Reddit surfacing orchestrator. Python (under `engine/`) does fetch + gate + score + SQLite + JSON output. This skill is the Claude-side wrapper: it invokes the engine, optionally syncs to Notion (if configured), and prints the inline list to chat. ## Preflight 1. Verify the plugin is set up: - `~/.config/subscope/oauth.json` exists OR the user has run `/subscope:setup` - At least one preset is active in `~/.config/subscope/subreddits.yml` 2. If preflight fails, redirect the user to `/subscope:setup`. ## Daily run procedure ### Step 1 — Fetch + gate + score (Python engine) ```bash cd "$CLAUDE_PLUGIN_ROOT" && PYTHONPATH=engine python3 -m subscope.cli fetch-score ``` Engine output: a single JSON document on stdout with `run_id`, `fetched`, `surfaced`, `dropped_counts`, `surfaces[]`, and `inline_markdown`. ### Step 2 — Optional Notion sync If `~/.config/subscope/notion.yml` exists AND `${user_config.notion_api_key}` is set: 1. For each surface in the engine output, create a row in the configured Notion database with these fields: - `Title`, `Tier`, `Subreddit`, `Score`, `Upvotes`, `Comments`, `Posted` (ISO date), `Pain`, `Fit`, `URL` (verbatim from engine output — **never hand-compose Reddit URLs**), `Surfaced on` (today, ISO) - `Pattern` = the mode that produced the surface (default: `run`) - `State` = `Drafting` if cooling queue active, else `Hot` - `OP score` ← read from `surface.op_score` (string like `"2y old · 4.2k karma · 1