npx claudepluginhub zactax/zactax-claude-plugins --plugin noteshint## Setup
1. Read `${CLAUDE_PLUGIN_ROOT}/config.json` → extract `vault.path`.
2. Read `notes.yaml` from the current working directory → extract `folder`. If missing, tell the user to run `/notes:init` first and stop.
3. Resolve full notes directory: `{vault.path}/{folder}/`
## Load notes via subagent
Today's date is `${CURRENT_DATE}` (YYYY-MM-DD). Derive the date string from that.
Launch a **Task** with `subagent_type: Explore` and `description: "Read session notes"`. Pass it a prompt containing:
- The resolved notes directory path
- Today's date string
- The `$ARGUMENTS` hint (may be e.../readReads recent trail notes from the last N days (default: 1). Supports --type handoff or log filters and outputs without frontmatter.
/readRead recent journal entries. Use when resuming work, checking what was done recently, or reviewing a specific session's history.
/readReads recent trail notes from the last N days (default: 1). Supports --type handoff or log filters and outputs without frontmatter.
/readDistill a single book into a concise markdown reading guide with excerpts and annotations.
${CLAUDE_PLUGIN_ROOT}/config.json → extract vault.path.notes.yaml from the current working directory → extract folder. If missing, tell the user to run /notes:init first and stop.{vault.path}/{folder}/Today's date is ${CURRENT_DATE} (YYYY-MM-DD). Derive the date string from that.
Launch a Task with subagent_type: Explore and description: "Read session notes". Pass it a prompt containing:
$ARGUMENTS hint (may be empty)The subagent prompt should instruct it to:
If a hint is provided:
{notesDir}/*{hint}*.md to match by topic/slug.{notesDir}/{today}-*.md for today's files.If no hint:
{notesDir}/{today}-*.md for today's files.If no files found in steps above:
{notesDir}/*.md for all notes. Sort by filename descending (most recent first). Take the 3 most recent.Read all matched files.
Return a structured summary with this format for each file:
### {filename}
**Title:** ...
**Summary:** (from the Summary section)
**Key decisions:** ...
**Open questions:** ...
**Next steps:** ...
**Context:** (from Context for future sessions)
Omit any subsection that wasn't present in the note. Be concise but preserve specific details (file paths, function names, concrete decisions).
Do NOT repeat the summary back to the user — it's already in your context and repeating it wastes tokens. Instead:
The user can then ask about specific details (open questions, decisions, next steps, etc.) and you answer from what's already loaded.
If no notes were found at all, tell the user and suggest running /notes:save to create one.