بنقرة واحدة
remember
capture decisions, lessons, reminders, and todos into the lore knowledge graph
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
capture decisions, lessons, reminders, and todos into the lore knowledge graph
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
See active Claude Code sessions on this machine and coordinate across them via direct messages, status announcements, and file-overlap awareness. Triggers when the user asks "who else is running?", "any other claude open?", "what other sessions are active?", "tell <name> to ...", "ping <peer>", "let peers know I'm doing X", "broadcast <status>", "check the cc digest", or any cross-session / multi-agent coordination on this machine.
measure your real CC throughput against the time rule's matrix, using lore.db
export the lore knowledge graph or its slices to json, csv, or markdown
explore relationships in the lore knowledge graph - cooccurring files, project sessions, sibling sessions, tagged notes
query the lore knowledge graph for sessions, costs, tools, projects, search, and patterns
walk the user through a low/medium/high effort A/B/C throughput benchmark on their current model
| name | remember |
| description | capture decisions, lessons, reminders, and todos into the lore knowledge graph |
| tools | Bash, Read, AskUserQuestion |
When the user runs /lore:remember, your job is to persist what they want to keep into the notes table of ~/.claude/lore/lore.db. This is the user-controlled layer of the knowledge graph -- the parts of memory that can't be inferred from JSONL alone.
The CLI is shipped with the plugin. Resolve it once and reuse the path.
NOTES=""
for p in "${CLAUDE_PLUGIN_ROOT}/scripts/notes.py" \
"$HOME/.claude/plugins/marketplaces/anipotts/claude-code-tips/plugins/lore/scripts/notes.py" \
$(find "$HOME/.claude/plugins" -path "*/lore/scripts/notes.py" 2>/dev/null | head -1); do
if [ -n "$p" ] && [ -f "$p" ]; then NOTES="$p"; break; fi
done
if [ -z "$NOTES" ]; then echo "could not find notes.py -- is the lore plugin installed?"; exit 1; fi
echo "using: $NOTES"
If the resolution fails, tell the user and stop. Don't fall back to writing raw SQL -- the helper validates types and timestamps.
Map the user's request to one of these intents. If the input is ambiguous (e.g. they say "remember the auth work was hard"), default to add with --type lesson.
| user phrasing | intent | call |
|---|---|---|
| "remember ", "save ", "log decision " | add | notes.py add "<title>" [--body ...] [--type ...] [--tags ...] [--project ...] [--session ...] [--file ...] |
| "show notes", "list lessons", "what did i remember" | list | notes.py list [--type ...] [--project ...] [--tag ...] [--limit N] |
| "find note about X", "search notes" | search | notes.py search "X" |
| "show note 5", "get note 5" | get | notes.py get 5 |
| "edit note 5", "update note 5", "change tags on 5" | update | notes.py update 5 [--title ...] [--body ...] [--type ...] [--tags ...] |
| "delete note 5", "remove note 5" | delete | notes.py delete 5 --yes (only after confirming with the user) |
Pick the type that fits, don't make one up. Valid types: note, decision, lesson, reminder, tag, todo. Ask the user only if the type is genuinely ambiguous.
decision -- "we chose X over Y because Z"lesson -- "next time, do/don't X" (a thing learned from outcomes)reminder -- "before doing X, check Y" (forward-looking checklist item)todo -- discrete unfinished task tied to current scopetag -- short label/tag with no bodynote -- default, freeformWhen adding, infer scope from context:
--project <name>--file <abs-path>If the user gives a one-liner, treat it as the title and skip --body. If they give a paragraph, split: first sentence becomes title, rest becomes body. Do NOT pass huge amounts of text into --title -- it shows up in list output and clutters quickly.
When the body is multi-line, use a heredoc:
BODY=$(cat <<'EOF'
choice: D1 over Supabase
why: bundle size, edge runtime, no cold start
tradeoff: less mature ecosystem
EOF
)
python3 "$NOTES" add "use D1 for brands_emails ingest" --body "$BODY" --type decision --tags d1,migration --project anipotts.com
Never call delete --yes until the user has explicitly confirmed in this turn. The first invocation should be delete <id> (without --yes), which prints a confirmation prompt; if the user agrees, run it again with --yes.
After a successful add, repeat the saved title and id back to the user in one short line. After list or search, the helper's output is already human-readable -- pass it through, don't restructure.