brain-dump
Skill3 starsChanged 7 months agoMITView on GitHub
Capture, structure, and organize ideas from any source (URLs, screenshots, text, voice transcripts, calendar inbox events, iOS Shortcut payloads) into the ryankolean/mindspace GitHub repo. Classifies along two axes (project + idea-type) with emergent tags, auto-schedules High-priority items via Google Calendar reminder-hub conventions, and self-improves by appending to learnings.md after every session. Activates on "brain dump", "capture this", "add to mindspace", "process my inbox", "mindspace review", "what did I capture about X", or when the user shares a URL/screenshot/idea fragment without explicit instructions.
We split this skill into the rules it gives an agent
22 rules. 0 are common, 5 are distinctive, and 17 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
17
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
If the repo doesn't exist yet, run the gh-repo-create skill with these parameters: name mindspace, visibility private, description
- Distinctive: line 50
Honor user adjustments: If user edits any field, use the edited version.
- Very specific: line 66
Commit in batches: one commit per project triaged.
- Very specific: line 70
Read _meta/index.json. Identify items in library/ with status: library and captured older than 14 days with no last_touched field.
- Very specific: line 79
If query needs body content, grep through matching files in library/.
- Distinctive: line 81
If user wants to act on a result, jump into capture-style classification on that existing card to update/reschedule.
- Very specific: line 95
After each subagent returns its block, locate the card markdown file.
- Very specific: line 96
Run ./viewer/build.sh once at the end to regenerate viewer/index.html.
- Very specific: line 97
Commit: research: enrich N cards.
- Very specific: line 126
Rebuild the viewer: If viewer/build.sh exists in the mindspace repo root, run ./viewer/build.sh and stage the regenerated viewer/index.html.
- Very specific: line 128
Commit the session's final state (learnings.md update + viewer rebuild if applicable) with message: learn: session {YYYY-MM-DD HHMM}.
- Very specific: line 133
GitHub: all writes go through gh CLI or the GitHub API.
- Distinctive: line 135
Voice mode: when user dictates "brain dump" + ramble, treat the transcript as input.
- Distinctive: line 141
No emojis (per Ryan's standing preference).
- Very specific: line 145
Commit messages: lowercase prefix (capture:, triage:, review:, learn:), past-tense not required, one line preferred.
- Distinctive: line 160
Never auto-create a calendar event for Medium or Low priority items without confirmation.
- Very specific: line 161
Never modify SKILL.md without explicit user approval (the self-learn promotion always asks first).
- Very specific: line 162
Never delete from library/ — only move to archive/.
- Very specific: line 163
Never commit to mindspace without writing to _meta/index.json in the same commit.
- Very specific: line 164
Never reformat _meta/index.json or _meta/patterns.json while editing them.
- Very specific: line 165
Always run viewer/build.sh (if present) before the final session commit, so the baked HTML snapshot stays in lockstep with the data.
- Very specific: line 166
Never run research on a card whose existing <!-- research: --> block is < 4 days old, except when invoked explicitly as research refresh …
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
brain-dump
Living capture-and-organize system. Turns scattered inputs (saved tweets, screenshots, half-formed thoughts, articles, voice memos) into structured, scheduleable, searchable knowledge in ryankolean/mindspace.
Operating modes
The skill runs in one of six modes. Identify the mode from the user's intent before executing.
| Mode | Trigger | Output |
| capture | User shares a single item or batch with no other instruction | Structured idea card(s) in inbox/ or library/, optional Calendar event |
| triage | "Process my inbox", "triage mindspace", "clear the inbox" | All inbox items moved to library/ or archive/ with classification |
| review | "Mindspace review", "what's stale", "what haven't I actioned" | Surface stale items, prompt revisit/archive/escalate |
| search | "What did I capture about X", "find ideas on Y" | Filtered list from index.json + grep across library/ |
| research | "research backfill", "research today", "research card X", "research refresh X" | Append ## Research block to one or more cards; commit + push |
| self-learn | End of every session OR user says "promote learnings" | Append to _meta/learnings.md; if high-value pattern, prompt SKILL.md update |
Bootstrap (first-time setup)
If the repo doesn't exist yet, run the gh-repo-create skill with these parameters: name mindspace, visibility private, description Personal idea capture and triage system. Managed by the brain-dump skill. Then push the contents of mindspace-init/ (provided alongside this skill) as the initial commit.
Capture mode — execution rules
- Identify input type. URL, image (screenshot/photo), plain text, voice transcript, calendar inbox event, iOS Shortcut payload, file attachment, or "other." If multiple items in one batch, process each independently then summarize at the end.
- Extract content.
- URLs:
web_fetchthe page. If the URL is a social media post (X/Twitter, LinkedIn, Reddit, HN, YouTube), extract the post body, author, and key replies. Note the platform. - Images: describe the visible content. If the screenshot contains text, transcribe it. If it's a UI/product screenshot, identify the product and the feature shown.
- Voice transcripts: split into discrete ideas if the transcript covers multiple topics. One idea = one card.
- Calendar inbox events (
[Inbox] ...): pull title + description, treat description as the idea body.
- URLs:
Propose classification — present this block to the user for approval before writing:
Title: <concise, action-flavored, ≤12 words> Project: <one of: summit | dtst | carrot-hire | stockx | rare-find | healthspan | personal | NEW: ...> Idea-type: <one of: build | research | buy | read | watch | try | explore | NEW: ...> Tags: [<2-5 emergent tags, lowercase, hyphenated>] Priority: <high | medium | low> Suggested action: <single sentence, action verb first> Suggested schedule: <ISO date or "no schedule"> Destination: <inbox | library/{project}/{idea-type}>- Honor user adjustments. If user edits any field, use the edited version. If user says "looks good" or just confirms, proceed.
- Write the idea card using the template at
templates/idea-card.md. File naming:YYYY-MM-DD-HHMM-{slug}.mdwhere slug is 3-5 words from the title, lowercase, hyphenated. Commit message:capture: {title}. - Calendar policy.
- Priority High → auto-create event via reminder-hub conventions (no confirmation). Title format:
[{Project}] {Title}. Description includes the suggested action, link to the idea card in mindspace,Priority: High,Project: {project},Category: {idea-type}. - Priority Medium or Low → present the proposed event to the user, ask "Schedule this? (y/n/edit)" before creating.
- Priority Low with no clear action → no calendar event, just store in library.
- Priority High → auto-create event via reminder-hub conventions (no confirmation). Title format:
- Update
_meta/index.jsonwith the new entry — append in place, preserving the file's existing formatting. Do NOT round-trip the whole file through a JSON serializer:json.dumps(indent=2)explodes every inlinetagsarray onto separate lines and turns a one-entry addition into a ~200-line diff. Match the existing style: 2-space indent, one object per entry,tagsinline on a single line. Update_meta/patterns.jsonwith any new tags (increment frequency counter; if new tag, add with frequency 1).
Triage mode — execution rules
- List every file in
inbox/. If empty, report "Inbox is clear" and exit. - For each item, present a one-line summary + proposed classification (same block as capture step 3, condensed). Allow batch operations: "Approve all," "Skip 3," "Archive 5," etc.
- Move approved items to
library/{project}/{idea-type}/. Archive killed items toarchive/{YYYY-MM}/. Apply scheduling policy from capture step 6. - Commit in batches: one commit per project triaged. Commit message:
triage: process N inbox items into {project}.
Review mode — execution rules
- Read
_meta/index.json. Identify items inlibrary/withstatus: libraryandcapturedolder than 14 days with nolast_touchedfield. - Group by project. Present each group with: title, idea-type, age, suggested next move (revisit / archive / escalate to High).
- Apply user decisions. Update
last_touchedon revisited items; archive killed items; for escalations, run the calendar policy from capture step 6. - Commit message:
review: triage N stale items.
Search mode — execution rules
- Parse the user's query for: project filter, idea-type filter, tag filter, free-text terms.
- Filter
_meta/index.jsonfirst (fast path). - If query needs body content, grep through matching files in
library/. - Return ranked results: title, project/type, captured date, one-line summary, file path.
- If user wants to act on a result, jump into capture-style classification on that existing card to update/reschedule.
Research mode — execution rules
- Determine scope from invocation:
- "backfill" → all cards in
_meta/index.jsonwithout a<!-- research: -->block - "today" / "tomorrow's tasks" → cards where
suggested_schedulematches the requested day - "refresh
<id>" → that one card; override staleness check - "card
<id>" → that one card; respect staleness
- "backfill" → all cards in
- For each card in scope, check the body for an existing
<!-- research: ISO_TIMESTAMP -->marker:- Absent → process
- Present and timestamp ≥ 4 days ago → process (replace block atomically)
- Present and timestamp < 4 days ago → skip silently (unless invocation is
refresh)
- Dispatch one research subagent per card in parallel batches of 5. See
references/research-protocol.mdfor the per-card algorithm andtemplates/research-block.mdfor the output format. - After each subagent returns its block, locate the card markdown file. If the file already has a
<!-- research:block, replace from<!-- research:through<!-- /research -->(DOTALL match). Otherwise append a blank line then the new block at end of file. - Run
./viewer/build.shonce at the end to regenerateviewer/index.html. - Commit:
research: enrich N cards. Stage all touched cards plusviewer/index.html. Push.
Self-learn protocol
After every session that wrote, moved, or archived files, before responding "done," do this:
- Append a dated entry to
_meta/learnings.mdcovering:- What inputs were processed
- Any classification decisions that felt forced or ambiguous
- New tags added to
patterns.json - Calendar events created
- Anything the user corrected (this is the most valuable signal)
- Scan recent learnings for high-value patterns:
- Same correction made 3+ times → propose SKILL.md update
- New tag promoted to top-10 frequency → propose adding to taxonomy.md
- Recurring source type not yet handled (e.g. "I keep getting Substack URLs and you don't extract author bylines") → propose new extraction rule
- User-defined shortcut or convention used 2+ times → propose codifying
If a high-value pattern is detected, end the session by asking: "I noticed {pattern}. Should I promote this into SKILL.md as a permanent rule? (yes / no / edit my proposal: ...)" Wait for response. If yes, edit SKILL.md with a clearly marked block:
<!-- learned: YYYY-MM-DD --> {new rule} <!-- /learned -->Then commit to
summit-claude-skillswith message:brain-dump: promote learning — {brief description}.- Rebuild the viewer. If
viewer/build.shexists in the mindspace repo root, run./viewer/build.shand stage the regeneratedviewer/index.html. This keeps the baked HTML snapshot in sync with the cards that just landed. Ifviewer/doesn't exist in this repo, skip silently (backward-compatible). - Commit the session's final state (learnings.md update + viewer rebuild if applicable) with message:
learn: session {YYYY-MM-DD HHMM}.
Integration points
- reminder-hub: scheduled events follow
[Project] Task titleconvention withPriority: X\nProject: X\nCategory: Xin description. Seereferences/integrations.md. - GitHub: all writes go through
ghCLI or the GitHub API. PAT required for push from container;git format-patch+git amis the documented fallback per CLAUDE.md conventions. - iOS Shortcut:
references/integrations.mdincludes the shortcut blueprint for share-sheet capture from mobile. - Voice mode: when user dictates "brain dump" + ramble, treat the transcript as input. Split on topic shifts. One idea per card.
- Calendar inbox: any event titled
[Inbox] *is pulled into mindspace on the next session that runs in capture or triage mode. - Viewer:
viewer/index.htmlis a self-contained baked HTML snapshot of the brain dump (timeline / kanban / tag-network views). Regenerated byviewer/build.shat session end (see self-learn protocol step 4). Spec:docs/superpowers/specs/2026-04-18-mindspace-viewer-design.md.
Output discipline
- No emojis (per Ryan's standing preference).
- Idea card titles: action-flavored, no clickbait, ≤12 words.
- Summaries: 2-3 sentences. Not copies of the source — distillation in Ryan's voice.
- Tags: lowercase, hyphenated, max 5 per card. Prefer reusing existing tags from
patterns.json. - Commit messages: lowercase prefix (
capture:,triage:,review:,learn:), past-tense not required, one line preferred.
Reference files
references/taxonomy.md— current project + idea-type definitionsreferences/capture-flow.md— detailed step-by-step for each input typereferences/integrations.md— reminder-hub format, iOS Shortcut spec, voice modereferences/research-protocol.md— per-card research algorithm: phases, budgets, failure modes, worked examplereferences/self-learning-protocol.md— full pattern detection rules and SKILL.md edit conventionstemplates/idea-card.md— frontmatter + body templatetemplates/learnings-entry.md— learnings.md append templatetemplates/research-block.md— research output template appended to card bodies
Hard constraints
- Never auto-create a calendar event for Medium or Low priority items without confirmation.
- Never modify SKILL.md without explicit user approval (the self-learn promotion always asks first).
- Never delete from
library/— only move toarchive/. - Never commit to mindspace without writing to
_meta/index.jsonin the same commit. - Never reformat
_meta/index.jsonor_meta/patterns.jsonwhile editing them. A capture adds one entry, and the diff should show one entry. - Always run
viewer/build.sh(if present) before the final session commit, so the baked HTML snapshot stays in lockstep with the data. - Never run research on a card whose existing
<!-- research: -->block is < 4 days old, except when invoked explicitly asresearch refresh <id>.
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- malinskibeniamin/skills★ 4same name
- TechTripAi/techtrip-secondbrain★ 2same name
- aribajahan/claude-skills★ 0same name
- bohorquezandrea/day-planner-dharma★ 0same name
- eugenezhangco-spec/athena★ 0same name
- niyaznurbhasha/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository98 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agent-architectSkill
- architect-plan-for-dispatchSkill
- automate-auditSkill
- chat-to-code-promptSkill
- cli-apifySkill
- cli-batSkill
- cli-duckdbSkill
- cli-fdSkill
- cli-ffmpegSkill
- cli-fzfSkill
- cli-ghSkill
- cli-httpieSkill
- cli-imagemagickSkill
- cli-jqSkill
- cli-lazygitSkill
- cli-pandocSkill
- cli-playwrightSkill
- cli-ripgrepSkill
- cli-sqliteSkill
- cli-yqSkill
- cli-yt-dlpSkill
- codebase-reviewSkill
- context-summarySkill
- decomposeSkill
- delegateSkill
- design-a-systemSkill
- design-doc-reviewSkill
- devils-advocateSkill
- gh-repo-createSkill
- ig-savesSkill
- interrogateSkill
- mentor-aristotleSkill
- mentor-attiaSkill
- mentor-aureliusSkill
- mentor-bloomSkill
- mentor-brownSkill
- mentor-buffettSkill
- mentor-builderSkill
- mentor-carnegieSkill
- mentor-clearSkill
- mentor-councilSkill
- mentor-cunninghamSkill
- mentor-dalioSkill
- mentor-davinciSkill
- mentor-demingSkill
- mentor-ferrissSkill
- mentor-feynmanSkill
- mentor-franklSkill
- mentor-garyveeSkill
- mentor-godinSkill
- mentor-gogginsSkill
- mentor-greeneSkill
- mentor-holidaySkill
- mentor-hormoziSkill
- mentor-houselSkill
- mentor-jockoSkill
- mentor-jungSkill
- mentor-kahnemanSkill
- mentor-kingSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

