← ClaudeAtlas

tunelisted

Sharpen the subscope ranker with 3 rounds of Good/Bad/Meh feedback. Shows you 10 recent surfaces, you mark each in terse format (1g 2g 3b 4m 5g ...), the engine back-propagates into per-sub weights + keyword scores. Faster than re-running /profile when the daily list feels mediocre. Triggers on "tune subscope", "/subscope:tune", "fix the rankings", "list is mediocre", "feedback on surfaces", "tune the ranker".
dancolta/reddit-engage · ★ 10 · AI & Automation · score 80
Install: claude install-skill dancolta/reddit-engage
# /subscope:tune 3-round feedback loop. You mark 10 surfaces per round, the engine adjusts weights between rounds, and your config gets sharper without re-running the full `/profile` interview. ## When to use The daily list (`/subscope:run`) feels mediocre. A few surfaces are great, a few are off, and you're not sure why. Instead of editing YAML by hand: tune. ## Procedure ### Step 1 — Pull the last 10 surfaces ```bash cd "$CLAUDE_PLUGIN_ROOT" && PYTHONPATH=engine python3 -c " import json from subscope.lib import store with store.connect() as conn: rows = store.hot_surfaces(conn)[:10] print(json.dumps([{ 'id': r['post_id'], 'subreddit': r['subreddit'], 'title': r['title'], 'url': r['url'], } for r in rows], indent=2)) " ``` If fewer than 10 surfaces returned, tell the user: *"Only N surfaces in the recent pool. Run /subscope:run first, then come back."* ### Step 2 — Present in chat Render the 10 surfaces in a numbered list with `[g/b/m]` markers, per ui-ux spec: ``` 1. r/RevOps — "Anyone else drowning in HubSpot ops debt?" [g/b/m] 2. r/SaaS — "Looking for a fractional RevOps person" [g/b/m] 3. r/SalesOps — "Canceling Apollo, what do you use for sequence?" [g/b/m] ... 10. r/B2BSaaS — "Salesforce minimums went up to 50 seats" [g/b/m] Mark all 10, then send. Blank = meh. ``` ### Step 3 — Parse user's reply User responds with terse marks like: `1g 2g 3b 4m 5g 6b 7g 8m 9g 10b` Parse via `tune_engine.parse_marks(us