| name | context-loader |
| description | Session start context priming -- loads relevant memories from Pensyve at the beginning of a session to provide continuity across sessions. Use when switching projects or needing historical context. |
| version | 1.0.0 |
Context Loader
Load relevant memories from Pensyve at the start of a session to provide cross-session continuity. Respects the context_loading configuration setting.
Instructions
Note on invocation: The SessionStart hook has already performed a scoped recall and (if applicable) injected a continuity primer. Invoking this skill adds deeper on-demand context — not a replacement for the hook's work. Expect to see both.
When this skill is invoked (typically at session start), follow these steps:
Step 0: Determine Loading Mode
Check the mode argument if provided. Otherwise, respect the context_loading setting from the plugin configuration (pensyve-plugin.local.md):
- off: Do nothing. Inform the user: "Context loading is disabled. Use
/recall to search memories on demand."
- summary: Load a concise overview (10-15 lines max).
- full: Load comprehensive context with relevance scores and details.
If no mode is specified and no configuration is found, default to summary.
Step 1: Query Memories
Run the following pensyve_recall queries to gather session context:
- Recent decisions:
pensyve_recall with query "decided" (limit: 5)
- Known issues:
pensyve_recall with query "issue OR bug OR error OR problem" (limit: 5)
- Workflow patterns:
pensyve_recall with query "workflow OR pattern OR process" (limit: 5)
- Recent activity:
pensyve_recall with query "*" (limit: 10) -- broad query to capture recent memories by recency
Deduplicate results across queries (same memory ID should appear only once).
Continuity-aware primer
If the SessionStart hook detected a continuation (check plugin session state for recent_context — this is set by the hook when shared-entity score ≥0.7 against episodic recall results; it is a plugin-layer concept, not a structured server-side episode link), structure the primer around continuity rather than fresh recall:
Continuing: <entity-set> — prior work context
Last lessons:
- [recent observation 1]
- [recent observation 2]
Open questions carried forward:
- [if any observations had
open-question provenance]
Note: Continuity is best-effort — it is inferred from shared-entity overlap in recent episodic recall, not from a persisted episode-to-episode link. The MCP server has no episode-listing API today. When in doubt, the hook falls back to a fresh-session primer.
If no continuation was detected, present a standard recall-based primer.
Step 2: Present Context
Summary Mode (10-15 lines max)
Present a concise briefing with the most important items:
Session Context (from Pensyve memory)
Recent Decisions:
- auth-service: Using RS256 for JWT signing to support key rotation
- api-design: POST endpoints return 201 with created resource
Known Issues:
- database: Migration script requires Python 3.11+
Active Patterns:
- testing: Integration tests need tmpdir cleanup after filesystem operations
Use /recall <query> to search for specific memories.
Rules for summary mode:
- Maximum 15 lines of content (excluding the header)
- Show at most 3 items per category
- Omit categories with no results
- Do not show scores, IDs, or timestamps
- Prioritize higher-confidence and more recent memories
Full Mode (comprehensive)
Present a detailed briefing with scores and metadata:
Session Context (from Pensyve memory)
Recent Decisions (3 found):
| Entity | Decision | Confidence | When |
|---|
| auth-service | Using RS256 for JWT signing | 0.9 | 2026-03-15 |
| api-design | POST endpoints return 201 | 0.9 | 2026-03-14 |
| database | SQLite for MVP, migrate to Postgres later | 0.9 | 2026-03-12 |
Known Issues (2 found):
| Entity | Issue | Confidence | Score |
|---|
| database | Migration requires Python 3.11+ | 0.8 | 0.91 |
| cache | Invalidation race condition on concurrent writes | 0.8 | 0.85 |
Workflow Patterns (1 found):
| Entity | Pattern | Confidence | Score |
|---|
| testing | Integration tests need tmpdir cleanup | 0.7 | 0.78 |
Recent Activity (5 unique memories, most recent first):
| Type | Entity | Summary | Score |
|---|
| semantic | auth-service | RS256 JWT signing | 0.92 |
| episodic | database | Debugged migration failure | 0.88 |
| procedural | deploy | Run tests before deploy | 0.75 |
Total memories loaded: 11 | Use /recall <query> for targeted search | /inspect <entity> for entity details
Rules for full mode:
- Show all results with relevance scores
- Include confidence values and timestamps where available
- Group by category with counts
- Show memory types in the recent activity section
- Include a footer with total count and navigation suggestions
Constraints
- Never read or write
.claude/ memory files. All memory operations go through the Pensyve MCP tools exclusively.
- Do not fabricate memories. Only display what the MCP tools return.
- In summary mode, strictly respect the 15-line content limit. Truncate rather than exceed it.
- Do not take any action based on the loaded context -- this skill is informational only.
- If no memories are found at all, say: "No memories found in the current namespace. This appears to be a fresh session. Use
/remember to start building context."
- The context loading should be fast and non-blocking. Do not run expensive operations.
Error Handling
- If some
pensyve_recall queries fail but others succeed, present the successful results and note the failures briefly.
- If all queries fail, report the error and suggest checking the MCP server connection.
- If the MCP server is not connected, inform the user: "Pensyve MCP server is not connected. Context loading skipped. Verify your MCP server configuration."