Agent skill · operations · cursor

reflect

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.

Why this skill is useful

Adds a complex multi-step workflow for extracting learnings from conversations and applying them to skill edits, which the AI cannot generate on its own.

What it needs

About 3k tokens when loaded. Last updated 2026-08-06. 2,555 stars on the source repository.

What this skill does

Reflect Mine the current conversation for durable learnings, then route them into skill edits. When to invoke 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. 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. 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 message.content[0].text 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. 2. Spawn three reviewers in parallel One message, three Task calls, subagenttype: generalPurpose, with model set as below, agent mode (readonly: false). Reviewers need MCP access for context lookups (tickets, chat threads, observability traces referenced in the transcript). Readonly strips MCPs. Each reviewer and the synthesizer name a role line in the pstack-models.mdc rule and a default. Set model to that line's value, or to the default if the rule or the line is missing. Leave model unset when the value is auto or inherit-parent. If the Task tool rejects a slug, use the default and say so. If it rejects the default, use the closest valid slug of the same family from its error message. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills cursor/reflect

View the source on GitHub

Browse the @skills marketplace