
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.
- Installs
- 906
- Last 24h
- +12
- Trending rank
- #7936
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/michael-denyer/pstack-claude --skill reflect- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads reflect automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Reflect
On Codex, read the platform mapping, including its per-skill notes, before following this skill.
On GitHub Copilot, read the platform mapping, including its per-skill notes, before following this skill.
On Muse, read the platform mapping, including its per-skill notes, before following this skill.
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 Claude Code's per-project transcripts directory at ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/projects/<encoded-cwd>/. Do not glob across ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/projects/. That crosses workspace boundaries and reads private chats from unrelated projects.
Run the finder at skills/reflect/scripts/find-transcript.mjs under the installed plugin with the projects directory and a fragment of the conversation's opening user prompt. claude-project-dir.mjs beside it prints this session's projects directory, wherever the shell has moved since:
dir=$(node <plugin>/skills/reflect/scripts/claude-project-dir.mjs) && node <plugin>/skills/reflect/scripts/find-transcript.mjs "$dir" "<opening prompt fragment>"
It covers the three layouts (flat <id>.jsonl, nested <id>/<id>.jsonl, subagent <parent>/subagents/<child>.jsonl), newest first, and prints the first path whose opening typed prompt carries the fragment. Do not reimplement the scan by hand: the first line of a transcript is session metadata, not a message, a session that starts with /clear or a ! shell command records that command's wrapper and output as user records before the prompt, and files run to several megabytes, so the finder streams each candidate and stops at its first typed user record. If the line exits 1, write a tight digest of the session and pass that instead. It lists, one line each in turn order, the user's prompts and corrections, the tool calls and their results, and the files touched. It states no diagnosis, verdict, or cause. The reviewers judge the session, not your conclusions about it.
2. Spawn three reviewers in parallel
One message, three Agent calls, subagent_type: "general-purpose". Reviewers need MCP access to look up the tickets, chat threads, and observability traces the transcript references, so pick a subagent_type that retains MCP access. The prompt forbids file writes. The parent applies edits.
Each reviewer and the synthesizer name a role line in pstack-models.md and a default in Models. Set model to that line's value, or to the default if the sheet or the line is missing. Leave model unset when the value is auto or inherit-parent. If the Agent 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. Pick each subagent's reasoning level for the job, per the Subagents section of the poteto-mode skill.
| Lens | Role line | Prompt template |
|---|---|---|
| Judgment | reflect judgment, divergent, synthesizer | references/judgment-reviewer.md |
| Tooling | reflect tooling | references/tooling-reviewer.md |
| Divergent | reflect judgment, divergent, synthesizer | references/divergent-reviewer.md |
Pass each template verbatim, substituting the transcript path or digest where marked. Add nothing beside a transcript path, not even a focus note for a long transcript. Reviewers return findings in the Agent response body.
3. Synthesize
One Agent call, subagent_type: "general-purpose", model from the reflect judgment, divergent, synthesizer line (default in Models). It spot-verifies citations through MCP, so pick a subagent_type that retains MCP access. Pass references/synthesizer.md verbatim, with each reviewer's full output inlined where marked. It returns an Accepted / Rejected / Backlog list.
4. Structural enforcement check
Move any Accepted item that a lint rule, script, metadata flag, or runtime check would enforce more reliably to Backlog. See the encode-lessons-in-structure principle skill.
5. Apply
Present the synthesizer's full Accepted / Rejected / Backlog output and wait for explicit approval before applying any Accepted edit. The user picks the subset and may redirect routings. Skill changes affect every future agent in the org. Do not auto-apply.
File each Backlog item to your team's devex or backlog tracker without waiting. Only the Accepted list waits for approval.
Never edit a skill under plugins/cache/. Before approval, show its destination, .claude/skills/<skill>/ or ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/<skill>/. After approval, copy the skill folder there and edit the copy. Never open a PR or push.
Follow each approved row's Routing exactly:
- Trivial existing-skill edit (a one-line bullet, a tightened sentence, a stale fact corrected): the parent does it directly.
- Substantive existing-skill edit (a new section, a new pattern table, more than ~10 lines): hand to the plugin-dev:skill-development skill and run its draft / test / iterate loop.
tune description: <skill path>(the skill exists but didn't trigger when it should have): hand toplugin-dev:skill-developmentand run its description-optimization loop.new skill via plugin-dev:skill-development: <kebab-name>: hand creation toplugin-dev:skill-development. Do not invent the shape ad hoc.
If your environment ships a SKILL.md validator, run it on every touched skill before declaring done.
6. Summarize for the user
Short list, no preamble:
- Edits applied:
<skill path>. What changed, one line each. - New skills created:
<skill path>. One line each (rare). - Backlog filed to the devex tracker:
<issue title>(<tags>). One line each. - Dropped: one line per rejected finding + reason from the synthesizer.
Models
Role defaults, stamped from plugins/pstack/models.json (edit there, rerun tools/generate.mjs). A matching role line in the pstack-models.md override sheet overrides each at runtime; /setup-pstack writes it and lists its path per runtime.
- reflect tooling:
opus - reflect judgment, divergent, synthesizer:
opus
Reasoning effort
A role value in the override sheet may name a reasoning effort after its model, as in opus @xhigh. Levels on Claude Code: low, medium, high, xhigh, max. Which ones apply depends on the model. A value without @ takes the sheet's default effort line, a level or session, and session when the sheet has no such line. session sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: inherit-parent or auto still omits model at every level, and a model name is passed as model. Pass the level as the dispatch's effort field and keep the subagent_type you would otherwise use. That is effort on the Claude Code Agent call and reasoning_effort on Codex's spawn_agent. On Muse it is effort on a Workflow child; a subagent_spawn dispatch keeps the session's effort.
FAQ
What does the reflect skill do?
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.
How do I install reflect?
Run npx skills add https://github.com/michael-denyer/pstack-claude --skill reflect in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/reflect/ (personal) or .claude/skills/reflect/ (project).
Which AI agents can use reflect?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is reflect safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains reflect?
It is published by michael-denyer in michael-denyer/pstack-claude. It has 906 recorded installs.
More from michael-denyer/pstack-claude
poteto-mode
michael-denyer/pstack-claude
poteto's agent style for concise, detailed responses, deliberate subagents, unslopped prose, simple code, and verified work. Use for poteto, /poteto-mode, or requests to work in this style.
how
michael-denyer/pstack-claude
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer"). Explains subsystem architecture, runtime flow, onboarding mental models. Use why for motivation.
arena
michael-denyer/pstack-claude
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena, 'arena this', 'throw it in the arena', or when one attempt at a non-trivial artifact would lock in the wrong shape.
architect
michael-denyer/pstack-claude
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use for /architect, 'architect this', 'design this', or non-trivial work where jumping to code would lock in the wrong shape.
interrogate
michael-denyer/pstack-claude
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart". Multiple LLM reviewers challenge changes from independent angles.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available