返回 Skill 列表
extension
分类: 开发与工程无需 API Key

dialogue-save-session

保存会话上下文以保持会话间的连续性。为每个用户创建一个会话备忘录,记录活跃焦点、最近的工作和未解决的问题。在“保存会话”、“结束会话”、“会话备忘录”、“记住上下文”时触发。

person作者: jakexiaohubgithub

Skill: Save Session

Saves session context to a per-user session memo file for continuity across Claude sessions. This implements the TMS externalisation operation.

When to Use

  • At the end of a work session to preserve context
  • Before switching to a different task or project
  • When you want the next session to have context about current work

How It Works

Session memos are stored per-user at .dialogue/session-memo-{username}.yaml. This supports multi-user workflows where each developer has their own session state that doesn't conflict with others.

At session start, the Dialogue Framework hook reads your session memo and includes key context in the system message.

Schema

# Session memo for {username}
username: "pidster"
last_session: "2026-01-16T18:30:00Z"
active_focus: "FW-017: Merge-Friendly Artifact Structure"
recent_tasks:
  - "FW-017"  # Tasks worked on
recent_decisions:
  - "DEC-20260116-180240"  # Decisions made
open_questions:
  - "How should session memos handle task completion?"
notes: |
  Optional freeform notes about session context.

# Interaction mode preference (overrides project config.yaml)
# Options: human-led | partnership | ai-led
interaction_mode_preference: partnership

# Feature explanation tracking (for teach-by-doing in ai-led mode)
feature_explanations_given:
  decision_logging: 0      # Times explained (stop after 2-3)
  observation_logging: 0
  task_management: 0

To Save Session Context

Gather the following information and write to .dialogue/session-memo-{username}.yaml:

  1. Determine username: Use $USER environment variable
  2. Identify active focus: Current task or primary activity
  3. List recent work: Task IDs worked on, decisions made
  4. Note open questions: Unresolved questions or blockers
  5. Write file: Create/update .dialogue/session-memo-{username}.yaml

Example

# Determine username
USERNAME="${USER:-$(whoami)}"

# Write session memo
cat > .dialogue/session-memo-${USERNAME}.yaml << 'EOF'
username: "pidster"
last_session: "2026-01-16T18:30:00Z"
active_focus: "FW-017: Merge-Friendly Artifact Structure"
recent_tasks:
  - "FW-017"
recent_decisions:
  - "DEC-20260116-180240"
open_questions:
  - "How should session memos handle multi-session context?"
notes: |
  Completed per-file migration. Next: test with new session.
interaction_mode_preference: partnership
feature_explanations_given:
  decision_logging: 2
  observation_logging: 1
  task_management: 0
EOF

Updating Interaction Mode

When saving a session, preserve any existing interaction_mode_preference unless the user has changed it during the session. If the user used /set-mode, update the preference accordingly.

Multi-User Workflow

Each user has their own session memo file:

  • session-memo-pidster.yaml
  • session-memo-alice.yaml
  • session-memo-bob.yaml

This avoids merge conflicts in distributed VCS workflows - session state is personal context, not shared state.

Relationship to Other Skills

| Skill | Purpose | |-------|---------| | dialogue-manage-tasks | Track shared task state | | dialogue-log-decision | Record shared decisions | | dialogue-save-session | Preserve personal session context |

Session memos reference tasks and decisions but contain personal context about what you were working on, not the shared project state.