Long-running multi-session work (research, eval loops, iterative benchmarks) with continuity -- resume prior lessons, capture per-run outcomes, build up stable truths over time. Use for eval/research/benchmark work that spans sessions.
Scanned 5/27/2026
Install via CLI
openskills install major7apps/pensyve---
name: memory-informed-longitudinal-work
description: "Long-running multi-session work (research, eval loops, iterative benchmarks) with continuity -- resume prior lessons, capture per-run outcomes, build up stable truths over time. Use for eval/research/benchmark work that spans sessions."
version: 1.0.0
---
# Memory-Informed Longitudinal Work
Multi-session engineering work (research, eval loops, iterative benchmarks) where lessons must accumulate across runs. The motivating case: improving a core algorithm over dozens of eval iterations without starting from scratch each session.
## Instructions
### Step 1: Resume context (session start)
Rely on the SessionStart hook's thread-continuity check for the primer. If this session is a continuation, you'll see a concise "Last session lessons" surface. Treat those as working knowledge — do not re-ask the user about things the primer already stated.
### Step 2: Proactively recall per topic shift
When the session pivots to a new sub-topic (new phase, new eval subset, new failure mode), call `pensyve_recall`:
- `query`: short description of the new sub-topic
- `entity`: project + sub-topic entity (per `skills/shared/entity-detection.md` canonicalization rules)
- `limit`: 5
No `types` filter — longitudinal work benefits from all three memory types; omit to query all. (Passing all three explicitly is equivalent to no filter; omitting is cleaner.)
Surface: `Recalled N prior findings on <sub-topic>.`
### Step 3: Capture three types of memory per run
During the session, classify emerging knowledge into the three memory types and capture accordingly:
| What you learned | Type | Example |
|---|---|---|
| Per-run outcome (what this run showed) | episodic | "Run N+1: V7r accuracy improved +3.5% with new threshold" |
| Stable truth about the system | semantic | "Haiku classifier plateaus above temp 0.3" |
| Reusable experiment procedure | procedural | "To calibrate V7r: freeze Haiku config, run suite, diff baseline" |
Apply the memory reflex the moment a finding is confirmed. Do not batch — capture at landing.
For procedural captures: `pensyve_observe` with `episode_id: <session episode_id>`, `source_entity: "claude-code"`, `about_entity: <relevant entity>`, `content: "[procedural] [proactive/in-flight/tier-1] trigger=..., action=..., outcome=..."`, `content_type: "text"`.
### Step 4: Capture open questions
When a run ends with an unresolved question ("X improved but we don't know why"), capture it as an episodic observation with open-question provenance:
```
pensyve_observe(
episode_id: <session episode_id>,
source_entity: "claude-code",
about_entity: <entity>,
content: "[proactive/in-flight/open-question] <question>",
content_type: "text"
)
```
This populates the "open questions" surface in the next session's primer.
### Step 5: End-of-session summary
Before Stop fires, briefly summarize (inline, 3-5 lines): what this run taught us vs. prior runs, what's still open. This creates a natural handoff for the next session.
## Constraints
- Recall on every topic shift — not just at session start.
- Capture at landing, not batch.
- Respect `max_auto_memories_per_session` — in longitudinal work this can be raised; suggest the user consider 20-30 for heavy eval sessions.
- Never store run artifacts or large data blobs — summarize.
No comments yet. Be the first to comment!