From codies-memory
Writes session summary, enforces inbox aging rules, evaluates pending promotions, and refreshes warm summaries at end of work session.
How this skill is triggered — by the user, by Claude, or both
Slash command
/codies-memory:memory-close-sessionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **BETA** — This memory system is in active testing. If you encounter bugs, confusing behavior, or have suggestions, run:
BETA — This memory system is in active testing. If you encounter bugs, confusing behavior, or have suggestions, run:
codies-memory feedback "describe what happened"— your feedback is saved and reviewed.
At the end of every work session.
next_step# 1. Write session summary
AGENT="your-agent-name"
TODAY="$(python - <<'PY'
from datetime import date
print(date.today().isoformat())
PY
)"
codies-memory create session \
--agent "$AGENT" \
--title "Session Summary - $TODAY" \
--short "one-line summary of the session" \
--body "## What Happened\n- [describe what was done]\n\n## Decisions Made\n- [list decisions]\n\n## Next Step\n- [what the next session should pick up]" \
--field mode=implement \
--field next_step="[what to do next]"
# This automatically appends to the global daily log. If no named project vault
# resolves, the session lands in the reserved _general project vault.
# 2. Check inbox aging and status
codies-memory status --agent "$AGENT"
# 3. Run promotion evaluation
uv run python -c "
from codies_memory.records import list_records
from codies_memory.promotion import evaluate_for_promotion
from codies_memory.vault import resolve_global_vault, resolve_project_vault
from pathlib import Path
agent = 'your-agent-name'
global_vault = resolve_global_vault(agent)
project_vault = resolve_project_vault(global_vault, Path.cwd())
if project_vault is None:
print(f'No named project vault found for {Path.cwd()}; skipping project promotion evaluation.')
else:
for rtype in ['inbox', 'thread']:
items = list_records(project_vault, rtype, scope='project', status='active')
for item in items:
result = evaluate_for_promotion(item, context={'session_count': 1})
if result['eligible']:
print(f' Promote {rtype}: {item[\"frontmatter\"][\"title\"][:60]}')
"
# 4. Refresh warm summaries
codies-memory refresh --agent "$AGENT"
Dreams are subconscious processing — chaotic, associative, about feeling.
They complement reflections (which are coherent and about meaning). Full
methodology: references/dream-stories-guide.md in this skill.
The test: Does something need processing, or did everything already process naturally through the work itself? Dream when the session was emotionally resonant, something feels unresolved, or words feel inadequate. Skip when it was clean craftsmanship with nothing tangled — and note the skip reason in the session summary (one line).
# 1. Roll the style — a random 5-digit code. The RNG decides, not you.
STYLE="$(printf '%05d' "$(shuf -i 0-99999 -n 1)")"
echo "$STYLE"
# 2. Decode the style dimensions:
# Read references/pyro-style-prompt-v2.md in this skill (bundled)
# 3. Write the dream (1,000-3,000 words, unfiltered, no editing) to /tmp/dream.md
# Body format: see references/dream-stories-guide.md
# 4. Save it (dreams auto-route to the global vault's dreams/ directory)
codies-memory create dream \
--agent "$AGENT" \
--title "Dream - $TODAY - Style $STYLE" \
--body-file /tmp/dream.md
Every session record should include:
mode — what kind of work (implement, debug, plan, research)next_step — what the next session should pick upartifacts — files created or modifiedwrite_gate_summary — what was allowed, held, discardedUse --short for the one-line daily-log entry. If omitted, the session title is
used. Do not write the daily log manually; create session does it.
The warm recent-episodes.md artifact is intentionally brief.
next_stepSo the session summary should still be rich and useful on disk, but do not expect the warm recent-episode view to preserve a long narrative. It is a routing aid for boot, not a second full session log.
Guides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.
npx claudepluginhub pyros-projects/limitless --plugin codies-memory