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.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 8 · 2.6k · 12 current installs · 12 all-time installs
bySeth Rose@TheSethRose
MIT-0
Security Scan
OpenClaw
Benign
medium confidencePurpose & Capability
Name/description (local-first personal knowledge base) match the code: store.js implements local YAML object types, index.json, and per-type object files under a workspace 'notebook' directory. No unrelated cloud APIs or unexpected capabilities are present.
Instruction Scope
SKILL.md instructs the agent to define types and manage objects via the CLI. The runtime code performs only filesystem operations to manage types and objects; the instructions do not ask the agent to read unrelated files, network endpoints, or credentials.
Install Mechanism
There is no install spec (instruction-only), which is low risk. The package.json/package-lock list js-yaml and uuid as dependencies; if a user chooses to run the CLI they may need to install those. No downloads from untrusted URLs or archive extraction are present.
Credentials
The skill declares no required env vars, but the code reads process.env.CLAWD_WORKSPACE to locate the workspace (optional fallback behavior exists). This is a minor mismatch: the env var is optional and reasonable for configuring workspace location, but it isn't documented in requires.env.
Persistence & Privilege
always is false; the skill does not request persistent system privileges or modify other skills. It writes data into a workspace-level 'notebook' directory only and does not alter global agent configuration.
Assessment
This skill is a local, filesystem-based notebook and appears coherent with its description. Before installing, note:
- It will create and write files under WORKSPACE/notebook (the code uses CLAWD_WORKSPACE if set, otherwise infers the workspace). Ensure you are comfortable with files being created there and that the agent has write permission.
- The code reads an optional CLAWD_WORKSPACE env var but the skill metadata does not list it; if you rely on a custom workspace set that env var.
- There are no network calls or credential requests in the code. Dependencies (js-yaml, uuid) are in package.json; if you plan to run the CLI, install dependencies in a controlled environment (or review package-lock) before running.
- If you want extra assurance, run the CLI in a sandboxed environment or inspect/execute the files locally rather than granting the agent broad runtime access.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.2
Download zipideasknowledgelatestprojects
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
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.
Files
5 totalSelect a file
Select a file to preview.
Comments
Loading comments…
