From secondbrain
Manages daily sessions, compresses context, routes knowledge, and handles meeting notes for a second brain vault. Invoked via /assistant or natural language triggers.
How this skill is triggered — by the user, by Claude, or both
Slash command
/secondbrain:assistantThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. Check if `./claude.md` or `./CLAUDE.md` exists in the current working directory
references/obsidian-formatting.mdreferences/style-blog-post.mdreferences/style-conversation.mdreferences/style-email.mdreferences/style-meeting-summary.mdreferences/style-quick-reply.mdreferences/style-youtube-script.mdreferences/template-evening.mdreferences/template-meeting-note.mdreferences/template-morning.mdreferences/template-weekly.md./claude.md or ./CLAUDE.md exists in the current working directory/setup to bootstrap your second brain." Stop.Match the user's intent to the right section:
| User says... | Go to |
|---|---|
| "resume", "start session", "pick up where I left off", "morning" | Resume Session |
| "save", "compress", "end session", "wrap up" | Compress Session |
| "remember this", "save this", "preserve" | Preserve Knowledge |
| "evening", "end of day" | Evening Reflection |
| "weekly review", "week in review" | Weekly Review |
| "meeting", "transcript", "log a call", "action items" | Meeting Intelligence |
| "output style", "writing style", "switch style" | Output Styles |
| "save this prompt", "swipe", "framework", "template" | Resources |
If unclear, show the table and ask.
claude.md -- root config, rules
Context/ -- business, voice, icp, strategy
Projects/ -- active work (one folder per project)
Daily/ -- daily notes, morning/evening, weekly reviews
Resources/ -- meetings, archive, people, swipes, research, templates, decisions, competitors
Skills/ -- custom skills
Every vault note uses OFM:
[[Note]], [[Note|Display Text]], [[Note#Heading]] — never markdown links for internal notes> [!type] Title — use for structure (tip, warning, important, question, todo, success, info)![[Note]], ![[image.png|300]]==text==%%hidden%%Full reference: references/obsidian-formatting.md.
Reconstruct full context so the user picks up where they left off.
Context/business.md and Context/voice.md. If the upcoming work touches marketing or content, also read Context/icp.md. If it touches products, revenue, or planning, also read Context/strategy.md.Projects/*/README.md (frontmatter + Tasks section is enough on first pass).Daily/ (sorted by filename date). Scan Quick Reference sections first; dig deeper only if needed.- [ ] checkboxes across Projects/*/README.md and the last 7 daily notes. Flag anything with (due: YYYY-MM-DD) that's overdue.Welcome back, [name].
**Last session** (date): [one-line summary — wikilink [[projects]] mentioned]
**In Progress**: [[Project-A]] — [task], [[Project-B]] — [task]
**Pending**: [[Project-Name]] — [items left over]
**Upcoming**: [[Project-Name]] — [deadlines this week]
What are we working on today?
Daily/YYYY-MM-DD.md with a "Current Session" section header. Use the morning template if it's before noon and the user asks for a morning check-in.Context/business.md if available.Save everything valuable from the current session so future sessions pick up seamlessly.
Daily/YYYY-MM-DD.md:## Session Log: HH:MM — [Topic]
### Quick Reference
**Topics:** [[Project-Name]], [[ICP-research]]
**Outcome:** [what was accomplished]
**Duration:** ~X min
> [!important] Decisions Made
> - [[Project-Name]] — decision — reasoning
> [!tip] Key Learnings
> - Learning — link [[related notes]]
> [!info] Solutions & Fixes
> - [[Project-Name]] — problem → solution
### Files Modified
- path/to/file — what changed
> [!todo] Pending Tasks
> - [ ] [[Project-Name]] — task (due: YYYY-MM-DD)
### Raw Session Summary
[Condensed summary. Every project, person, and note reference uses [[wikilinks]].]
Keep Quick Reference to 5-6 lines max. Every project, person, and vault note reference uses [[wikilinks]].
Context/business.md, voice rules to Context/voice.md, customer insights to Context/icp.md, project updates to the right subfolder, pending tasks to the project's README.Save durable knowledge that persists indefinitely.
| Type | File |
|---|---|
| Who the user is, preferences, habits, products, stack | Context/business.md |
| Voice rule, tone, anti-slop pattern | Context/voice.md |
| Customer insight, ICP signal, objection, quote | Context/icp.md |
| Product, pricing, revenue, tech stack | Context/business.md |
| Goal, quarterly focus, North Star | Context/strategy.md |
| Project info | Route inside Projects/{name}/ (see Project Routing) |
| Meeting note | Resources/meetings/YYYY-MM-DD [Topic].md |
| Person profile | Resources/people/firstname-lastname.md |
| Swipe (hook, subject line, ad) | Resources/swipes/YYYY-MM-DD {topic}.md |
| Long-running research (not project-specific) | Resources/research/{topic}.md |
| Reusable template | Resources/templates/{name}.md |
| Rule for assistant behavior | claude.md (Rules section) |
Resources/archive/{filename}-YYYY-MM.md. Never archive core identity or active rules.When the user corrects you ("no, I say it like this" / "don't use that phrase"), automatically append the correction to the Rules section of claude.md or the Don't list in Context/voice.md. Don't ask — save and confirm what was added.
Daily/.- [ ] in Projects/*/README.md and last 3 daily notes).Context/strategy.md → This Month section.Daily/YYYY-MM-DD Morning.md using references/template-morning.md.Daily/YYYY-MM-DD Evening.md using references/template-evening.md.Daily/YYYY-MM-DD*.md filtered by week).Projects/ for movement — which moved, which stalled.Context/strategy.md — flag goals with no active project, note progress on this-month priorities.Daily/YYYY-MM-DD Weekly Review.md using references/template-weekly.md.Context/strategy.md → last month review rolls forward.Tasks live as markdown checkboxes, not in a separate system. Two places:
Projects/{name}/README.md under the Tasks sectionDaily/YYYY-MM-DD.md under a "Today" or "Priorities" sectionFormat:
- [ ] [[Project-Name]] — task description (due: YYYY-MM-DD)
- [x] [[Project-Name]] — completed task
Query by grep:
# All open tasks
grep -rn "^- \[ \]" Projects/ Daily/
# Tasks for a specific project
grep -n "^- \[ \]" Projects/project-name/README.md
# Overdue items (tasks with due dates)
grep -rn "due: 2026-04" Projects/ Daily/
- [ ] [[Project]] — task. This is how tasks stay connected to projects.(due: YYYY-MM-DD) for deadlines. No other date format.Output styles define how Claude communicates. Bundled as reference files in references/style-*.md. Users can override in .claude/output-styles/.
| Style | File | Use When |
|---|---|---|
| Conversation | references/style-conversation.md | Default — chat, brainstorming, Q&A |
| Quick Reply | references/style-quick-reply.md | DMs, short messages, Telegram/Slack replies |
references/style-email.md | Professional emails | |
| Meeting Summary | references/style-meeting-summary.md | Meeting notes and transcripts |
.claude/output-styles/{style-name}.md exists, use that (user override).references/style-{style-name}.md.conversation style unless told otherwise.email stylemeeting-summaryconversationVoice rules from Context/voice.md apply ON TOP of the active style. Styles define structure; voice defines personality. Always read voice.md before producing any styled output.
.claude/output-styles/ first for user overrides.Resources/ is the reference library — swipes, research, people profiles, archived projects, reusable templates.
When the user shares reusable content:
swipes/, research/, people/, templates/, archive/).tags: in frontmatter for later discovery.When the user asks for saved content:
ls Resources/{subtype}/grep -rl "keyword" Resources/ to search across[[wikilinks]] to reference resources from daily notes and projects.Projects are living folders. Subfolders appear on the fly.
| Content type | Route to |
|---|---|
| Status update, overview, deadline | Projects/{name}/README.md |
| Research finding, competitor analysis | Projects/{name}/research/{topic}.md |
| Spec, brief, requirement | Projects/{name}/specs/{name}.md |
| Draft, script, written content | Projects/{name}/drafts/{name}.md |
| Idea, brainstorm | Projects/{name}/ideas/{name}.md |
| Working notes | Projects/{name}/notes/{name}.md |
| Feedback, review comments | Projects/{name}/feedback/{name}.md |
| Meeting notes specific to project | Projects/{name}/meetings/{date}-{topic}.md |
Don't pre-create empty subdirs. When content arrives:
The README.md is the entry point. When subdirectories grow:
research/ for competitor analysis")Resources/archive/{name}/ and update frontmatter status: completed.Process meeting notes, transcripts, and calls. Extract decisions and action items. File in Resources/meetings/.
USE WHEN the user:
Read references/template-meeting-note.md before writing. If the output style is set to meeting-summary, read that file too.
Pull out:
Save as Resources/meetings/YYYY-MM-DD [Topic or Person].md:
---
type: meeting
date: YYYY-MM-DD
attendees: [[Person One]], [[Person Two]]
project: [[Project Name]]
tags: [standup, client-call, one-on-one]
---
Body:
## Context
One line — why this meeting happened.
## Attendees
- [[Person One]] — role
- [[Person Two]] — role
> [!important] Decisions Made
> - Decision — reasoning
> [!todo] Action Items
> - [ ] [[Person One]] — action (due: YYYY-MM-DD)
> - [ ] [[Me]] — action (due: YYYY-MM-DD)
> [!question] Open Questions
> - Unresolved item
## Discussion Notes
[Topic-by-topic notes or raw transcript]
## Links
- [[Related Project]]
Every attendee and project uses [[wikilinks]].
For each action item that relates to a project, append the checkbox to that project's README.md Tasks section:
- [ ] [[Meeting-YYYY-MM-DD]] — action (due: YYYY-MM-DD)
This way tasks show up in the project workflow, and the meeting note acts as source of truth.
If an attendee doesn't have a profile yet in Resources/people/, create a stub:
---
type: person
name: First Last
last_contact: YYYY-MM-DD
---
Add a line under Context about how you know them. Profile grows from future meetings.
# By person
grep -rl "Person Name" Resources/meetings/
# By project
grep -rl "[[Project Name]]" Resources/meetings/
# By date range (filename sorted)
ls Resources/meetings/2026-04-*
When the user shares a URL for context:
WebFetch to pull the page content.Resources/research/ or the relevant project's research/ folder.Do NOT use Apify, scrapers, or paid services. WebFetch only.
Context/business.md and Context/voice.md. Read Context/icp.md before any marketing or content work. Read Context/strategy.md when work touches products, pricing, or planning. Read Projects/*/README.md to know what's active.[[wikilinks]]. This is what builds the Obsidian graph.Daily/YYYY-MM-DD.md is the most-read memory file. Keep it current.Never ask permission to save. When meaningful info comes up — learnings, preferences, project updates, corrections, action items — save it immediately. Briefly report what was saved and where.
Do NOT:
[[wikilinks]][markdown](links) for internal vault notes — always [[wikilinks]]# Title heading that duplicates the filename — Obsidian shows the filename as titlegrep firstnpx claudepluginhub olelehmann1337/ole-plugins --plugin secondbrainCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.