Saves the last assistant message as a note attached to the current task. Auto-numbered (note-01, note-02...), bidirectional link with task.md. Invoked manually by the user. Use when: "/note-first", "save a note", "remember this", "save the last message"
Scanned 9/3/2026
Install to Claude Code
npx -y skills add bearded-illirian/trailmark --skill note-first --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Note First?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/bearded-illirian-note-first)More formats (shields.io, HTML) on the badges page.
---
name: note-first
description: |
Saves the last assistant message as a note attached to the current task.
Auto-numbered (note-01, note-02...), bidirectional link with task.md.
Invoked manually by the user.
Use when: "/note-first", "save a note", "remember this",
"save the last message"
---
# Note-First Protocol
Saves the last Claude message as a note attached to the current task.
## Input
The user's request to save the agent's most recent chat message; the current task context.
## Output
`note-{NN}.md` with two-way links (task.md ↔ note file), auto-numbered.
## Hands off to
— (terminal).
---
## Step 0 — Task context
Ensure `{log_dir}` and `{slug}` are known. Otherwise resolve from the latest task log folder.
Cannot skip — without `{log_dir}` the note has nowhere to go.
---
## Step 1 — Capture the last message
Take the assistant message that comes **immediately before** the `/note-first` command.
Rules:
- Copy verbatim — no abbreviations, no rephrasing
- If no previous assistant message exists → tell the user, finish
---
## Step 2 — Determine note number
```bash
ls {log_dir}/note-*.md 2>/dev/null | sort | tail -1
```
- No files → `note-01.md`
- `note-02.md` exists → write `note-03.md`
---
## Step 3 — Write file + update task.md
### Write the note
```markdown
> 🔗 Task: tasks/log/{slug}/task.md
# Note NN
**Date:** {date}
{verbatim last assistant message}
```
### Update task.md
Add a header line after the last `> 📋` or `> 📝` line:
```
> 📝 Note N: tasks/log/{slug}/note-NN.md
```
If none exist — add as the first line of the file.
---
## Step 4 — Confirm
Report in one line:
```
📝 Saved: {log_dir}/note-NN.md
```
Nothing more — the note is already visible in the chat.
---
## Anti-patterns
### ❌ Rephrasing before saving
Copy the message verbatim. The user is saving what was actually said.
### ❌ Writing the file but not updating task.md
Both actions in Step 3 are mandatory. Otherwise the note is orphaned.
### ❌ Saving the user's own message
The `/note-first` command is not the content. Save the previous assistant reply.
### ❌ Imitating the skill inline
Always via `$note-first`. Never copy the protocol from memory — outdated versions drift silently.
---
## Related skills
- **decision-first** — saves an architectural decision (structured, not free-form)
- **plan-first** — plans execution steps (before code, not after)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!