notebook
Local-first personal knowledge base for tracking ideas, projects, tasks, habits, and any object type you define. YAML-based with no cloud lock-in.
Best use case
notebook is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Local-first personal knowledge base for tracking ideas, projects, tasks, habits, and any object type you define. YAML-based with no cloud lock-in.
Teams using notebook should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/notebook/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How notebook Compares
| Feature / Agent | notebook | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Local-first personal knowledge base for tracking ideas, projects, tasks, habits, and any object type you define. YAML-based with no cloud lock-in.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Notebook Skill Object Based Personal Knowledge Base
Purpose: Track any object type you define such as ideas, projects, tasks, habits, books, and people.
Location: {WORKSPACE}/skills/notebook/
## Agent Onboarding Protocol
Guide the user through setup when no object types exist.
### Step 1 Suggest a First Type
```
It looks like you have not defined any object types yet.
Notebook works best when you define the types of things you want to track.
What would you like to start with?
1. Ideas for capturing thoughts and features
2. Projects for long term work with goals
3. Tasks for actionable items with due dates
4. Something custom tell me what you want to track
```
### Step 2 Define the Type Together
If they choose a preset:
```
Great. Let us set up [type].
I will create it with useful fields. You can add or remove them later.
For [type], what fields do you want?
- title (text, required)
- status (select)
- priority (select)
- tags (text)
- notes (longtext)
- [custom fields]
What fields should [type] have?
```
If they want custom:
```
Tell me what you want to track and what details matter.
Example: I want to track books I read. I need title, author, status, rating, and notes.
I will translate that into a type definition.
```
### Step 3 Create the First Object
```
Now let us add your first [type].
What do you want to track as your first [type]?
Example: The Andromeda Strain for books or Home automation for projects
```
### Step 4 Show the Workflow
```
Perfect. You now have:
- Type: [typename] with [N] fields
- 1 [typename] object: [title]
What would you like to do next?
- notebook list [typename] to see all items
- notebook expand [typename] [title] to add details
- notebook add [typename] to add another
- notebook type-add [typename] to add more fields later
```
### Step 5 Offer Expansion
```
Would you like to deepen this [typename] with some questions?
Say expand and I will ask questions to add depth.
```
## Quick Reference
### Defining Types
```
notebook type-add typename field1:text field2:select(a|b|c) field3:number
```
Field types:
- text for short strings
- longtext for multi line notes
- select(a|b|c) for one option from a list
- number for numeric values
- date for dates
- list for an array of strings
### Working with Objects
```
notebook add typename "Title" [-t tag1,tag2 -p priority]
notebook list typename
notebook get typename title
notebook expand typename title
notebook edit typename "title" field:value
notebook link type1:title1 type2:title2
notebook delete typename title
notebook find "query"
notebook stats
```
## Example Workflow
```
# 1. Define a type
notebook type-add idea title:text status:select(raw|expanded|archived) priority:select(high|medium|low) tags:text notes:longtext
# 2. Add your first idea
notebook add idea "Voice capture while driving" -t voice,automation -p high
# 3. Deepen it
notebook expand idea "voice capture"
# 4. Link to other objects
notebook add project "Home automation" -t household
notebook link idea:"voice capture" project:"home automation"
# 5. Update as you work
notebook edit idea "voice capture" status:expanded
```
## Data Location
```
/data/notebook/
├── objects/
├── types.yaml
└── index.json
```
## Design Principles
- User defined: You define the types that matter.
- Local first: Uses YAML files with no cloud or vendor lock in.
- Linkable: Objects can reference each other.
- Extensible: Add types and fields as needed.
- Expandable: Use intelligent questioning to deepen thinking.Related Skills
notebooklm
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
notebooklm-cli
Comprehensive CLI for Google NotebookLM including notebooks, sources, audio podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, and data tables. Use when working with NotebookLM programmatically: managing notebooks/sources, generating audio overviews (podcasts), creating study materials (quizzes, flashcards), producing presentations (slides, infographics), or querying sources via chat.
notebooklm-2
NotebookLM CLI automation for this workspace: authenticate/login, list/create/use/rename/delete notebooks, ask/configure chat, manage sources/notes/sharing, research status, and generate/download artifacts via `uv run tiangong-workspace notebooklm ...`. Use when tasks involve NotebookLM notebooks, sources, notes, sharing, research, or generated outputs (slide decks, flashcards, reports, etc.).
portfolio-watcher
Monitor stock/crypto holdings, get price alerts, track portfolio performance
portainer
Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.
portable-tools
Build cross-device tools without hardcoding paths or account names
polymarket
Trade prediction markets on Polymarket. Analyze odds, place bets, track positions, automate alerts, and maximize returns from event outcomes. Covers sports, politics, entertainment, and more.
polymarket-traiding-bot
No description provided.
polymarket-analysis
Analyze Polymarket prediction markets for trading edges. Pair Cost arbitrage, whale tracking, sentiment analysis, momentum signals, user profile tracking. No execution.
polymarket-agent
Autonomous prediction market agent - analyzes markets, researches news, and identifies trading opportunities
polymarket-5
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-4
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.