name: shower-thoughts
description: Steps out of focused work, reads recent entries from the human's configured sources (such as daily journal entries, changelogs, or notes), and surfaces one shower thought — a 140-character miniature epiphany connecting the current work to something else the human is doing. Shows the thought in the session and posts it to a shower-thoughts feed. Use when asked for a "shower thought" or /shower-thoughts, when stuck and the same ideas keep resurfacing, or at a natural pause such as after opening a PR or before planning a new feature.Run one diffuse-mode pass over what your human has been doing lately and return a single grounded insight about how the current work connects to the rest — shown in this session and posted to a feed that holds only shower thoughts — then go back to the task.
When to Use
- Explicit: "shower thought", "give me a shower thought",
/shower-thoughts - Stuck: the same approaches keep resurfacing, or every option feels like a variation of the last
- Natural pause: a PR just opened, a phase just closed, a new feature is about to be planned
- Not for critiquing or pressure-testing a plan — this skill generates connections; it does not judge the work
Setup
Run this once, when no settings exist. Ask your human, in one message:
- Sources — which records of recent activity to read, such as daily journal entries, a changelog, commit history, or meeting notes. For each: where it lives and how to read it (tool call, file path, or URL)
- Window — how far back to read (default: 7 days)
- Skip — lines that are pure noise, such as routine habit logs or boilerplate
- Feed — where to post thoughts (a channel, a file, a note), or nowhere
- Audience limits — what must never appear in a thought shown where others can see it (default: health, sexual, substance, and relationship details)
Save the answers as a private settings document titled "{name}'s Shower Thoughts Skill" that says "Run the Shower Thoughts Skill with these Inputs" and lists them. Future runs read it instead of asking. Never store credentials in it.
Inputs
SOURCES,WINDOW,SKIP,FEED,AUDIENCE— from the settings document- Required: read access to every source. If one is unreachable, skip it and name it in the output; if none are reachable, stop and say so
- Strongly recommended: a subagent tool running on the same model as this session. Reading sources directly floods the session's context; a subagent absorbs the reading and returns about 100 tokens. Do not hand the sources to a different model provider without your human's approval — they may be personal
Workflow
- Load settings
- Read the settings document. If none exists, run Setup first
- Read the last 7 days of
FEED(when readable) — every thought posted there, verbatim
- Describe the current work at three altitudes — one line each, kept to yourself:
- Task — the literal work ("adding cursor pagination to channel reads")
- Mechanism — the pattern underneath ("letting a reader ask only for what's new since it last looked")
- Mundane — how anyone would recognize it ("picking up a book at the bookmark")
- The mundane line is the doorway: unrelated things start to look alike at that altitude
- Step into the shower (subagent)
- Hand a fresh subagent only: the three altitude lines, the source instructions with
WINDOWandSKIP, the last 7 days ofFEEDas the recent thoughts, the Frames, the Filter, and the Output format. Never the task, the code, or your reasoning — the clean context is the point - The subagent reads every source across the window, drops
SKIPlines and entries about the current work itself, and compresses each remaining entry into one line of 140 characters or fewer, labeled with its project or domain - If fewer than 10 lines remain, it returns "sources too thin"
- Otherwise it wanders: 15–25 raw collisions through the Frames, fast, unranked, unjudged
- Then it runs every collision through the Filter and returns the single best thought, optionally one related idea, and — for your check only — the two entries the thought rests on. Or "nothing surfaced"
- No subagent available: do the same in this session, compressing every entry before wandering, and expect the context cost
- Hand a fresh subagent only: the three altitude lines, the source instructions with
- Check, then show the thought — confirm it rests on the two entries the subagent named, then show it in the session format under Output and nothing else
- Post the thought to
FEED— the thought only - Return to the task. The pass is a break, not a pivot
Frames
- Same shape — which entry has the same structure as the work at the mundane altitude?
- Distance pick — pair the work with the three entries least related to it
- Inversion — what if that project were the work's consumer, or its supplier?
- Leftovers — what does the work throw away that something else needs?
- Scale shift — what does this look like for one person, a community, a thousand customers?
- Time shift — what will this need in six months that something else is building now?
Filter
A collision passes only if all hold:
- Playful — it has shower energy: the small "huh, wait…" of noticing something odd, delightful or quietly absurd about everyday life, the way r/Showerthoughts reads. Light and curious, never a status report, a warning, a risk assessment or a business lesson
- Grounded — rests on at least two real source entries; the session checks them, the human never needs to see them
- Bridging — connects two distinct projects or domains, at least one of them work; the further apart, the better
- Perspective shift — reframes something known rather than summarizing two entries side by side
- Stands alone — fits in 140 characters and makes sense to someone who saw neither entry: no project names, tool names or jargon they would need explained
- Declarative — a statement in second or third person; not a question, to-do, or advice
- Not a lazy format — none of "X is just Y", "X is the Y of Z", "Technically, X", "If you think about it, X", "In a parallel universe, X"
- Not wordplay — no puns or observations about naming; playful is a fresh angle on something true, not a joke
- Not a repeat — no pairing, image or insight from the last 7 days of
FEED, and nothing that reads as a rewording of one - Within audience limits — when the session may be seen by others, nothing
AUDIENCEexcludes
Choose the one that would make the human grin or tilt their head; on a tie, the greater distance between the bridged things.
Rules
- Exactly one thought per run, or none, plus at most one related idea. Never post a weak thought to fill the slot
- Never invent facts about any project or entry to make a connection work
- A shower thought is an observation, not an action item. Never add it to a roadmap, open an issue, or append advice to it from this skill
FEEDholds only shower thoughts — never status updates, receipts, or empty results
Output
- Session format — exactly one thought, then one related idea:
Shower thought… {thought}Related idea: {one line — something the thought sparks: a thing to build, try or notice}
- Nothing else in the session: no second thought, bridges, sources, counts, flair, status or notes about the run
- Feed format: the thought only. Never post the related idea, and never post more than the one thought
- Empty result: in the session only — "No shower thought this time." — and nothing posted
- Example, from the entries "Channel reads now take a cursor; agents poll only what arrived since they last looked" and "Episode pipeline drops 80% of each transcript; only pull-quotes survive":
Shower thought… Most of every conversation you've ever had was the part nobody would bother to quote.Related idea: keep the unquoted 80% of each episode as searchable notes instead of throwing it away.
