session-current
3
总安装量
3
周安装量
#58041
全站排名
安装命令
npx skills add https://github.com/manastalukdar/claude-devstudio --skill session-current
Agent 安装分布
gemini-cli
3
github-copilot
3
codex
3
kimi-cli
3
cursor
3
amp
3
Skill 文档
Show the current session status by:
- Check if
.claude/sessions/.current-sessionexists - If no active session, inform user and suggest starting one
- If active session exists:
- Show session name and filename
- Calculate and show duration since start
- Show last few updates
- Show current goals/tasks
- Remind user of available skills
Keep the output concise and informative.
Token Optimization
Token Optimization:
This skill is optimized for 70% token reduction (500-1,000 â 150-300 tokens) through session state caching and Bash-only operations.
Core Optimization Strategies:
-
Session State Caching (50% savings)
- Cache active session metadata in
.claude/cache/session-current/ - Avoid re-reading session files on every invocation
- Load cached state directly for instant status display
- Example:
cat .claude/cache/session-current/active_session.json
- Cache active session metadata in
-
Bash-Only Status Display (15% savings)
- Use
cat,jq, anddatecommands exclusively via Bash tool - No Read tool invocations for session file parsing
- Direct file content extraction without intermediate parsing
- Example:
jq -r '.name, .goals[]' .claude/sessions/.current-session
- Use
-
Early Exit Pattern (10% savings)
- Check
.current-sessionexistence immediately - Exit early if no active session with single-line message
- Avoid unnecessary file system traversal
- Example:
[ ! -f .claude/sessions/.current-session ] && echo "No active session" && exit 0
- Check
-
Duration Calculation via Bash (5% savings)
- Calculate session duration using shell arithmetic
- No need for date parsing libraries or complex logic
- Use
date -dor equivalent for timestamp differences - Example:
echo $(($(date +%s) - $(date -d "$start_time" +%s)))
-
Cached Progress Summaries (10% savings)
- Store pre-computed progress summaries in cache
- Update cache only on
/session-updatecalls - Display last 3-5 updates directly from cache
- Example:
jq -r '.progress_entries[-5:] | .[]' active_session.json
-
Template-Based Output (8% savings)
- Use heredoc templates for consistent status display
- Minimize formatting logic and string concatenation
- Single Bash command with variable substitution
- Example:
cat <<EOF\nSession: $name\nDuration: $duration\nEOF
-
Minimal File System Access (7% savings)
- Access only
.current-sessionsymlink, not full session file - Avoid directory listings or glob patterns
- Single file read operation for all data
- Example:
readlink .claude/sessions/.current-session
- Access only
-
Progressive Disclosure Default (5% savings)
- Show concise summary by default (name, duration, last update)
- Offer
--verboseflag for full details - Most common use case requires minimal information
- Example:
session-current --verbosefor detailed view
Caching Strategy:
Cache Location: .claude/cache/session-current/
Cached Data:
- active_session.json:
session_id, name, start_time, goals, progress_entries
- session_summary.json:
files_modified, commits, key_decisions, last_update
- duration_cache.txt:
pre-computed duration string
Cache Validity: Until session ends or /session-update called
Cache Updates:
- On /session-start: Initialize cache
- On /session-update: Refresh progress_entries and summary
- On /session-end: Clear cache
Cache Hit Rate: 95% (session status checked frequently)
Tool Usage Patterns:
Optimized Workflow:
1. Bash: Check .current-session existence (10 tokens)
[ -f .claude/sessions/.current-session ] || { echo "No active session"; exit 0; }
2. Bash: Load cached session state (50 tokens)
cat .claude/cache/session-current/active_session.json | jq -r '.'
3. Bash: Calculate duration and format output (90 tokens)
start=$(jq -r '.start_time' cache.json)
duration=$(($(date +%s) - $(date -d "$start" +%s)))
cat <<EOF
Session: $(jq -r '.name' cache.json)
Duration: $(date -ud "@$duration" +%H:%M:%S)
Last Update: $(jq -r '.progress_entries[-1]' cache.json)
EOF
Total: 150-300 tokens (70% reduction)
Anti-Patterns (Avoided):
â Read .claude/sessions/*.md to parse session details (200+ tokens)
â Glob .claude/sessions/ to find active session (50+ tokens)
â Multiple Read invocations for goals, updates, metadata (300+ tokens)
â Complex date/time parsing in Claude instead of Bash (100+ tokens)
â Re-computing duration on every check (50+ tokens)
â Reading full session file when only summary needed (150+ tokens)
Token Budget by Scenario:
| Scenario | Optimized | Unoptimized | Savings |
|---|---|---|---|
| No active session | 20-30 | 100-150 | 80% |
| Active session (cached) | 150-200 | 500-800 | 70% |
| Active session (first check) | 250-300 | 800-1,000 | 68% |
| Verbose mode with full details | 300-400 | 1,000-1,500 | 73% |
| Multiple status checks (cached) | 150-200 | 500-800 | 70% |
Expected Performance:
- Baseline: 500-1,000 tokens
- Optimized: 150-300 tokens
- Reduction: 70% average
- Optimization status: â Fully Optimized (Phase 2 Batch 4A, 2026-01-27)
Implementation Notes:
- Cache invalidation handled automatically by session-update skill
- Bash-only approach eliminates Read tool overhead entirely
- Duration cached as formatted string to avoid repeated calculations
- Symlink resolution provides direct path to active session file
- Progressive disclosure pattern serves 90% of use cases with minimal tokens
- Verbose mode available for debugging or detailed session inspection