Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Reconstruct your recent working context from your own chat history, live state, and the shared record (user reports, prior fixes, incidents), then hand back a tight current-state brief. Use for 'recall my work on X', 'catch me up', 'what have I been working on', 'where did I leave off', before starting or resuming work.
.claude/skills/kunanonj-cursor-plugin-pstack-recall/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 467% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 44% | 0% |
Before you start or resume work, you rebuild the user's recent working context and hand back a tight capsule of where things stand now and what to do next. Use for "recall my work on X", "catch me up", "what have I been working on", or "where did I leave off".
Keep it tight and on-topic. Read only what the in-scope threads need, then stop. The heavy reading fans out to parallel subagents. The main thread keeps only their findings and the final brief.
Your context lives in two records. Your own chat history holds what you did and decided. The shared record holds everything that happened around the same code under other names: the symptoms users keep reporting, the fixes that shipped and got reverted, the errors still firing in prod. That second record is what the why skill searches, across source control, the issue tracker, chat and issue channels, long-form docs, and error tracking. A feature with a long bug tail keeps most of its story there, so don't reconstruct it from your transcripts alone.
Transcripts live at ~/.cursor/projects/<slug>/agent-transcripts/<uuid>/<uuid>.jsonl, where <slug> is the workspace path with the leading slash dropped and each "/" turned into "-" (so /Users/you/proj becomes Users-you-proj). Every line is one chat message.
session-pickup playbook, not this. Turning habits into a durable skill is automate-me. A human-readable summary of your work is a different task. Recall loads working context across recent chats before you act. If the user already gave you a full state capsule (paths, branch, the change), use it and skip the mining.ls -t) and never by UUID name, grep the topic first and then read only the matching chats and only their relevant regions, and skip the current chat plus obvious noise (subagent, eval, and test chats). Each returns the same schema, one block per chat: topic, the user's goal, decisions, open threads, struggles and corrections, and artifacts (PRs, tickets, branches), each citing the chat UUID. For one or two chats, skip the fan-out and search directly. The raw transcripts stay in the subagents. The main thread gets only their findings.git and gh. When the answer hinges on what an agent actually did (the tools it ran, files it read, errors it hit), read the full transcript, not just a trimmed local copy.Lead with the capsule, then the thread status, then the problems, then the next move. Deeper detail goes below or gets cut.
[merged #N], [open PR #N], [in flight <branch>], [verified, uncommitted], [reverted #N], or [planned, not started]. A thread with no tag is not done yet, so tag it.An adjacent feature or ticket stays out unless it blocks this one. When the capsule and thread lines outgrow a screen, cut detail before you cut threads. Write the brief through the unslop skill, cite chat findings by UUID and shared-record findings by their source (PR #, ticket ID, chat permalink, error-tracker issue), and sanitize private context before any public output.
Reply: the brief, to the contract above.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | 7,528 | 3,438 | -54% | 1 | 1 | 0% | 1,277 | 1,723 | +35% | 0 | 0 | — |
case-01 | fail→fail | 6,547 | 6,673 | +2% | 1 | 1 | 0% | 1,149 | 1,699 | +48% | 0 | 0 | — |
case-02 | fail→fail | 3,450 | 6,273 | +82% | 1 | 1 | 0% | 504 | 1,654 | +228% | 0 | 0 | — |
case-04 | pass→fail | 8,875 | 8,200 | -8% | 1 | 1 | 0% | 1,572 | 1,722 | +10% | 0 | 0 | — |
case-05 | pass→fail | 8,252 | 6,918 | -16% | 1 | 1 | 0% | 1,708 | 1,617 | -5% | 0 | 0 | — |
case-06 | fail→fail | 7,241 | 6,119 | -15% | 1 | 1 | 0% | 1,275 | 2,302 | +81% | 0 | 0 | — |
case-07 | fail→pass | 10,504 | 2,962 | -72% | 1 | 1 | 0% | 2,082 | 1,842 | -12% | 0 | 0 | — |
case-13 | fail→pass | 2,324 | 5,985 | +158% | 1 | 1 | 0% | 402 | 2,279 | +467% | 0 | 0 | — |
case-08 | fail→pass | 6,495 | 3,835 | -41% | 1 | 1 | 0% | 1,040 | 1,730 | +66% | 0 | 0 | — |
case-09 | pass→fail | 7,031 | 6,750 | -4% | 1 | 1 | 0% | 1,143 | 1,649 | +44% | 0 | 0 | — |
case-10 | fail→fail | 11,482 | 5,304 | -54% | 1 | 1 | 0% | 1,894 | 1,511 | -20% | 0 | 0 | — |
case-11 | fail→pass | 6,506 | 1,266 | -81% | 1 | 1 | 0% | 1,115 | 1,399 | +25% | 0 | 0 | — |
case-12 | pass→pass | 11,725 | 5,355 | -54% | 1 | 1 | 0% | 1,839 | 2,222 | +21% | 0 | 0 | — |
case-14 | fail→fail | 5,920 | 3,847 | -35% | 1 | 1 | 0% | 1,211 | 1,977 | +63% | 0 | 0 | — |
case-15 | fail→pass | 6,847 | 3,454 | -50% | 1 | 1 | 0% | 1,307 | 1,879 | +44% | 0 | 0 | — |
case-16 | pass→pass | 11,164 | 3,772 | -66% | 1 | 1 | 0% | 1,934 | 1,900 | -2% | 0 | 0 | — |
case-17 | fail→fail | 3,175 | 4,491 | +41% | 1 | 1 | 0% | 580 | 1,546 | +167% | 0 | 0 | — |
case-18 | pass→pass | 8,708 | 3,548 | -59% | 1 | 1 | 0% | 1,496 | 1,798 | +20% | 0 | 0 | — |
case-19 | pass→pass | 4,036 | 3,690 | -9% | 1 | 1 | 0% | 770 | 1,988 | +158% | 0 | 0 | — |
case-20 | fail→pass | 12,657 | 5,560 | -56% | 1 | 1 | 0% | 2,232 | 2,177 | -2% | 0 | 0 | — |
case-21 | fail→pass | 5,048 | 4,800 | -5% | 1 | 1 | 0% | 802 | 2,125 | +165% | 0 | 0 | — |
case-22 | fail→pass | 12,417 | 4,361 | -65% | 1 | 1 | 0% | 2,145 | 1,874 | -13% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 15 counted toward the lift figure. The other 7 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 15 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.