# Pstack Reflect

> Delegate three parallel reviews over the active transcript, surface learnings, and route each to a concrete edit on an existing skill. Use when the user says reflect.

- Skill: `shishiv/pstack-reflect` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add shishiv/pstack-reflect`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shishiv/pstack-reflect/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: shishiv (https://skillmd.com/u/shishiv)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/shishiv/pstack-reflect

---


# Reflect

Mine the current conversation for durable learnings, then route them into skill edits.

## When to invoke

- The user said "reflect" or "/skill:pstack-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 before fanning out. Use only the active session path named by `$PI_SESSION_FILE`. Do not infer another storage layout or glob for nearby transcripts, because that crosses workspace boundaries and reads private chats from unrelated projects. If the path is unavailable, write a tight digest of the session and pass that instead.

### 2. Spawn three reviewers in parallel

Follow [`../../docs/delegation.md`](../../docs/delegation.md) and launch three read-only reviewers together. Give external-source tools only to reviewers that need them. The prompt forbids file writes; the parent applies edits. Run capability preflight before launch.

| Lens | Role | Prompt template |
|---|---|---|
| Judgment | judgment with optional external-source tools | `references/judgment-reviewer.md` |
| Tooling | review with optional external-source tools | `references/tooling-reviewer.md` |
| Divergent | review | `references/divergent-reviewer.md` |

Pass each template verbatim, substituting the transcript path or digest where marked. Reviewers return findings through the selected delegation capability.

### 3. Synthesize

Delegate one judgment pass after the three reviews. Give it available read-only external-source tools when citation verification needs them, and forbid file writes. Use `references/synthesizer.md` verbatim, with each reviewer's full output inlined where marked. The synthesizer returns a structured Accepted / Rejected / Backlog list.

### 4. Structural enforcement check

Sanity-check the synthesizer's Accepted list. For any item that would be enforced more reliably by a lint rule, script, metadata flag, or runtime check, move it from Accepted to Backlog. The synthesizer already applies this criterion; this is a final pass before edits land. See the **encode-lessons-in-structure** principle skill.

### 5. Apply

Before applying any Accepted edit, present the synthesizer's full Accepted/Rejected/Backlog output to the user and wait for explicit approval. The user picks which subset to apply and may redirect routings. Skill changes affect every future agent in the org; do not auto-apply.

Backlog items file to whatever devex / backlog tracker your team uses automatically. Those are tracker submissions, not skill edits. Only the Accepted list waits for approval.

For each approved Accepted item, follow the Routing field exactly:

- Trivial existing-skill edit (a one-line bullet, a tightened sentence, a stale fact corrected): parent does directly.
- Substantive existing-skill edit (a new section, a new pattern table, more than ~10 lines): hand to the host's skill-authoring workflow and run its draft / test / iterate loop.
- `tune description: <skill path>` (the skill exists but didn't trigger when it should have): hand to `create-skill` and run its description-optimization loop.
- `new skill via create-skill: <kebab-name>`: hand creation to `create-skill`. Do not invent the shape ad hoc.

If your environment ships a SKILL.md validator, run it on every touched skill before declaring done. Skip this step if it doesn't.

### 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.

