Dnote
v1.0.0Save, retrieve, and manage notes using Dnote CLI. Use when the user wants to capture information, search existing notes, reference saved knowledge, or organi...
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description, required binary (dnote), and declared primary credential (DNOTE_API_KEY) match the functionality (local notes + optional sync). Minor metadata mismatch: registry lists no required env vars while SKILL.md and metadata declare a primaryEnv (DNOTE_API_KEY) — but that credential is logically tied to the optional sync feature.
Instruction Scope
SKILL.md and the included scripts stick to note management operations via the dnote CLI. The wrapper reads the standard dnote config path (~/.config/dnote/dnoterc) when showing config and supports exporting notes. It does not attempt to read unrelated system files or call unexpected external endpoints beyond the dnote server (api.dnote.io) referenced for sync.
Install Mechanism
This is instruction-only with no install spec. SKILL.md suggests official install options (getdnote.com script, Homebrew, GitHub releases). No arbitrary downloads or extract steps are embedded in the skill bundle.
Credentials
Requesting DNOTE_API_KEY as the primary credential is proportionate for optional cloud sync. The wrapper also respects an optional DNOTE_DB_PATH env var (used to point at a DB) which is not declared in registry metadata — benign but worth noting. The script's config command will print the contents of ~/.config/dnote/dnoterc (which could contain secrets) — expected for a config inspect feature, but users should be aware it can expose stored API keys if run.
Persistence & Privilege
always is false and the skill is user-invocable. It does not request persistent privileges, modify other skills, or change system-wide agent settings.
Assessment
This skill is a coherent wrapper around the official dnote CLI. Before installing: (1) ensure you have the dnote binary from an official source (Homebrew, getdnote.com, or GitHub releases), (2) only provide DNOTE_API_KEY if you want cloud sync—local use works without it, (3) be aware the wrapper can print your ~/.config/dnote/dnoterc file (which may contain secrets) when you run the config command, so avoid running that if you don't want to reveal stored keys, and (4) the script supports DNOTE_DB_PATH to point to a database file—don’t point it to sensitive/shared locations unless intended.Like a lobster shell, security has layers — review code before you run it.
Runtime requirements
📝 Clawdis
Binsdnote
Primary envDNOTE_API_KEY
latest
Dnote Notes
Manage a personal knowledge base using Dnote CLI.
Setup
Installation
# macOS/Linux auto-install
curl -s https://www.getdnote.com/install | sh
# Or Homebrew
brew install dnote
# Or download from: https://github.com/dnote/dnote/releases
Configuration
Dnote follows XDG directories:
- Config:
~/.config/dnote/dnoterc - Database:
~/.local/share/dnote/dnote.db
# Example config file (~/.config/dnote/dnoterc)
editor: vim
apiEndpoint: https://api.dnote.io
enableUpgradeCheck: true
# Or use local-only (no sync)
# No config needed - works offline by default
Sync Setup (Optional)
# To sync across devices
dnote login
# Or local-only mode (no setup required)
Quick Start
# Add a note to a book
{baseDir}/scripts/dnote.sh add cli "git rebase -i HEAD~3"
# Pipe content to a note
echo "docker system prune" | {baseDir}/scripts/dnote.sh add docker
# Search all notes
{baseDir}/scripts/dnote.sh find "docker compose"
# View recent notes
{baseDir}/scripts/dnote.sh recent
# List all books
{baseDir}/scripts/dnote.sh books
# View notes in a book
{baseDir}/scripts/dnote.sh view cli
# Get a specific note
{baseDir}/scripts/dnote.sh get cli 1
Commands
Adding Notes
| Command | Description |
|---|---|
add <book> <content> | Add note to book |
add-stdin <book> | Add from stdin (pipe-friendly) |
quick <content> | Quick add to 'inbox' book |
Retrieving Notes
| Command | Description |
|---|---|
view [book] | List books or notes in book |
get <book> <index> | Get specific note by index |
find <query> | Full-text search (use -b <book> to filter) |
recent [n] | Show n most recent notes (default: 10) |
books | List all books |
export [book] | Export notes as JSON |
config | Show config and paths |
Managing Notes
| Command | Description |
|---|---|
edit <id> [content] | Edit note by ID |
move <id> <book> | Move note to different book |
remove <id> | Delete note |
remove-book <book> | Delete entire book |
Sync & Info
| Command | Description |
|---|---|
sync | Sync with Dnote server |
status | Show status and stats |
config | Show config file locations |
login | Authenticate with server (native CLI) |
logout | Remove credentials (native CLI) |
Collection IDs / Books
- Use any book name (auto-created on first use)
- Common book names:
cli,docker,git,ideas,snippets,journal,inbox - Books are created automatically when you add the first note
Examples
# Capture a shell one-liner
{baseDir}/scripts/dnote.sh add cli "grep -r pattern . --include='*.py'"
# Save from command output
git log --oneline -10 | {baseDir}/scripts/dnote.sh add git
# Quick capture to inbox
{baseDir}/scripts/dnote.sh quick "Remember to update README"
# Search for docker commands
{baseDir}/scripts/dnote.sh find "docker compose"
# Search within a specific book
{baseDir}/scripts/dnote.sh find "config" -b cli
# Get formatted note for AI context
{baseDir}/scripts/dnote.sh get cli 1 --format raw
# Export book for processing
{baseDir}/scripts/dnote.sh export cli --json | jq '.notes[].content'
# Recent notes across all books
{baseDir}/scripts/dnote.sh recent 20
# Search and export results
{baseDir}/scripts/dnote.sh find "postgres" --json
Using Notes in AI Context
Retrieve relevant notes for the current task:
# Search for related knowledge
{baseDir}/scripts/dnote.sh find "python argparse"
# Get full content of a specific note
{baseDir}/scripts/dnote.sh get cli 5
# Export entire book for context
{baseDir}/scripts/dnote.sh export python
Auto-capture useful information:
# Save a discovered solution
{baseDir}/scripts/dnote.sh add docker "Multi-stage builds reduce image size"
# Save with timestamp
{baseDir}/scripts/dnote.sh add journal "$(date): Deployed v2.3 to production"
Patterns
Daily Journal
# Create dated entry
{baseDir}/scripts/dnote.sh add journal "$(date +%Y-%m-%d): Started work on feature X"
# Review recent entries
{baseDir}/scripts/dnote.sh view journal | head -20
Code Snippets
# Save with description
{baseDir}/scripts/dnote.sh add python "List comprehension: [x for x in items if x > 0]"
# Search when needed
{baseDir}/scripts/dnote.sh find "list comprehension"
Command Reference
# Build a CLI reference
curl -s https://api.example.com | {baseDir}/scripts/dnote.sh add api
# Quick lookup
{baseDir}/scripts/dnote.sh view api
Integration with Workflows
The skill provides helper functions for common patterns:
| Function | Use Case |
|---|---|
dnote:search <query> | Find relevant context before answering |
dnote:capture <book> <content> | Save useful info discovered during task |
dnote:recent [n] | Review recently captured notes |
dnote:export-book <book> | Load entire book into context |
Config File
Create ~/.config/dnote/dnoterc:
editor: code --wait # or vim, nano, subl -w
apiEndpoint: https://api.dnote.io
enableUpgradeCheck: true
Tips
- Use specific book names:
python,bash,docker,kubernetes,ideas - Search is full-text: Works across all note content
- Indexes are 1-based: First note is
1, not0 - Pipes work great: Capture command output directly
- Sync optional: Works fully offline, sync when ready
Direct Dnote CLI
For operations not covered:
# Interactive edit
dnote edit 5
# Rename book
dnote edit oldname -n newname
# Full sync
dnote sync --full
# Custom DB path
dnote --dbPath /path/to/custom.db view
Comments
Loading comments...
