brain-log
Skill7 starsChanged 19 days agoMITView on GitHub
Capture a thought, flag, or decision into the brain system. Trigger on "capture this", "log this", "flag this", "park this decision", "note this", "remember this", "save this thought", "brain dump", "I had an idea", "something to track", or any variation. Also fires on user-vocabulary equivalents: "journal entry", "note to self", "diary", "log to journal", "add to my journal", "write in my journal" - the brain log is the journal. Also fires on post-hoc decision phrasing: "I decided", "I made a decision", "decision: <text>" - route into context/decisions.md Resolved section, not just brain/log.md. Also fires when the user shares an observation that should be recorded but does not need immediate action. Three modes: log, cross-reference, or act.
In this repository100 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- notion-package/CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- add-handsSkill
- add-mouthSkill
- add-voiceSkill
- approval-gatesSkill
- auditSkill
- backupSkill
- blind-spot-reviewSkill
- bottleneck-diagnosticSkill
- brain-passSkill
- brain-snapshotSkill
- brand-interviewSkill
- brand-voice-interviewSkill
- business-context-loaderSkill
- campaign-from-themeSkill
- capture-sweepSkill
- catch-upSkill
- client-updateSkill
- connectSkill
- content-repurposerSkill
- content-startSkill
- context-persistenceSkill
- cross-linkSkill
- data-securitySkill
- decision-frameworkSkill
- decisions-startSkill
- delivery-startSkill
- email-drafterSkill
- employee-reviewSkill
- finance-importSkill
- forcing-questionsSkill
- founder-coachingSkill
- founder-next-moveSkill
- founder-os-setupSkill
- founder-reviewSkill
- founder-scope-challengeSkill
- github-opsSkill
- handoff-protocolSkill
- hireSkill
- historySkill
- housekeepingSkill
- ingestSkill
- knowledge-captureSkill
- legal-complianceSkill
- linkedin-brand-directionSkill
- linkedin-network-scanSkill
- linkedin-postSkill
- linkedin-power-auditSkill
- linkedin-startSkill
- linkedin-warm-revivalSkill
- lintSkill
- list-prunerSkill
- log-archiveSkill
- log-replySkill
- meeting-prepSkill
- memory-passSkill
- menuSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 7 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
When the founder gives you something to capture, determine which mode:
- Distinctive: line 47
If the snapshot is missing, run:
- Very specific: line 57
Every new entry across the brain channels gets a stable ID at write time.
- Very specific: line 72
Read the target file. Find every existing ID that matches <channel>-<today>-<NNN>.
- Very specific: line 78
If brain/log.md does not exist or has no entries today, start at 001.
- Distinctive: line 95
No global counter. Each file resolves its own next ID independently.
- Distinctive: line 99
When the founder says "flag this" or you detect friction/stalls:
- Very specific: line 101
Write to brain/flags.md with a stamped flag- ID (see ID Stamping):
- Distinctive: line 114
When the founder says "park this" or you identify a decision that's not ready to be made:
- Distinctive: line 128
Every parked decision MUST have a trigger condition.
- Distinctive: line 132
When the founder says "brain dump" or starts sharing a stream of thoughts:
- Very specific: line 141
Before appending to brain/log.md, check its line count.
- Very specific: line 170
Before persisting anything to a file, scan the source text for <private>...</private> blocks (case-insensitive).
- Very specific: line 178
When you detect a pattern across multiple log entries, suggest adding it to brain/patterns.md without waiting to be asked.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Brain Log
Runs on: local-writes - creates or edits files in your OS folder; needs an agent with write access.
Three modes for incoming thoughts, plus flags and parked decisions.
Routing
When the founder gives you something to capture, determine which mode:
Mode A: Log and Move On
The thought is worth recording but doesn't connect to anything specific right now.
- Append to
brain/log.mdwith timestamp and a stamped ID (see ID Stamping below) - Tag:
#context - No follow-up
Mode B: Log and Cross-Reference
The thought connects to an existing file or topic.
- Append to
brain/log.mdwith timestamp and a stamped ID - Tag:
#xref:[target-file] - Insert a dated note into the referenced file, after naming that file and the note and getting a yes. The log entry itself is automatic; the note in another file is not.
- Examples: "This changes my priorities" -> xref to priorities.md. "This affects the deal with X" -> xref to clients.md
Mode C: Log and Act
The thought requires immediate action.
- Append to
brain/log.mdwith timestamp and a stamped ID - Tag:
#acted - Take the action (update a file, create a task, move a priority), after naming the file and the change and getting a yes. A yes to logging is not a yes to the action.
- Note what was done in the log entry
Default: Infer the mode from context. The founder can override: "just log it" (Mode A), "tie this to priorities" (Mode B), "act on this now" (Mode C).
Brain context (default)
Before producing output, read brain/.snapshot.md. If it is missing, or its date: line is more than 3 days old, run python scripts/brain-snapshot.py --write first and read the fresh one - a stale snapshot read as current presents last week's flags and must-dos as today's, which is worse than no memory at all. If Python is unavailable, proceed without it and say so.
If the snapshot is missing, run:
python scripts/brain-snapshot.py --writeThen read it. If the snapshot script is also missing (older install), proceed using only the profile files. Do not block.
The snapshot tells you what flags are open, what the user is working on this week, and what the latest staleness state is. Apply this context to your output where it is relevant. Do not surface every snapshot field in every output - use judgment. For brain logging, recent decisions and open flags help you choose the right tag - if a thought connects to an active flag or recent decision, prefer Mode B (cross-reference) over Mode A (log in isolation).
ID Stamping
Every new entry across the brain channels gets a stable ID at write time. Convention spec: rules/entry-conventions.md.
Channel mapping for this skill:
| Target file | Channel |
brain/log.md | log |
brain/flags.md | flag |
brain/decisions-parked.md | parked |
brain/needs-input.md | need |
brain/patterns.md | pattern |
Procedure (run before writing any new entry)
- Compute today's date in
YYYY-MM-DD. - Read the target file. Find every existing ID that matches
<channel>-<today>-<NNN>. - Take the highest
<NNN>. If none exist for today, start at001(the first ID of the day for this channel) and skip to step 5. - Increment by 1. Format as 3-digit zero-padded (
001,002, ...,099,100). - The result is the new entry's ID.
- Stamp it on the new entry.
If brain/log.md does not exist or has no entries today, start at 001.
Where the ID lives in the entry
For one-line brain/log.md entries, append the ID at the end of the heading line in parentheses:
### 2026-05-07 #context Got off the call with the prospect (log-2026-05-07-003)For multi-line entries (flags, parked decisions, needs-input, patterns), put the ID on its own line directly under the heading as id: <id>. See template format examples in each brain file.
Counter rules
- Per channel, per day. Resets to
001each new day per channel. - IDs are stamped at write time, never retroactively.
- IDs are case-sensitive lowercase only.
- No global counter. Each file resolves its own next ID independently.
Flags
When the founder says "flag this" or you detect friction/stalls:
Write to brain/flags.md with a stamped flag- ID (see ID Stamping):
### [date] - [STALL/FRICTION/PERFORMANCE] - [short title]
id: flag-YYYY-MM-DD-NNN
- What: [what's happening]
- Why it matters: [impact if unaddressed]
- Pattern: [if this connects to a recurring issue]
- Action: [what should change]
- Cross-ref: [related files]Parked Decisions
When the founder says "park this" or you identify a decision that's not ready to be made:
Write to brain/decisions-parked.md with a stamped parked- ID (see ID Stamping):
### [Decision Title]
id: parked-YYYY-MM-DD-NNN
- Status: Parked
- Date parked: [date]
- Context: [why this came up and why it's not ready]
- Trigger to revisit: [specific condition that means it's time to decide]
- Options: [if known]
- Cross-reference: [related files]Every parked decision MUST have a trigger condition. "Revisit later" is not a trigger. "After first paying client" or "after running the system for 2 weeks" are triggers.
Brain Dump Mode
When the founder says "brain dump" or starts sharing a stream of thoughts:
- Listen to the full dump without interrupting
- Categorize each thought: log (A), cross-reference (B), act (C), flag, or park
- Present the categorization: "Here's how I'd route these - [list]. Any changes?"
- Process all items after confirmation
Archive Protocol
Before appending to brain/log.md, check its line count. If it's approaching 300 lines:
- Summarize the oldest entries into key takeaways
- Extract emerging patterns to
brain/patterns.md - Move raw text to
brain/archive/YYYY-MM.md - Clear the archived entries from log.md
This is mandatory. Don't skip it.
Log Entry Format
One-line entry (preferred for brain/log.md):
### YYYY-MM-DD HH:MM - #tag - [Content of the thought] (log-YYYY-MM-DD-NNN)Multi-line entry:
### YYYY-MM-DD HH:MM - #tag - [short title]
id: log-YYYY-MM-DD-NNN
[Content of the thought/observation/update]Newest entries on top. Keep entries concise.
Private tag filter
Before persisting anything to a file, scan the source text for <private>...</private> blocks (case-insensitive). Remove every matched block (including the tags) from the text before writing. If the entire input is wrapped in <private>, write nothing and report "skipped - content was tagged private."
Rules
- Capture the insight, not the conversation. "Realized pricing needs to account for delivery time" not "We were talking about pricing and I mentioned that..."
- One log entry per thought. Don't bundle unrelated items.
- Cross-references must point to real files. Check the file exists before referencing it.
- Parked decisions without trigger conditions are just avoidance. Push for a trigger.
- When you detect a pattern across multiple log entries, suggest adding it to
brain/patterns.mdwithout waiting to be asked.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

