Capture complex technical discoveries into structured, reusable notes. Use when explaining system behaviors, documenting debugging insights, or preserving knowledge.
Capture complex technical discoveries into structured, reusable notes.
find - Find existing notes without creating new ones
find (no args) - List all notes for the current repositoryfind <slug> - Find a specific note by slug (e.g., find cohort-uploads)Example invocations:
Find existing notes:
/note find - List all notes for current repo/note find cohort-uploads - Find specific note by slugCreate or update notes:
/note cohort-uploads/note oauth-flow/note feature-flags-evaluationExtract from user input:
find_mode = true if first argument is "find"slug = optional kebab-case note name (e.g., cohort-uploads, oauth-flow)find_mode is true)No slug provided — list all notes:
scripts/note-list.sh
Returns tab-separated <slug>\t<path>\t<title> (one per line).
If notes exist, display: "Found {count} notes for {org}/{repo}:" followed by slug and title for each, then offer to open or read any of them.
If no notes exist, display: "No notes found for {org}/{repo}" and suggest running /note <slug> to create one.
Slug provided — find specific note:
scripts/note-find.sh {slug}
Returns tab-separated status and path:
found\t/path/to/note.md - Note existsnew\t/path/where/note/would/be.md - Note doesn't existIf found: display "Found note: {slug}", show the file path, read and summarize the first ~30 lines, then offer to open or continue editing.
If new: display "No note found for slug: {slug}", show where it would be created, and suggest running /note {slug} (without find) to create it.
Then stop — do not proceed with creating notes in find mode.
find_mode is false)If slug is missing, ask the user what to name the note and suggest a slug based on recent conversation context.
Run the helper script to find an existing note or get the path for a new one:
result=$(scripts/note-find-or-create.sh {slug})
status=$(echo "$result" | cut -f1)
note_path=$(echo "$result" | cut -f2)
Never construct paths manually — the script derives org/repo from the current git repository, builds the path (~/dev/haacked/notes/PostHog/repositories/{repo}/{slug}.md for PostHog repos, ~/dev/haacked/notes/Dev/repositories/{org}/{repo}/{slug}.md otherwise), and validates the slug format. The org/repo → path mapping itself has one owner, scripts/notes-path.sh, which /go also uses for plan directories.
If status is found: tell the user the existing note path and that you're updating it, then read the current content and add new discoveries while preserving existing knowledge.
If status is new: tell the user the new note path, create the parent directory (mkdir -p "$(dirname "$note_path")"), and use templates/discovery-note.md as the starting point (insert today's date in YYYY-MM-DD format).
Then create or update the note based on the current conversation context, any code explored during this session, and debugging insights or system behaviors discovered.
Your notes should:
| Use /note for | Use /support for |
| --- | --- |
| Technical discoveries for future dev | Customer tickets (Zendesk, GitHub) |
| System behavior documentation | Weekly support log summaries |
| Knowledge that persists indefinitely | Time-bounded support work |
| Cross-cutting insights | Customer-specific investigation |
If you discover something during support that should be permanent technical docs, use /note to capture it separately.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer