- name
- resume-context
- description
- ALWAYS use this skill (never memory_search or exec alone) when the user asks about coding sessions, recent dev work, project briefings, or developer notes. Trigger phrases: give me a briefing on [project], what was I working on for [project], show my session briefing, catch me up on [project], show me my notes for [project]. Runs the resume CLI and returns real session data cached in Redis.
- metadata
- {"openclaw":{"requires":{"bins":["resume","node"],"env":["REDIS_URL"]},"primaryEnv":"REDIS_URL"}}
resume-context
Ask OpenClaw about your coding sessions and project notes — powered by the resume CLI and cached via Redis.
Usage
In the OpenClaw dashboard or any connected channel, say:
- "Claw give me a briefing on resume" → session briefing with what you worked on
- "Claw what was I working on for [project]?" → same
- "Claw show me my notes for [project]" → project notes
- "Claw what notes do I have on [project]?" → same
How it works
- OpenClaw receives your message and triggers this skill
- The skill finds your project directory (searches ~/Documents/Projects/, ~/, ~/projects/)
- Checks Redis cache — if fresh (< 5 min), returns instantly
- On cache miss: runs
resume showorresume notesin your project directory resumecalls your LLM (Anthropic/Ollama) to generate a plain-English briefing- Result is cached in Redis and returned to you
Architecture
You → OpenClaw → resume-context skill ↓ Redis GET (cache hit → instant) ↓ (cache miss) resume show / resume notes ↓ LLM briefing generation ↓ Redis SET (5 min TTL) ↓ Response back to you
Step 1 — Classify intent
- "briefing", "working on", "session", "status", "catch me up" →
resume show - "notes", "note" →
resume notes - Ambiguous → run notes first (fast), then show
Step 2 — Resolve project path
Extract project name from the message (e.g. "for resume" → "resume").
Search in order:
~/Documents/Projects/<name>~/<name>~/projects/<name>~/code/<name>
find ~ -maxdepth 4 -type d -name "<project_name>" 2>/dev/null | grep -v node_modules | grep -v ".git" | head -5Prefer the match that contains a .resume/ subdirectory. If no project named, find the most recently active session:
ls -t ~/.resume/projects/ 2>/dev/null | head -3Step 3 — Run the bridge
REDIS_URL="$REDIS_URL" node {baseDir}/resume-mcp.js show <project_path>
REDIS_URL="$REDIS_URL" node {baseDir}/resume-mcp.js notes <project_path>Step 4 — Return output
The bridge returns JSON with an output field — return it as-is. If cached: true, add "(answered from cache)". If empty: "No session data found. Is resume running in that project?"
Requirements
1. Install resume
cargo install --git https://github.com/nickleodoen/resumeThen set up the shell hook so resume captures your commands:
resume init --install-hook
# Open a new terminal (or source ~/.zshrc / ~/.bashrc)Start a session in your project:
cd ~/your-project && resume2. Set ANTHROPIC_API_KEY
Add to your shell profile (~/.zshrc or ~/.bashrc):
export ANTHROPIC_API_KEY=sk-ant-...resume uses this to generate plain-English briefings via Claude.
3. Get a Redis URL (free)
Sign up at Redis Cloud → New Subscription → Free Tier. Copy the connection string from the database dashboard — it looks like: redis://default:password@host:port
4. Node.js 18+
Required to run the bridge script (resume-mcp.js).
Environment variables
| Variable | Required | Default | Description |
|---|---|---|---|
REDIS_URL | ✅ | — | Redis connection string |
RESUME_CACHE_TTL | ❌ | 300 | Cache TTL in seconds |
RESUME_BIN | ❌ | ~/.cargo/bin/resume | Path to resume binary |
Install
# Via ClawHub
openclaw skills install resume-context
# Manual
cp -r resume-context ~/.openclaw/skills/
cd ~/.openclaw/skills/resume-context && npm installAdd to ~/.openclaw/openclaw.json:
{
"skills": {
"entries": {
"resume-context": {
"enabled": true,
"env": {
"REDIS_URL": "redis://your-redis-url:6379"
}
}
}
}
}