Orient Claude from Basic Memory before substantial repo work by reading active tasks, open decisions, recent checkpoints, and repo conventions. Use when resuming old work or when the user asks where things stand.
Install
npx skillscat add basicmachines-co/basic-memory/bm-orient Install via the SkillsCat registry.
Orient From Basic Memory
Use this before substantial work in a repo, before resuming an old thread, or when
the user asks where things stand. The SessionStart hook already briefs the start
of a session; this is the deliberate mid-session version with deeper reads.
Steps
Resolve config: read the
basicMemoryblock with the same precedence the
hooks use. For the user-level base, appendsettings.jsonto the literal value
ofCLAUDE_CONFIG_DIRwhen that environment variable is present; do not trim
it, expand~, or treat an empty value as unset. Use~/.claude/settings.json
only when the variable is absent. Then the project's.claude/settings.json
and.claude/settings.local.jsonoverride it per key. UseprimaryProject,secondaryProjects,recallTimeframe,sessionProfile,repository, andplacementConventions. If no config is present, continue against the default
Basic Memory project and mention that setup has not been run. Scope queries toprimaryProjectby passing it asproject, or asproject_idif it's anexternal_idUUID.Query the primary project with
search_notes:- active tasks:
metadata_filters={"type": "task", "status": "active"} - open decisions:
metadata_filters={"type": "decision", "status": "open"} - recent sessions:
metadata_filters={"type": "session"}, afterrecallTimeframe - recent coding sessions:
metadata_filters={"type": "coding_session", "repository": "<configured repository>"}, afterrecallTimeframe, whensessionProfileiscoding
Always query
"type": "session"; include"type": "coding_session"for a
coding profile only with the configuredrepositorymetadata filter.
Never run an unscoped coding-session query; if the repository is missing,
report that setup is incomplete. Merge and deduplicate the results, sort them
newest first, and prefer the highest-signal checkpoint regardless of which
producer wrote it.coding_sessioncarries schema-required, queryable Git
context;sessioncovers general checkpoints and PreCompact captures. Do not
query lifecycle trace:bm hook flusharchives it locally rather than
promoting it into the graph.- active tasks:
Query configured
secondaryProjectsread-only for open decisions. Do not write
to shared projects during orientation.Read the highest-signal hits before summarizing. Prefer notes that match the
current repository, branch, Git SHA, pull request, named route, issue, or file
path. For coding sessions, use structured metadata filters before text search.Present a compact orientation:
- active work
- decisions that constrain the next move
- recent checkpoint cursor
- likely next action
- any missing setup or ambiguous project mapping
Keep the summary evidence-backed. Include permalinks for notes you rely on.