| name | cursor-plugin-pstack-reflect |
| description | Spawn three parallel review subagents over the active transcript, surface learnings, and route each to a concrete edit on an existing skill. Use when the user says reflect. |
| metadata | {"version":"0.1.0"} |
Reflect
Mine the current conversation for durable learnings, then route them into skill edits.
When to invoke
- The user said "reflect" or "/reflect".
- A complex task (5+ tool calls) just landed cleanly and the recipe is worth keeping.
- The agent hit dead ends, found the working path, and the path generalizes.
- The user corrected the agent's approach mid-task.
- A non-trivial workflow emerged that isn't captured anywhere.
Skip when the conversation is trivial, off-topic, or already covered by an existing skill the parent followed correctly. One-offs are not learnings.
Process
1. Locate the active transcript
The parent finds its own transcript file before fanning out. The system prompt names the active workspace's agent-transcripts/ directory; use that path. Do not glob across ~/.cursor/projects/*/. That crosses workspace boundaries and reads private chats from unrelated projects.
ls -t <agent-transcripts>/*.jsonl <agent-transcripts>/*/*.jsonl <agent-transcripts>/*/subagents/*.jsonl 2>/dev/null | head -10
Three transcript layouts: legacy flat (<id>.jsonl), current nested (<id>/<id>.jsonl), and subagent (<parent>/subagents/<child>.jsonl).
For each candidate, read the first JSONL line and check that contains the conversation's opening user prompt. Take the matching path. If no path resolves, write a tight digest of the session and pass that instead.