From limitless
Searches social media (X, Reddit), GitHub, web, and research papers for trends, sentiment, hot takes, and trending repos on a topic. Read-only research, not single-item lookups.
How this skill is triggered — by the user, by Claude, or both
Slash command
/limitless:hivemindThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Orchestrates the `twitter` CLI (X), `rdt` CLI (Reddit), `gh` CLI
Orchestrates the twitter CLI (X), rdt CLI (Reddit), gh CLI
(GitHub), SearXNG (web), and the OpenAlex/arXiv APIs (papers) into a
disciplined evidence search: resolve venues, classify the chain, search
scoped, triage by relevance before engagement, deep-read where the
knowledge lives, synthesize answer-first with receipts. The collective
brain includes what people post (social), build (GitHub),
publish (papers), and write (web) — each venue carries an
evidence grade, and the brief always says which is which. Social is a
weak-evidence surface: good for friction, language, pointers,
sentiment; never factual validation. Papers and repo metadata are what
validation looks like inside the skill.
Hivemind is read-only. The CLIs can post, like, and reply; this skill never does.
Probe every venue the ask might touch. The result is the live venue set — an input to chain classification (Phase 2): never plan a chain over a tool that already failed its probe.
command -v twitter rdt gh
twitter status; rdt status
gh auth status # SAY which account is active — recipes that
# touch specific orgs/repos depend on it
curl -s -m 5 "http://localhost:8888/search?q=test&format=json" -o /dev/null -w "%{http_code}" # web: expect 200 (403 = json format disabled — see web-playbook)
curl -s -m 5 "https://api.openalex.org/works?search=test&per-page=1" -o /dev/null -w "%{http_code}" # papers
uv tool install twitter-cli / uv tool install rdt-cli / docker start for
SearXNG (web-playbook has the recipe). Ask via AskUserQuestion if
interactive. Non-interactive runs: the fix offer leads the reply —
it is stated BEFORE any degraded or proxy work is performed, not
appended to the result.rdt login / twitter's auth flow.Classify the question first — it sets every knob:
| Trend scan ("what's hot in X") | Knowledge mine ("what does social media say about Y") | |
|---|---|---|
| Window | 7–30 days | 6 months – all time |
| Reddit sort | top -t week/month + one new pass | top -t year, comments for depth |
| X tabs | latest + top, --since | top, higher floors |
| Signal | repeated independent mentions, velocity, cross-platform echo | depth + agreement of practitioner answers |
| Brief shape | ranked hot-topics with receipts | consensus vs contested practices |
Sentiment questions ("what do people think of X vs Y") are knowledge
mines with both-sides stance mining. --radar is a trend scan with the
report pipeline from references/radar.md. Mode and chain are
orthogonal: a chained sweep still has a mode per stage venue.
Config lookup comes first — and binding is name-gated. Check
ls ~/.limitless/hivemind/*/config.md:
ai-dev-weekly covers this — say so if its rules should apply")
and proceed unbound. Topic overlap never binds; only the user's own
words do.Then: topic terms + jargon variants, window (mode default unless
--window), depth (--quick ≈ 2 queries/platform, default ≈ 3–4,
--deep ≈ 6+ and subagent fan-out per venue). Do the research; ask the
user only when ambiguity is material.
Even when you're sure you know the right subreddit, run the recon and let the data confirm:
rdt search "<topic>" -s relevance -n 25 --json -c # broad, unscoped
twitter search '"<topic>"' -t top -n 20 --json
subreddit field of the Reddit results: the
top 2–4 recurring communities are your venues. Sanity-check surprises
with rdt sub-info <name>.When the ask spans venues, classify the chain and state it out loud before fan-out — it goes in the manifest and the brief's coverage section, like adaptations do:
discover → pivot(entities) → enrich | react | verify | analyze
--verify)The ask defines the order. "Trending repos and what is X saying" = gh discovers → social reacts. "Most mentioned repos on reddit" = reddit discovers → gh enriches. Getting this backwards produces plausible garbage (popularity of old repos instead of trends).
Rules:
<repo>_analysis.md for each analyzed repo in the frame's
main directory. If repo names collide, prefix the owner. Mention these
files in the brief and manifest.Per venue + one global control, JSON saved to the sweep's frame
directory with venue-prefixed names (r-*.json, x-*.json,
gh-*.json, web-*.json, oa-*.json, arx-*.xml) — create the frame
at the start of Phase 2, set FRAME to it, and write recon/fan-out
files under $FRAME/raw/. Recipes, floor ladders, and venue quirks live
in the playbooks:
references/reddit-playbook.md, references/x-playbook.md,
references/gh-playbook.md, references/web-playbook.md,
references/papers-playbook.md. Read the playbook for every venue the
chain touches. Core social patterns:
rdt search "<variant>" -r <sub> -s top -t <window> -n 25 --json -o "$FRAME/raw/rN.json"
twitter search '"<topic>" <variant>' -t top --min-likes 50 --lang en \
--exclude retweets --since <start> -n 30 --json -o "$FRAME/raw/xN.json"
Adaptive floors: <5 hits → halve floor, widen window once; noisy → double
floor, add --exclude replies. State every adaptation you make.
Pivot discipline (chained sweeps): the entities extracted from the
discover stage become the scoped queries of the next stage — never
re-query the generic topic. Qualify collision-prone entity names
(generic words, name-squatted projects) with org, URL, or context
terms; record the qualification decisions. Write the pivot entity
list out explicitly — it goes in the manifest and is the diff key
for repeat.
rdt read <id> -s top -n 30 --json > "$FRAME/raw/r-read-<id>.json" (the post is the question;
comments are the answer); twitter tweet <id> -n 20 --json > "$FRAME/raw/x-thread-<id>.json" (replies carry corrections and
counterpoints).The brief, in order:
[r/SunoAI, 446↑], [@user, 2.1k likes], [gh, 2.3k★, created 2026-05], [arXiv 2606.xxxxx, 0 cites — too fresh], [openalex, 127 cites]. Engagement shown, not implied.Epistemic labels throughout: [observed] (in the posts/data),
[claimed] (asserted by posters/authors), [inferred] (your
synthesis). Cross-grade echo beats cross-platform echo: the same
thing showing up as paper + repo + social chatter is the strongest
signal hivemind can emit; social-only echo is labeled possible hype.
Social engagement never validates a factual claim — a 2k-like
assertion is [claimed] until a paper, repo, or primary source backs
it.
Auto-save rule: if the findings are load-bearing (feeding a suno-pack, article-pack, or a project decision), save the brief to the codies-memory inbox; otherwise offer it. Answer-first either way.
Raw results are never discarded — re-triage beats re-search, and scores are fetch-time snapshots no re-run can reproduce. Every sweep (not just radar) writes a frame:
~/.limitless/hivemind/<topic-slug>/<date>/
raw/ recon + fan-out JSON (venue-prefixed), deep-read JSON,
throwaway parsers, shallow repo clones for analysis
<repo>_analysis.md
repo/source analysis files when the ask requested them
manifest.md query, mode, window, venues, file list, adaptations,
NAMED triage rejections with reasons — plus, for
chained sweeps: the chain (e.g. `chain: gh → x,reddit`)
and the explicit pivot entity list
brief.md the final synthesis (copy of what the user got)
radar.json + radar.html (radar mode only)
references/radar.md): deterministic
slug, near-match check before creating, -2 suffix on same-day
re-sweeps, frames immutable once written.--no-keep opts out of immutable frame persistence; throwaway working
files still stay under ~/.limitless/hivemind/tmp/<run-id>/, not in
project docs. Default is keep.~/.limitless/hivemind/<topic-slug>/config.md — topic level, beside the
dated frames, never inside them. The frame says what happened; the
config says what to do next time. Template + worked structure:
references/config-template.md. Hard rule everywhere: propose-
confirm only — the skill never silently rewrites user intent; every
accepted change = edition bump + dated changelog line.
Crystallize. After any sweep that smells recurring (user says "weekly", "again next time", names a cadence, asks to freeze the process — or auf Deutsch) — or on explicit request — offer to write/update the config. Source material: the frame's manifest plus every user correction observed in the session. Corrections map to config lines; muted topics → exclusions; the output the user finally accepted → the format spec. Nothing is written before the user confirms.
Repeat. repeat <slug> (or "wiederhole "):
Lookup is Phase 1's config check — the counterpart of crystallize: demonstration captures what the user says; lookup replays what they already said. Binding is name-gated (see Phase 1): a config applies only when the user names it; domain overlap earns a one-line notice, never silent application.
Precedence: live ask > config > recon classification.
What happens after a declined fix offer depends on one distinction:
proxy-of-<venue> — never presented as the
venue itself.--quick | --deep — depth tier. --deep fans out one subagent per
venue (each gets a self-contained brief: topic, venue, window, pass
criteria — subagents have no conversation context).--platform x|reddit|both — default both (social asks).--window 7d|30d|90d|1y|all — overrides mode default.--verify — before synthesis, chase the top contested claim(s) to
primary sources (papers first, then docs/repos) and mark
verified/refuted.repeat <slug> — execute a saved config (see Configs).--radar "<topic>" (alias --report) — full sweep → topic clusters →
stance mining → budgeted enrichment → radar.json + radar.html in
~/.limitless/hivemind/<slug>/<date>/. Read references/radar.md
first.--no-keep — skip immutable frame persistence (throwaway working files
go to ~/.limitless/hivemind/tmp/<run-id>/).Baseline agents did good things the skill must not suppress: resolving shortlinks, writing throwaway parsers for odd JSON, building collision risk registers for ambiguous entity names, caveating flaky sources. Keep that initiative — the skill constrains sequence and evidence discipline, not creativity inside the phases.
references/reddit-playbook.md — rdt recipes, venue-resolution
procedure, comment mining. Read at Phase 2–4.references/x-playbook.md — twitter-cli recipes, floor ladder, thread
mining. Read at Phase 3–4.references/gh-playbook.md — gh CLI recipes (trending, releases,
enrichment), star proxies, collision traps. Read when the chain
touches gh.references/web-playbook.md — SearXNG recipes, categories, json-403
fix, fediverse note. Read when the chain touches web.references/papers-playbook.md — OpenAlex/arXiv recipes, citation-lag
rule, science aggregator. Read when the chain touches papers.references/config-template.md — config structure, crystallize
mapping, changelog discipline. Read for any config verb.references/radar.md — radar pipeline, KG schema, sweep series
contract, HTML template usage. Read only for --radar.npx claudepluginhub pyros-projects/limitless --plugin limitlessGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.