thinking-about
Use when the user wants to capture a thought into their tclem/notes inbox, or when running the daily rollup that re-themes the top-of-mind list.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when the user wants to capture a thought into their tclem/notes inbox, or when running the daily rollup that re-themes the top-of-mind list.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when ingesting, refreshing, listing, searching, or deleting a local corpus with Blackbird code search and `gh blackbird search --fileset`.
Use when reaching for `gh blackbird` (Blackbird code search) for cross-repo lexical, symbol, or semantic search on GitHub — finding callers, ownership, or how systems work without cloning.
Use when creating a GitHub pull request, or when updating an existing PR's title or body so it matches what the code actually does.
Use when authoring or substantially editing a design doc, architecture doc, or subsystem explanation — the "here's what's there and why" companion to an ADR's terse decision record.
Use when creating a repo-tracked multi-agent planning PR for a large project, especially when phases, living docs, parallel agent prompts, and cross-PR coordination are needed.
Use when about to call a library, crate, or framework API you haven't verified, when a dependency's behavior is surprising, when training-data memory might be stale, or when investigating how a dependency actually behaves.
| name | thinking-about |
| description | Use when the user wants to capture a thought into their tclem/notes inbox, or when running the daily rollup that re-themes the top-of-mind list. |
| user-invocable | true |
Two modes against the tclem/notes repo:
thinking-about.md at the repo root (the rolling raw inbox), tagged and anchored so the rollup can link back to it.thinking-about.md, regenerate top-of-mind.md at the repo root, and prune resolved/stale entries into archive/YYYY/.This skill is the only thing that should write to thinking-about.md or top-of-mind.md. Don't edit those files manually from other skills.
Capture mode — when the user supplies free text as a thought to save (e.g. /thinking-about <text>, "add to my thinking-about", "park this in my notes inbox").
Rollup mode — when a scheduled rollup workflow fires, or the user explicitly asks to "rollup", "re-theme", "regenerate top of mind", or "review the inbox".
If the invocation is ambiguous (no thought text and no explicit rollup intent), ask which mode before doing anything. Do not default to rollup, because rollup writes and prunes across multiple files.
Work in the local checkout at ~/github/notes when it exists; that's the canonical working copy. If it's missing or out of date:
if [ ! -d ~/github/notes/.git ]; then
gh repo clone tclem/notes ~/github/notes
fi
cd ~/github/notes
git pull --ff-only origin main
All commits go directly to main. Push after each operation.
thinking-about.md is a single rolling Markdown file at the repo root:
# Thinking about
Raw, append-only inbox of things on my mind. Captured by the `thinking-about`
skill (in `tclem/dotfiles`). The daily rollup at [`top-of-mind.md`](top-of-mind.md)
synthesizes themes and links back to specific entries by anchor.
Tags: #thinking-about #inbox
<a id="t-0042"></a>
- **2026-05-16 14:32** — short text of the thought.
Optional follow-up lines indented two spaces.
<a id="t-0043"></a>
- **2026-05-16 17:05** — another thought.
Rules:
t-NNNN, never reused. Pick the next ID by scanning the file (and archive/**/*-thinking-about.md) for the highest existing t-NNNN and incrementing.YYYY-MM-DD HH:MM.t-0001.cd ~/github/notes && git pull --ff-only origin main.
Determine next ID.
Append the new entry block at the end of the file (preserve the trailing newline).
Stage, commit, push:
git add thinking-about.md
git commit -m "thinking-about: capture t-NNNN"
git push
Report the ID and the captured text back to the user.
Commit messages stay terse — the diff is self-explanatory. No Co-authored-by trailer (this is a personal notebook, not collaborative authorship).
The rollup regenerates top-of-mind.md at the repo root and prunes the inbox. Run it daily via the workflow, or on demand.
thinking-about.md at the repo root — current inbox.top-of-mind.md at repo root — read it to preserve theme names and synthesis where they're still accurate. Do not blindly overwrite.archive/YYYY/ — for ID collision avoidance and historical context.For each entry in the inbox, decide one of:
(done), [x], ~~strikethrough~~, or the synthesis from previous rollups indicates resolution. Prune to archive.When in doubt, leave it in the inbox. Pruning is reversible (git history) but noisy. Err toward keeping entries visible until a clear signal arrives.
# Top of mind
Rolled up YYYY-MM-DD from [`thinking-about.md`](thinking-about.md).
Each item links to its raw entry.
## Themes
### <Theme name>
One- to three-line synthesis of what's going on in this theme.
- [t-0012](thinking-about.md#t-0012) — short title or excerpt
- [t-0018](thinking-about.md#t-0018) — short title or excerpt
### <Another theme>
...
## Unthemed recent
Captured in the last 7 days, not yet part of a theme:
- [t-0044](thinking-about.md#t-0044) — short text
- [t-0045](thinking-about.md#t-0045) — short text
## Resolved this rollup
- [t-0005] — moved to `archive/2026/2026-05-16-thinking-about.md`; was about <X>.
## Stale this rollup
- [t-0009] — moved to `archive/2026/2026-05-16-thinking-about.md`; not revisited since 2026-04-08.
Rules:
top-of-mind.md already named a theme and it's still active, keep the same name and adjust membership. Only rename a theme when its current membership has shifted such that the old name actively misleads (e.g. theme was "Search latency" but every active entry is now about indexing throughput). Tightening, broadening, or aesthetic improvements are not reasons to rename.When pruning (Resolved or Stale), move the entry including its anchor to a dated archive file:
archive/<YYYY>/<YYYY-MM-DD>-thinking-about.md
where <YYYY-MM-DD> is the day the rollup is running. Multiple prunes on the same day accumulate into the same archive file. Archive file shape:
# Thinking about — pruned YYYY-MM-DD
Entries moved out of `thinking-about.md` by the daily rollup. Anchors
preserved so external links still resolve.
Tags: #thinking-about #archive
<a id="t-0005"></a>
- **2026-04-01 09:12** — original entry text (verbatim).
Pruned: resolved (synthesis: ...).
<a id="t-0009"></a>
- **2026-04-08 15:40** — original entry text.
Pruned: stale.
The pruning note (single line after the original content) records the reason. Original content is verbatim.
cd ~/github/notes && git pull --ff-only origin main.
Read inbox, previous top-of-mind, and any archive entries from the last 60 days for context.
Make per-entry judgments. Print the judgment list and ask the user to confirm prunes when run interactively. The daily workflow is non-interactive — in that case, only prune entries that match the explicit signals ((done), [x], ~~...~~, or > 60 days untouched with no theme membership). Treat the 30-day threshold as advisory in non-interactive mode; default to keeping.
Cluster active entries into themes. Reuse previous theme names where they still fit.
Rewrite top-of-mind.md at the repo root.
For each prune: remove the entry block from thinking-about.md, append to today's archive file (create directory if needed) with the pruning reason.
Commit as a single rollup commit:
git add top-of-mind.md thinking-about.md archive
git commit -m "thinking-about: rollup YYYY-MM-DD (N themes, M pruned)"
git push
Report a short summary: theme count, prune count, link to the commit.
<a id="t-NNNN"></a> so external links continue to resolve.top-of-mind.md outside this skill. It's generated; any manual edits are blown away on the next rollup.