reflect
Reflect
Mine the current conversation for durable learnings, then route them into skill edits.
Invoke when the user says "reflect" or "/reflect". Skip when the conversation is trivial, off-topic, or already covered by an existing skill the parent followed correctly. One-offs are not learnings.
1. Locate the active transcript
Before fanning out, find this conversation's transcript in the agent-transcripts/ directory the system prompt names. 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
That covers the legacy flat (<id>.jsonl), current nested (<id>/<id>.jsonl), and subagent (<parent>/subagents/<child>.jsonl) layouts. For each candidate, read the first JSONL line. Take the file whose message.content[0].text contains the conversation's opening user prompt. If none matches, pass a tight digest of the session instead.
2. Spawn three reviewers in parallel
One message, three Task calls, subagent_type: generalPurpose, agent mode (readonly: false). Reviewers need MCP access to look up the tickets, chat threads, and observability traces the transcript references, and readonly strips MCPs.