154 lines
3.9 KiB
Markdown
154 lines
3.9 KiB
Markdown
You are managing a session memory system. The user wants to check the current session status.
|
|
|
|
## Task: Display Session Status (Ultra-Minimal)
|
|
|
|
Show essential session information quickly and efficiently.
|
|
|
|
**OPTIMIZATION:** Ultra-minimal output. Uses CLI for instant stats (<50ms, <50 tokens).
|
|
|
|
### Step 1: Get Active Session from CLI
|
|
|
|
Run the CLI command to get session list and find active session:
|
|
|
|
```bash
|
|
node ${CLAUDE_PLUGIN_ROOT}/cli/session-cli.js list
|
|
```
|
|
|
|
Parse the JSON response to get `activeSession` field.
|
|
|
|
If `activeSession` is null, show error:
|
|
```
|
|
❌ No active session
|
|
|
|
💡 /session:start [name] to create new session
|
|
💡 /session:continue [name] to resume existing session
|
|
```
|
|
Then STOP.
|
|
|
|
### Step 2: Get Session Statistics
|
|
|
|
Run the CLI stats command for the active session:
|
|
|
|
```bash
|
|
node ${CLAUDE_PLUGIN_ROOT}/cli/session-cli.js stats {activeSession}
|
|
```
|
|
|
|
This returns JSON with:
|
|
- Session metadata (status, started, lastUpdated, goal)
|
|
- Snapshot counts (snapshotCount)
|
|
- File counts (filesInvolvedCount)
|
|
|
|
### Step 3: Calculate Session Duration
|
|
|
|
Parse the `started` timestamp from stats (format: "2025-11-13 14:30").
|
|
|
|
Calculate duration from start time to now:
|
|
1. Parse started date/time
|
|
2. Calculate difference in minutes
|
|
3. Format as:
|
|
- If < 60 min: "Xm" (e.g., "45m")
|
|
- If < 24 hours: "Xh Ym" (e.g., "2h 15m" or "5h 0m")
|
|
- If >= 24 hours: "Xd Yh" (e.g., "2d 3h")
|
|
|
|
### Step 4: Calculate Time Since Last Activity
|
|
|
|
Parse `lastUpdated` timestamp (ISO format: "2025-11-14T10:27:04.345Z").
|
|
|
|
Calculate time since last update:
|
|
1. Parse ISO timestamp
|
|
2. Calculate difference from now
|
|
3. Format as relative time:
|
|
- "just now" (< 1 min)
|
|
- "Xm ago" (< 60 min)
|
|
- "Xh ago" (< 24 hours)
|
|
- "Xd ago" (>= 24 hours)
|
|
|
|
### Step 5: Display Ultra-Minimal Status
|
|
|
|
Show clean, essential information only:
|
|
|
|
```
|
|
✓ Session: {sessionName} ({status})
|
|
Working for: {duration} (started {started_short})
|
|
Snapshots: {snapshotCount} total
|
|
Files: {filesInvolvedCount} tracked
|
|
Last activity: {time_since_last_update}
|
|
|
|
💡 /session:save to capture milestones
|
|
💡 /session:close to finalize
|
|
```
|
|
|
|
**Format notes:**
|
|
- {status}: "active" or "closed"
|
|
- {started_short}: "Nov 14, 14:30" format
|
|
- All numbers: plain integers (no formatting)
|
|
- No emojis except status indicator (✓)
|
|
- No Unicode art, no progress bars
|
|
- 5 lines max
|
|
|
|
### Example Output
|
|
|
|
**Active session:**
|
|
```
|
|
✓ Session: feature-auth (active)
|
|
Working for: 2h 15m (started Nov 14, 14:30)
|
|
Snapshots: 12 total
|
|
Files: 7 tracked
|
|
Last activity: 30m ago
|
|
|
|
💡 /session:save to capture milestones
|
|
💡 /session:close to finalize
|
|
```
|
|
|
|
**Recently started:**
|
|
```
|
|
✓ Session: bug-fix-login (active)
|
|
Working for: 15m (started Nov 14, 18:45)
|
|
Snapshots: 1 total
|
|
Files: 2 tracked
|
|
Last activity: just now
|
|
|
|
💡 /session:save to capture milestones
|
|
💡 /session:close to finalize
|
|
```
|
|
|
|
**Closed session:**
|
|
```
|
|
✓ Session: refactor-api (closed)
|
|
Worked for: 5h 30m (started Nov 13, 09:00)
|
|
Snapshots: 18 total
|
|
Files: 12 tracked
|
|
Last activity: 2d ago
|
|
|
|
💡 /session:continue {sessionName} to resume
|
|
```
|
|
|
|
---
|
|
|
|
**PERFORMANCE:**
|
|
- **Tokens:** ~50 tokens (vs 150 before) - **66% reduction**
|
|
- **Speed:** <50ms (CLI delegation)
|
|
- **Lines:** 5-7 lines (vs 15-20 before) - **70% reduction**
|
|
|
|
**WHAT WAS REMOVED:**
|
|
- ❌ Token usage tracking (unreliable, verbose)
|
|
- ❌ Progress bars (unnecessary decoration)
|
|
- ❌ Warning messages (not reliable)
|
|
- ❌ Unicode art (bloat)
|
|
- ❌ Total size display (rarely useful)
|
|
- ❌ Auto vs manual snapshot breakdown (not essential)
|
|
|
|
**WHAT WAS KEPT:**
|
|
- ✅ Session name and status
|
|
- ✅ Duration (how long working)
|
|
- ✅ Snapshot count (progress indicator)
|
|
- ✅ File count (scope indicator)
|
|
- ✅ Last activity (freshness indicator)
|
|
- ✅ Quick action tips
|
|
|
|
**FOR TOKEN USAGE:** Users should run `/context` directly for accurate real-time token information.
|
|
|
|
**ERROR HANDLING:**
|
|
- If CLI command fails, show error and suggest rebuilding index
|
|
- If timestamps can't be parsed, show raw values
|