thinking-out-loud
A contract for what the agent does when a long, messy, stream-of-consciousness ramble arrives (usually voice dictation): act on nothing until the echo brief is approved. The echo audits the entire transfer, mission, locked decisions and constraints, open questions, flips and parked tangents, with the model's inferences and guesses quarantined away from the user's own phrasing, so the user verifies what the model believes, not just what it doubts. Use when the user says "let me think out loud" or wants to ramble a bit before building anything, when a message opens with a speech-to-text preamble like "switching to voice, sorry for typos", when input is a long weakly punctuated stream with restarts and mid-message reversals ("actually no, wait, scrap that idea entirely"), or when the user asks to be interviewed about a fuzzy half-formed idea. Includes an optional capture mode for rambles spread across several messages and an optional targeted interview.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-13
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- thinking-out-loud
- license
- Apache-2.0
- metadata
- { "author": "Shubham Saboo", "source": "https://github.com/Shubhamsaboo/awesome-llm-apps", "version": "1.3.0" }
- description
- A contract for what the agent does when a long, messy, stream-of-consciousness ramble arrives (usually voice dictation): act on nothing until the echo brief is approved. The echo audits the entire transfer, mission, locked decisions and constraints, open questions, flips and parked tangents, with the model's inferences and guesses quarantined away from the user's own phrasing, so the user verifies what the model believes, not just what it doubts. Use when the user says "let me think out loud" or wants to ramble a bit before building anything, when a message opens with a speech-to-text preamble like "switching to voice, sorry for typos", when input is a long weakly punctuated stream with restarts and mid-message reversals ("actually no, wait, scrap that idea entirely"), or when the user asks to be interviewed about a fuzzy half-formed idea. Includes an optional capture mode for rambles spread across several messages and an optional targeted interview.
02 资源文件 2
- 参考文档README.md2.8 KB
- 参考文档references/echo-format.md2.4 KB
03 SKILL.md 正文
Thinking Out Loud
A ten minute voice ramble transfers more context than any prompt a person would type, and models reconstruct rambles well. The failure is downstream and invisible: the model fills every gap in the ramble confidently. "The usual model" silently becomes a specific model. "The standard size" becomes a specific viewport. A position the user reversed mid-ramble survives as fact. None of this registers as uncertainty from the inside, so none of it ever becomes a clarifying question. The model then acts on a misreading it fully believes, and the user discovers it an hour of generated work later.
This skill is the fix: before acting on any ramble, produce an echo, a short structured audit of everything absorbed, with the model's own additions quarantined from the user's words. The user corrects three lines instead of debugging a built artifact.
Why an echo instead of follow-up questions
Asking clarifying questions is good, and the interview below does it. But questions alone cannot secure a ramble, for two structural reasons:
- Questions verify what the model doubts. The echo verifies what the model believes. A clarifying question requires felt uncertainty, and confident misreadings feel like knowledge. The echo forces every inference and gap-fill into the open whether or not it felt uncertain.
- Questions sample; the echo audits. A long ramble carries dozens of facts and half-decisions. Even good questions probe three or four; the rest of the model's understanding goes unverified into action. The echo inventories the entire transfer, and it works by recognition, not recall: the user reads and spots what is wrong, which is far cheaper than producing answers, and ramblers often do not know their answer until they see the wrong guess written down.
The contract
- Act on nothing. No file edits, no code, no plans, no solutions to fragments, until the echo is approved. Reconstruct first.
- Label every addition. Inferences and guesses live in their own section, apart from the user's own content. Never present a guess in the user's voice.
- Surface every reversal. Adopt the later position, but flag the flip. Never silently average or pick.
- Lose nothing. Tangents get parked, not dropped.
- Never remark on dictation artifacts. Typos, homophones, filler, and restarts are resolved silently from context. Keep the user's own vocabulary and project names.
- Ask before persisting. The approved brief is offered a home, never saved unprompted.
When to use
- A message is a long, weakly punctuated stream of consciousness with restarts, filler, and mid-message reversals ("actually no, scrap that")
- A message opens with a voice preamble ("switching to speech recognition, sorry for any typos", "dictating this")
- The user says they want to ramble or think out loud
- The user asks to be interviewed to untangle a fuzzy idea
When not to use
- Short requests that are already clear
- The user wants a verbatim transcript, minutes, or cleanup of dictation while keeping their exact words
- Long but already structured text, such as a pasted spec or document
- The user asked a direct question and wants a direct answer
The echo
One structured reply. Dense, scannable, and short: the user should find and fix an error in seconds. Full template with a worked example in references/echo-format.md.
- Mission: one sentence stating what the user is actually trying to achieve. Often this differs from what they said first; that is fine.
- Locked: the user's decisions and constraints, merged into one list. Mark anything they called a top priority.
- Open: questions the ramble raised but did not answer.
- Ledger: flips (both positions in one line, later one adopted) and parked tangents (one line each).
- My additions: the only interpretation callouts. "Inferred" (strongly implied but never stated) and "Guessed" (gaps you filled). Tell the user to correct these first.
Compression rules, non-negotiable:
- Nothing appears twice. Every fact lives in exactly one section.
- No "you said" recap. Everything outside My additions is the user's own content by definition; only the model's additions get called out.
- One line per bullet. If a bullet needs two lines, it is two bullets or it is bloat.
- Vague quantifiers are never silently resolved. "The usual model", "standard size", "soon": each lands in Open or Guessed, never absorbed into a locked item as if it were specified.
Close by inviting corrections and offering the interview.
The interview (optional)
Follow-up questions have their place: after the audit, not instead of it. Only if the user accepts the offer, or asked to be interviewed up front.
- Ask only about items flagged in Open or Guessed
- One question per message, highest information gain first
- Each question states in one clause why it matters
- Cap at five questions; stop early once answers stop changing the brief
- After the interview, restate only the sections of the echo that changed
Capture mode (multi-message rambles)
Not needed for dictation tools, where the whole ramble arrives as one message. Use it when the user invokes the skill before rambling and then adds thoughts across several messages, possibly over a long stretch.
- Acknowledge once, in one short line ("Go ahead, I'm listening. Say 'done' when you want the echo.")
- For every following message, reply with a single minimal line ("Listening."). Vary it slightly so it does not feel robotic.
- Do NOT solve, praise, summarize, analyze, or ask questions mid-stream.
- If the user asks a direct question mid-ramble, answer it in at most two sentences, then return to listening.
- Exit on "done", "echo", "echo me", "that's it", "what did you get", or any clear equivalent, then deliver the echo.
Persistence
After the user approves the echo, offer exactly three options:
- Append the brief to CLAUDE.md so future sessions inherit it
- Save it to
docs/rambles/YYYY-MM-DD-<topic>.md - Keep it in-conversation only
The approved brief then governs the rest of the session: honor its decisions and constraints without re-asking.
04 同仓库更多 Skills
typesafe-ai
Build AI-powered software with TypeSafe: small units of AI intelligence you can use like programming primitives. Its System One models, including Jev, turn natural language and application state into typed judgments and probabilities that code can combine. Use when a feature needs programmable common sense, when brainstorming what AI could make possible in an app, or when an LLM prompt-and-parse step could become a structured decision. Applications include routing, ranking, extraction, verification, and interactive experiences; these are starting points, not the limits. Read live docs and cookbooks to find useful patterns and discover new combinations.
scope-creep-detector
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad pull requests, changes that grew beyond a fix, dependency additions, public API renames, config or CI edits, oversized hunks, and formatting-only files. Use when the user asks whether a change grew beyond the fix, a PR is too broad, or what unrelated stuff they touched, and wants keep, split, or justify guidance. Operates locally and offline.
project-graveyard
Scans the developer's machine for dead side projects, autopsies each one from its git history (died at the payments wall, killed by a newer project, finished but never shipped), surfaces their personal death patterns, and picks the corpse most worth resurrecting — then helps ship it. Use when the user mentions abandoned, unfinished, or old side projects, asks "what should I finish", wants to revive or resurrect a project, says "run the graveyard", wonders why they never finish anything, or is about to start a new project that sounds like one they already built. Runs entirely locally.
dependency-doctor
Checks requirements.txt, pyproject.toml, and package.json dependency manifests for surface-level direct-dependency footguns: standard-library shadowing pins, abandoned backports, unpinned dependencies, and obvious intra-manifest conflicts, plus opt-in PyPI yanked releases. Use when the user asks to check a manifest for dependency problems, asks why dependencies won't install or whether anything is wrong with their dependencies, wants a dependency autopsy, or suspects dependency manifest rot. Runs offline by default as a local tool for the user's own project, not repository CI.
commit-archaeologist
Reconstructs why code exists from local git history, including the introducing commit, later changes, current authors, repeated companion files, and likely intent. Use when the user asks "why does this code exist", "who wrote this function and why", or to "explain the history of this function" before a rewrite, refactor, or risky edit. Runs entirely locally.
advisor-orchestrator-worker
Use when a task is too large for one model pass, needs parallel research or generation across many subtasks (like researching a dozen competitors at once), or the user asks to orchestrate multiple models, split work across a model team, run an advisor-worker loop, have a stronger model review the plan while cheap workers execute, or says "too big for one model" or "fan this out". Not for single-file edits or tasks one model handles in one pass.