Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/eddmann-zettelkasten
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/zettelkasten
What's inside
- Skill name
zettelkasten- Description
- Personal knowledge base using the Zettelkasten method. Use when the user wants to save a note, look up knowledge, connect ideas, "what do I know about X", "save this", "note this down", or asks about their notes/knowledge base.
- License
- MIT
- Instructions
- 153 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (12)
- SKILL.md
- create.py · scripts/
- delete.py · scripts/
- embed.py · scripts/
- init_db.py · scripts/
- link.py · scripts/
- search.py · scripts/
- semantic_search.py · scripts/
- stats.py · scripts/
- tags.py · scripts/
- update.py · scripts/
- weekly.py · scripts/
SKILL.md (first lines)
# Zettelkasten Skill
A personal knowledge base stored in SQLite. Atomic notes, linked together, searchable by keyword and tag.
All scripts live in `workspace/skills/zettelkasten/scripts/` and use `uv run`.
Database lives at `workspace/skills/zettelkasten/db/zettel.sqlite`.
## First Run
Initialize the database (only needed once):
```bash
uv run workspace/skills/zettelkasten/scripts/init_db.py
```
## Create a Note
Pipe JSON to stdin. Tags and links are optional.
```bash
echo '{"title": "Prompt injection has no solution", "body": "LLMs cannot distinguish operator instructions from instructions embedded in content.", "source": "Blog post", "tags": ["ai-safety", "llm"], "links": ["20260213170000"]}' | uv run workspace/skills/zettelkasten/scripts/create.py
```
Returns: `{"id": "20260213180000", "title": "...", "tags": [...], "links": [...]}`
### Writing good Zettel notes
- **Atomic:** one idea per note
- **Own words:** restate the idea, don't just quote
- **Context:** explain why it matters
- **Links:** connect to existing notes where relevant
- **Tags:** use lowercase, hyphenated tags (e.g. `ai-safety`, `event-sourcing`)
## Search Notes
```bash
uv run workspace/skills/zettelkasten/scripts/search.py "prompt injection" fts # full-text search
uv run workspace/skills/zettelkasten/scripts/search.py "ai-safety" tag # by tag
uv run workspace/skills/zettelkasten/scripts/search.py "20260213180000" id # by ID (full detail + links)
uv run workspace/skills/zettelkasten/scripts/search.py "10" all # recent N notes
```
## Update a Note
```bash
echo '{"id": "20260213180000", "title": "New title", "body": "Updated body", "tags": ["new-tag"]}' | uv run workspace/skills/zettelkasten/scripts/update.py
```
## Delete a Note
```bash
uv run workspace/skills/zettelkasten/scripts/delete.py 20260213180000
```
## Links
### List links for a note
```bash
uv run workspace/skills/zettelkasten/scripts/link.py list 20260213180000
```
### Add a link
```bash
echo '{"from": "20260213180000", "to": "20260213190000", "context": "Both discuss LLM safety"}' | uv run workspace/skills/zettelkasten/scripts/link.py add
```
### Remove a link
```bash
echo '{"from": "20260213180000", "to": "20260213190000"}' | uv run workspace/skills/zettelkasten/scripts/link.py remove
```
### Full graph
```bash
uv run workspace/skills/zettelkasten/scripts/link.py graph
```
## Tags
```bash
uv run workspace/skills/zettelkasten/scripts/tags.py list # all tags with counts
uv run workspace/skills/zettelkasten/scripts/tags.py add 20260213180000 new-tag # add tag
uv run workspace/skills/zettelkasten/scripts/tags.py remove 20260213180000 old-tag # remove tag
```
## Embeddings
Generate embeddings for all notes (or re-embed a specific note). Uses OpenAI `text-embedding-3-small` (1536 dimensions). Requires `OPENAI_API_KEY` env var.
```bash
uv run workspace/skills/zettelkasten/scripts/embed.py # all unembedded notes
uv run workspace/skills/zettelkasten/scripts/embed.py 20260213180000 # specific note
```
Run this after creating new notes to keep semantic search current.
## Semantic Search
Search by meaning using `sqlite-vec` for native vector similarity (cosine distance). No numpy, no Python maths — all computed in C inside SQLite. Requires embeddings to exist.
```bash
uv run workspace/skills/zettelkasten/scripts/semantic_search.py "security risks of AI tool access"
```
Returns notes ranked by cosine similarity to the query.
## Stats
```bash
uv run workspace/skills/zettelkasten/scripts/stats.py
```
## Weeknotes Compilation
Compile notes from the past week, clustered by theme with connections:From eddmann/jeeves, MIT.
More from eddmann/jeeves
- 0.448score
twitter
eddmann
Fetch X/Twitter timeline and bookmarks.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
reminders
eddmann
Manage reminders — one-off and recurring.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
summarise
eddmann
Extract and summarise content from URLs, YouTube videos, podcasts, and files.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
lists
eddmann
General-purpose lists — shopping, questions for appointments, packing lists, etc.
SkillDFreshness: D★ 2Claude Code +9 - 0.445score
pages
eddmann
Publish dynamic web pages for dashboards, trackers, or any data viewable in a browser.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
garmin
eddmann
Query Garmin Connect health and fitness data including activities, sleep, heart rate, HRV, stress, and body battery.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
plex
eddmann
Query Plex Media Server for movies, TV shows, music, and playback history.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
strava
eddmann
Query Strava fitness data including activities, stats, and athlete info.
SkillDFreshness: D★ 2Claude Code +9 - 0.442score
skill-creator
eddmann
Create or update skills.
SkillDFreshness: D★ 2Claude Code +9 - 0.440score
playwright
eddmann
Render web pages with JavaScript using Playwright for sites that need browser rendering or have issues with simple HTTP fetching.
SkillDFreshness: D★ 2Claude Code +9 - 0.414score
github
eddmann
Interact with GitHub using the `gh` CLI.
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Mar 1, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/eddmann/jeeves
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from eddmann
- 0.556score
review
eddmann
Use when reviewing local code against repository conventions and coding guidelines.
SkillBFreshness: B★ 2Claude Code +9 - 0.556score
db
eddmann
Use when inspecting schemas, querying data or making authorized database changes.
SkillBFreshness: B★ 2Claude Code +9 - 0.553score
public-release
eddmann
Use when auditing a repository before making it public.
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
commit
eddmann
Use when committing task changes using Conventional Commits.
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
generate-readme
eddmann
Use when creating or updating a project's README from its actual capabilities and usage.
SkillBFreshness: B★ 2Claude Code +9 - 0.551score
context7
eddmann
Use when looking up library or framework documentation and version-specific API examples.
SkillBFreshness: B★ 2Claude Code +9
Cite this page
zettelkasten skill. Agent Mart. https://agentmart.dev/skills/eddmann-zettelkasten (last updated 2026-10-24)