# Note Taker

> 笔记整理助手。康奈尔笔记法、卡片盒笔记(Zettelkasten)、思维导图笔记、会议笔记、课堂笔记、笔记整理。Note-taking with Cornell method, Zettelkasten, mind maps, meeting notes, lecture notes.

- Skill: `bytesagain/note-taker` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add bytesagain/note-taker`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bytesagain/note-taker/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: bytesagain (https://skillmd.com/u/bytesagain)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/bytesagain/note-taker

---

# Note-Taker

A productivity and task management tool. Add items, manage a to-do list, set priorities, track daily and weekly views, set reminders, view statistics, clear completed tasks, and export data — all from the command line with persistent local storage.

## Commands

### Task Management

| Command | Description | Usage |
|---------|-------------|-------|
| `add` | Add a new item to your task list | `note-taker add <text>` |
| `list` | List all current items | `note-taker list` |
| `done` | Mark an item as completed | `note-taker done <item>` |
| `priority` | Set priority level for an item | `note-taker priority <item> <level>` |
| `clear` | Clear all completed items from the list | `note-taker clear` |

### Views & Planning

| Command | Description | Usage |
|---------|-------------|-------|
| `today` | Show today's items and schedule | `note-taker today` |
| `week` | Show the weekly overview | `note-taker week` |
| `remind` | Set a reminder for an item | `note-taker remind <item> <time>` |

### Data & Management

| Command | Description | Usage |
|---------|-------------|-------|
| `stats` | Show total item count and statistics | `note-taker stats` |
| `export` | Export all data to stdout | `note-taker export` |
| `help` | Show the built-in help message | `note-taker help` |
| `version` | Print the current version (v2.0.0) | `note-taker version` |

## How It Works

- **`add`** appends a date-stamped line to the data file and confirms with "Added: ..."
- **`list`** prints all items from the data file, or "(empty)" if nothing exists yet
- **`done`** marks a given item as completed and logs the action
- **`priority`** assigns a priority level (default: medium) to the specified item
- **`today`** filters the data file for today's date and displays matching items
- **`week`** shows a weekly overview of scheduled items
- **`remind`** sets a reminder for an item at a specified time (default: tomorrow)
- **`stats`** prints the total line count from the data file
- **`clear`** removes completed items from the active list
- **`export`** dumps the entire data file contents to stdout

## Data Storage

All data is stored locally in `~/.local/share/note-taker/`:

- **`data.log`** — the main data file containing all items (one per line, date-prefixed)
- **`history.log`** — tracks all command activity with timestamps
- Entries in data.log are formatted as `YYYY-MM-DD <content>`
- Set `NOTE_TAKER_DIR` environment variable to change the data directory
- Also respects `XDG_DATA_HOME` if set (defaults to `~/.local/share`)

## Requirements

- Bash (any modern version)
- No external dependencies — pure shell script
- Works on Linux and macOS
- Standard Unix utilities: `date`, `wc`, `grep`, `cat`

## When to Use

1. **Daily task tracking** — use `add` to capture tasks throughout the day, `today` to see what's on your plate, and `done` to check off completed work
2. **Weekly planning sessions** — use `week` for an overview, `priority` to rank what matters most, and `remind` for upcoming deadlines
3. **Quick capture from terminal** — when you're already in the terminal and want to jot something down without switching apps, `add` is instant
4. **Reviewing progress** — use `list` to see everything, `stats` for totals, and `export` to pipe data into other tools for analysis
5. **Maintaining a clean list** — use `clear` to remove completed items and keep your active list focused on what still needs attention

## Examples

```bash
# Add a new task
note-taker add "Review pull request for auth module"

# Add another task
note-taker add "Prepare slides for Friday meeting"

# List all tasks
note-taker list

# Mark a task as done
note-taker done "Review pull request for auth module"

# Set priority on a task
note-taker priority "Prepare slides for Friday meeting" high

# See what's on for today
note-taker today

# Set a reminder
note-taker remind "Submit expense report" "Friday 5pm"

# View statistics
note-taker stats

# Export all data for backup
note-taker export > backup.txt
```

## Output

Commands print concise confirmations to stdout. `list` and `export` output the full data file. `stats` shows a total count. All actions are also logged to `history.log` for auditing. Redirect output with standard shell operators: `note-taker list > tasks.txt`.

## Configuration

| Variable | Description | Default |
|----------|-------------|---------|
| `NOTE_TAKER_DIR` | Override the data directory path | `~/.local/share/note-taker` |
| `XDG_DATA_HOME` | XDG base directory (used if `NOTE_TAKER_DIR` is not set) | `~/.local/share` |

---

Powered by BytesAgain | bytesagain.com | hello@bytesagain.com

