home / skills / cdeistopened / opened-vault / daily-notes

daily-notes skill

/.claude/skills/daily-notes

This skill helps you manage daily notes stored in M-D-YYYY format, enabling quick access, creation, and summarization of recent entries.

npx playbooks add skill cdeistopened/opened-vault --skill daily-notes

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.7 KB
---
name: daily-notes
description: Manages daily notes with M-D-YYYY format (e.g., 1-1-2026.md). Use when the user asks to view recent notes, create daily notes, read today's notes, summarize the week, or references @notes/ or dates. Can fetch last 7 days of notes. Notes location is configurable in Settings > Storage.
version: 1
---

# Daily Notes Management

## Overview

This skill manages daily notes stored in the workspace's notes directory using the `M-D-YYYY.md` format (e.g., `1-1-2026.md`, `12-31-2025.md`).

## Date Format

All daily notes follow this format:
- **Format**: `M-D-YYYY.md`
- **No leading zeros**: `1-1-2026.md` not `01-01-2026.md`
- **Examples**:
  - January 1, 2026 -> `1-1-2026.md`
  - December 31, 2025 -> `12-31-2025.md`
  - March 5, 2026 -> `3-5-2026.md`

## Getting the Notes Directory

The notes location is configurable in Settings > Storage. To get the correct path, query the workspace paths API:

```bash
curl http://localhost:1234/api/workspace/paths
# Returns: { "success": true, "data": { "notes": "/path/to/notes", ... } }
```

Or use `jq` to extract just the notes path:
```bash
NOTES_DIR=$(curl -s http://localhost:1234/api/workspace/paths | jq -r '.data.notes')
```

## CLI Usage

The skill provides a shell script. Set the `NOTES_DIR` environment variable to the workspace's notes path (obtained from the API above).

```bash
NOTES_DIR=/path/to/workspace/notes .claude/skills/daily-notes/daily-note.sh <command> [arguments]
```

### Commands

#### get-today
Get or create today's daily note.
```bash
./daily-note.sh get-today
```

#### get-note [date]
Get a specific date's note.
```bash
./daily-note.sh get-note 1-1-2026
```

#### get-last-x [duration]
Get notes from the last N days.
```bash
./daily-note.sh get-last-x 7days
./daily-note.sh get-last-x 30days
```

#### get-range [start] [end]
Get notes between two dates (ISO format).
```bash
./daily-note.sh get-range 2026-01-01 2026-01-07
```

## How Claude Should Use This Skill

**Important**: Always set the `NOTES_DIR` environment variable to the workspace's notes path before running the script.

### When User Asks About Recent Work
```
User: "What have I been working on this week?"
-> Run: NOTES_DIR=/path/to/notes ./daily-note.sh get-last-x 7days
-> Parse content and provide summary
```

### When User Wants to Add to Today's Note
```
User: "Add this to my daily note: Completed feature X"
-> Run: NOTES_DIR=/path/to/notes ./daily-note.sh get-today
-> Use Edit tool to append content
```

## Best Practices

1. **Always set NOTES_DIR** - Don't rely on the default path
2. **Handle missing notes gracefully** - Not every day has a note
3. **Preserve existing content** - Use Edit tool, not Write when modifying
4. **Support natural language dates** - Convert to `M-D-YYYY` format

Overview

This skill manages daily notes stored in the workspace notes directory using the M-D-YYYY.md filename format (for example, 1-1-2026.md). It provides commands to view, create, and fetch ranges of daily notes and integrates with the workspace paths API to find the configured notes location. Use it to read today’s note, fetch the last week of notes, or add entries to a specific date.

How this skill works

The skill expects the NOTES_DIR environment variable to be set to the workspace notes path (retrieved from the workspace paths API). It runs a small CLI script that supports commands such as get-today, get-note, get-last-x, and get-range, returning file contents or creating a file when needed. When invoked, the skill reads the requested note files, parses their contents, and returns summaries or raw text as requested; edits should preserve existing content by using append/edit operations.

When to use it

  • When you want to open or create today's daily note.
  • When you ask to see what you worked on in the last 7 days or another recent range.
  • When you reference a note by date or use @notes/ in a request.
  • When you want to add an entry to a specific day’s note.
  • When you need to fetch notes between two calendar dates.

Best practices

  • Always set NOTES_DIR to the workspace notes path from Settings > Storage before running commands.
  • Convert natural language dates to M-D-YYYY without leading zeros (e.g., 3-5-2026).
  • Handle missing note files gracefully—return a helpful message and create a new file only when appropriate.
  • Preserve existing content by appending edits rather than overwriting files.
  • Limit fetches to reasonable ranges (e.g., last 7 or 30 days) to avoid large responses.

Example use cases

  • Fetch and summarize tasks and highlights from the last 7 days to prepare a weekly review.
  • Open or create today’s note and append a status update or completed task.
  • Retrieve a specific date’s note by providing its M-D-YYYY identifier (e.g., get-note 1-1-2026).
  • Get notes between two ISO dates to compile project progress for a date range.
  • Quickly show recent notes when the user references @notes/ or asks “What did I do this week?”

FAQ

What filename format do daily notes use?

Daily notes use M-D-YYYY.md with no leading zeros (for example, 1-1-2026.md).

How do I find the notes directory path?

Query the workspace paths API (Settings > Storage) to get the configured notes path, then set NOTES_DIR to that path before running commands.