runlisted
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