Agent skill
recent-work
Show recent Claude Code sessions and work history. Use when user says "what have I been working on", "recent work", "what did I do today", or "show recent sessions".
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/vibe-check-recent
SKILL.md
Recent Claude Work
Purpose: Show recent Claude Code sessions and what you've been working on
Database Location
To find the database location, run:
vibe-check status
The default location is: ~/.vibe-check/vibe_check.db
Note: If the status shows no PID, vibe-check is not running and the database may be stale. Start it with vibe-check start.
Important: Use Read-Only Mode
To avoid database locks when the monitor is running, always use read-only mode:
sqlite3 "file:/path/to/vibe_check.db?mode=ro" "SELECT ..."
Recent Sessions Query
Sessions with Summary
WITH session_summary AS (
SELECT
event_session_id,
MIN(inserted_at) as session_start,
MAX(inserted_at) as session_end,
COUNT(*) as event_count,
COUNT(DISTINCT CASE WHEN event_type = 'user' THEN line_number END) as user_messages,
COUNT(DISTINCT CASE WHEN event_type = 'assistant' THEN line_number END) as assistant_messages,
git_remote_url,
event_git_branch,
git_commit_hash,
file_name
FROM conversation_events
WHERE event_session_id IS NOT NULL
GROUP BY event_session_id
)
SELECT
event_session_id,
session_start,
session_end,
ROUND((JULIANDAY(session_end) - JULIANDAY(session_start)) * 24 * 60, 1) as duration_minutes,
user_messages,
assistant_messages,
event_count as total_events,
git_remote_url as repository,
event_git_branch as branch,
file_name
FROM session_summary
ORDER BY session_start DESC
LIMIT 20;
First User Message Per Session
Get context about what each session was about:
SELECT
ce.event_session_id,
ce.event_message as first_message,
ce.inserted_at,
CASE
WHEN ce.git_remote_url IS NULL THEN '(no repo)'
ELSE SUBSTR(ce.git_remote_url, LENGTH(ce.git_remote_url) - INSTR(REVERSE(ce.git_remote_url), '/') + 2)
END as repository
FROM conversation_events ce
INNER JOIN (
SELECT event_session_id, MIN(line_number) as first_line
FROM conversation_events
WHERE event_type = 'user'
AND event_message IS NOT NULL
AND event_session_id IS NOT NULL
GROUP BY event_session_id
) first ON ce.event_session_id = first.event_session_id
AND ce.line_number = first.first_line
ORDER BY ce.inserted_at DESC
LIMIT 20;
Today's Activity
SELECT
event_session_id,
MIN(inserted_at) as started_at,
COUNT(*) as events,
git_remote_url as repository,
event_git_branch as branch
FROM conversation_events
WHERE DATE(inserted_at) = DATE('now')
GROUP BY event_session_id
ORDER BY started_at DESC;
This Week's Work Summary
SELECT
DATE(inserted_at) as date,
COUNT(DISTINCT event_session_id) as sessions,
COUNT(*) as total_events,
COUNT(DISTINCT git_remote_url) as repositories_used,
GROUP_CONCAT(DISTINCT CASE
WHEN git_remote_url IS NOT NULL
THEN SUBSTR(git_remote_url, LENGTH(git_remote_url) - INSTR(REVERSE(git_remote_url), '/') + 2)
END) as repos
FROM conversation_events
WHERE DATE(inserted_at) >= DATE('now', '-7 days')
GROUP BY DATE(inserted_at)
ORDER BY date DESC;
Response Format
When triggered, provide a structured summary:
Example: "what have I been working on"
📝 Recent Claude Code Sessions
Today (2026-01-13):
Session abc123 (9:30 AM, 23 min) - vibe-check
"can you help me create claude code skills for the database"
→ 45 events, 8 user messages, 12 assistant messages
Session def456 (2:15 PM, 8 min) - my-app
"fix the login bug"
→ 18 events, 3 user messages, 5 assistant messages
Yesterday (2026-01-12):
Session ghi789 (10:00 AM, 45 min) - website
"redesign the landing page"
→ 87 events, 15 user messages, 28 assistant messages
This Week Summary:
Mon 01/13: 2 sessions, vibe-check + my-app
Sun 01/12: 1 session, website
Sat 01/11: 3 sessions, my-app, docs, vibe-check
...
Example: "what did I do today"
Today's Activity (2026-01-13):
2 sessions, 63 total events
Morning Session (9:30 AM - 9:53 AM):
Repository: vibe-check
Branch: main
Started with: "can you help me create claude code skills..."
→ Created 4 new skills, modified vibe-check.py
Afternoon Session (2:15 PM - 2:23 PM):
Repository: my-app
Branch: fix-auth
Started with: "fix the login bug"
→ Modified auth.js, added tests
Time-Based Views
Last N Sessions
-- Get detailed view of last 10 sessions
SELECT
event_session_id,
MIN(inserted_at) as start_time,
MAX(inserted_at) as end_time,
COUNT(*) as events,
git_remote_url
FROM conversation_events
WHERE event_session_id IS NOT NULL
GROUP BY event_session_id
ORDER BY start_time DESC
LIMIT 10;
By Time Period
- Today:
WHERE DATE(inserted_at) = DATE('now') - Yesterday:
WHERE DATE(inserted_at) = DATE('now', '-1 day') - This week:
WHERE DATE(inserted_at) >= DATE('now', '-7 days') - This month:
WHERE DATE(inserted_at) >= DATE('now', 'start of month')
Interactive Follow-ups
After showing recent work, offer:
- "View full session details"
- "Search for specific topic"
- "See tool usage in session"
- "Export session history"
Additional Context
When available, include:
- Branch names (shows feature context)
- Commit hashes (shows if work was committed)
- Repository info (shows which project)
- Session duration (shows complexity)
- Message counts (shows interaction level)
Didn't find tool you were looking for?