Agent skill
cortex
Capture conversation summaries and web content to daily notes. Use when user says "save this", "summarize", "capture notes", or pastes a URL without context.
Install this agent skill to your Project
npx add-skill https://github.com/mberg/claude-skills/tree/main/skills/cortex
SKILL.md
Cortex
Capture conversation summaries and web content to daily notes synced to GitHub.
Conversation Summary Mode
When the user wants to save or summarize the current conversation:
Step 1: Ask for Instructions
Ask: "Any specific focus or instructions for the summary?"
Step 2: Ask About Topics
Ask: "Any topics to link this to? (e.g., [[AI Coding]], [[Architecture]])"
Before suggesting new topics, search for existing notes that match. If found:
- Single match: "Should I add this to [[AI Coding]]?"
- Multiple matches: "Found related notes: [[AI Coding]], [[AI Tools]]. Which one?"
Step 3: Extract Key Ideas and Todos
Review the conversation and extract:
- Main concepts and decisions discussed
- Action items - these go in the
# Todossection at the top of the daily note - Conclusions and decisions made
- Any URLs or resources mentioned
Step 4: Create/Update Topic Docs (if specified)
If user wants to link to a topic:
- Fetch existing topic file (or create new)
- Add a reference to today's daily note with 1-sentence summary
- Push updated topic file
Step 5: Format as Daily Note Entry
Create an entry with timestamp, key ideas, related notes, and links.
Timestamp: Read timezone from scripts/config.json and calculate the current local time. Use format HH:MM (24-hour).
Step 6: Save to GitHub
Fetch existing daily note, append new entry, push back.
Example Conversation
User: Save this conversation
Claude: Any specific focus or instructions for the summary?
User: Focus on the architecture decisions we made
Claude: Any topics to link this to? I found [[Event-Driven Architecture]] in your notes.
User: Yes, add it there. Also create a new note for System Design.
Claude: Got it. I'll update [[Event-Driven Architecture]] and create [[System Design]].
Added to Todos section:
- [ ] Implement retry logic with exponential backoff
- [ ] Document event schema for notification system
Added to Cortex section (2026-01-03.md):
## 14:30 - Architecture Discussion
### Key Ideas
- Decided to use event-driven architecture for the notification system
- Will implement retry logic with exponential backoff
- See [[Event-Driven Architecture]] for more details
### Related Notes
- [[Event-Driven Architecture]]
- [[System Design]]
### Links
- [EDA Article](https://example.com/eda) - reference article discussed
Updated [[Event-Driven Architecture]] with link to today's discussion.
Created [[System Design]] with initial notes.
Link Summary Mode
When the user pastes a URL without context:
Step 1: Offer to Summarize
Ask: "Would you like me to summarize this link?"
Step 2: Get Focus Instructions
If yes, ask: "Any specific focus or instructions for the summary?"
Step 3: Fetch and Summarize
Retrieve the page content and create a summary based on instructions.
Step 4: Save to Daily Notes
Add the link with its summary to the daily notes.
Example Conversation
User: https://example.com/article-about-microservices
Claude: Would you like me to summarize this link?
User: Yes, focus on the deployment strategies
Claude: Any topics to link this to? I found [[Microservices]] in your notes.
User: Yes, and also [[Deployment Strategies]]
Claude: Got it. Keep it brief?
User: Yes
[Fetches and summarizes the article]
Added to Todos section:
- [ ] Set up blue-green deployment for checkout service
- [ ] Evaluate feature flag tooling options
Added to Cortex section (2026-01-03.md):
## 15:00 - Link Summary
### Key Ideas
- Article recommends blue-green deployments for microservices
- Canary releases reduce risk for critical services
- Feature flags enable gradual rollouts
### Related Notes
- [[Microservices]]
- [[Deployment Strategies]]
### Links
- [Microservices Deployment Strategies](https://example.com/article-about-microservices) - deployment patterns
Updated [[Microservices]] with link to this article.
Daily Notes Format
Files are named YYYY-MM-DD.md (one file per day). Multiple sessions throughout the day all append to the same file.
File Structure
Daily notes have two main sections:
# Todos- Action items at the top of the file# Cortex- Timestamped entries at the bottom
Ordering Multiple Entries
When appending a new entry:
- Fetch existing daily note
- Extract any action items/todos from the conversation
- Add todos to the
# Todossection (create at top if missing) - Find the
# Cortexsection (or create it below todos if missing) - Parse existing entries by their
## HH:MMtimestamps - Insert new entry in chronological order (don't intermix - each summary stays as a complete block)
- Push updated file
The exact timestamp isn't critical - entries just need to be roughly in order of when they happened.
Todo Extraction
When summarizing a conversation, look for:
- Explicit action items ("I need to...", "TODO:", "Action item:")
- Decisions that require follow-up
- Tasks mentioned but not completed
- Next steps discussed
Format todos as Obsidian tasks:
- [ ]for incomplete tasks- [x]for completed tasks
Example: 2026-01-03.md
# Todos
- [ ] Implement retry logic with exponential backoff
- [ ] Review EDA article and summarize key patterns
- [ ] Set up blue-green deployment pipeline
# Cortex
## 14:30 - Architecture Discussion
### Key Ideas
- Decided to use event-driven architecture
- Will implement retry logic with exponential backoff
- See [[Event-Driven Architecture]] for more details
### Related Notes
- [[Event-Driven Architecture]]
- [[System Design]]
### Links
- [EDA Article](https://example.com/eda) - reference article
---
## 15:00 - Link Summary
### Key Ideas
- Blue-green deployments recommended for microservices
### Related Notes
- [[Microservices]]
- [[Deployment Strategies]]
### Links
- [Microservices Guide](https://example.com/guide) - deployment patterns
---
The # Todos section stays at the top for easy access. The # Cortex header marks the section for timestamped entries.
Format Rules
- Filename:
YYYY-MM-DD.md - Todos section:
# Todosat the top of the file (action items as- [ ]tasks) - Cortex section:
# Cortexbelow todos - Entry header:
## HH:MM - Title - Key Ideas section:
### Key Ideaswith bullet points - Related Notes section (optional):
### Related Noteswith[[Topic Name]]links - only include if there are related notes (e.g.,[[Claude Code]],[[Architecture Patterns]]) - Links section:
### Linkswith[Title](URL) - description - Entry separator:
---between entries
Internal Links
Use Obsidian-style [[wiki links]] to connect notes.
Inline Links (wiki-style)
Reference topics naturally in sentences:
This discussion covered [[AI Coding]] best practices and [[Architecture Patterns]].
Related Notes Section
List related topics at the end of an entry:
### Related Notes
- [[AI Coding]]
- [[Cloudflare]]
- [[Architecture Patterns]]
Topic Documents
Topic docs are standalone notes for recurring themes, projects, or reference material. They live in the same notes/ folder as daily notes.
Finding Existing Topics
Before creating a new topic, search the existing notes in the repo:
- Check for notes with matching or similar names to the topic being discussed
- If found, suggest: "Should I add this to [[AI Coding]]?"
- If multiple matches: "Found related notes: [[AI Coding]], [[AI Tools]], [[Coding Best Practices]]. Which one?"
To check if a topic exists, try fetching it:
cd /mnt/skills/user/cortex/scripts
uv run github_sync.py --fetch "notes/AI Coding.md"
When to Create Topics
- Not everything needs a topic file - use judgment
- Create topics for recurring themes, projects, or reference material
- Daily notes can reference topics for deeper detail
Topic Document Structure
# AI Coding
## Overview
Brief description of the topic.
## Notes
- [[2026-01-03]] - Discussed using AI for code review
- [[2026-01-04]] - Explored cursor-based editing workflows
## Related Notes
- [[Architecture Patterns]]
- [[Code Review]]
## Links
AI coding tools have evolved rapidly, with IDE integrations like Cursor leading the way in seamless code generation. For terminal-based workflows, Claude Code offers powerful multi-file editing capabilities. Understanding the underlying architectures is essential for building effective tools.
- [Cursor](https://cursor.com) - AI-powered code editor built on VS Code with tab completion, inline editing, and chat-based code generation
- [Claude Code](https://claude.ai/claude-code) - Command-line coding assistant from Anthropic with file editing and multi-file refactoring
- [Building AI Coding Assistants](https://example.com/ai-coding-guide) - Guide on architectures, prompt engineering, and context management
Link format:
- Bullet list with
[Title](URL) - description - Keep descriptions concise (one line)
When multiple links exist, add a brief overview (1-2 sentences) at the top of the Links section that synthesizes the resources. Update the overview when new links are added.
Relationship with Daily Notes
- Daily note: Brief summary of what was discussed
- Topic file: More detailed info, expands on concepts
- Daily note can reference topic: "See [[AI Coding]] for more details"
- Topic links back to daily note with 1-sentence summary
Obsidian Markdown Reference
Cortex uses Obsidian-flavored markdown. Reference: https://help.obsidian.md/obsidian-flavored-markdown
Supported Extensions
| Syntax | Description |
|---|---|
[[Link]] |
Internal links to other notes |
![[Link]] |
Embed files |
![[Link#^id]] |
Block references |
^id |
Defining a block |
[^id] |
Footnotes |
%%Text%% |
Comments |
~~Text~~ |
Strikethroughs |
==Text== |
Highlights |
``` |
Code blocks |
- [ ] |
Incomplete task |
- [x] |
Completed task |
> [!note] |
Callouts |
| |
Tables |
Configuration
Edit scripts/config.json to configure GitHub storage:
{
"github_repo": "mberg/cortex",
"github_token": "github_pat_xxxxx",
"github_branch": "main",
"github_notes_dir": "notes",
"timezone": "America/New_York"
}
github_repo: Your repository inusername/repo-nameformatgithub_token: Personal Access Token withreposcope. Create at: https://github.com/settings/tokensgithub_branch: Target branch (default:main)github_notes_dir: Directory in repo for notes (default:notes)timezone: User's timezone for timestamps (e.g.,America/New_York,Europe/London,Asia/Tokyo)
Using Timezone for Timestamps
When adding notes, read the timezone from config and calculate the local time:
import json
from datetime import datetime
from zoneinfo import ZoneInfo
# Read config
with open("config.json") as f:
config = json.load(f)
# Get current time in user's timezone
tz = ZoneInfo(config.get("timezone", "UTC"))
local_time = datetime.now(tz)
# Format for note header: "## 14:30 - Title"
timestamp = local_time.strftime("%H:%M")
# Format for daily note filename: "2026-01-03.md"
date_str = local_time.strftime("%Y-%m-%d")
GitHub Workflow
Important: Must cd into the scripts directory so github_sync.py can find config.json.
Step 1: Fetch existing daily note (if any)
cd /mnt/skills/user/cortex/scripts
uv run github_sync.py --fetch notes/2026-01-03.md > /tmp/2026-01-03.md
If the file doesn't exist yet, create it empty.
Step 2: Append new entry
cat >> /tmp/2026-01-03.md << 'EOF'
## 14:30 - Session Summary
### Key Ideas
- Main concept discussed
- Decision made
### Links
- [Resource](https://example.com) - description
---
EOF
Step 3: Push back to GitHub
cd /mnt/skills/user/cortex/scripts
uv run github_sync.py \
--file /tmp/2026-01-03.md \
--dest notes/2026-01-03.md \
-m "Add notes for 2026-01-03"
Key Details
- Working directory matters — Must
cdintoscripts/sogithub_sync.pycan findconfig.json - Config location — The script looks for
config.jsonin the same directory as the script itself - Dest path — The
--destis relative to the repo root (e.g.,notes/2026-01-03.md)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
xlsform
Authoring data collection forms in Excel for mobile surveys. XLSForm converts Excel files to XForms for ODK, KoBoToolbox, and similar platforms. Use for field surveys, data collection, conditional forms, GPS tracking, and offline data gathering.
observable-plot
Create data visualizations using Observable Plot's declarative grammar of graphics
engage-indicators
Manage indicators and metrics in the Engage Analytics dbt project. Use when working with healthcare analytics indicators, adding new metrics, creating questionnaire response models, or understanding the metrics architecture. Triggers on requests involving indicator creation, metric definitions, questionnaire data models, PHQ-9/GAD-7 scores, mwTool eligibility, or dbt model development for Engage.
fitness-tracker
Log and analyze workouts. Use when the user wants to (1) record a workout at the gym via conversation, (2) parse workout markdown files to CSV, (3) query exercise history with DuckDB, or (4) track fitness progress. Triggers on "log workout", "record workout", "track workout", "add exercises", "what did I lift", etc.
whatsapp-flows
Authoring WhatsApp Business Flows with validation, component guidance, and server integration patterns. Use when building conversational experiences, collecting user data, implementing conditional logic, or integrating with backend endpoints.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
Didn't find tool you were looking for?