Session-End Reflection
Catch blind spots and under-investigated areas before concluding a session by asking two questions:
- Confidence audit: What am I least confident about right now?
- Blind-spot check (Sam Altman): What's the biggest thing I'm missing about this situation? What don't I realize?
~1 in 4 sessions, one of the answers reveals a critical gap that would silently invalidate work. This skill catches
those gaps at the cheapest possible moment: before the user has walked away.
Prerequisites
- A session that appears to be concluding (user signals completion, asks for summary, or starts wrap-up language)
- A project-level behavioural rule for "always conduct session-end reflection" should already be active, if this
project has one -- check the project's own rules file
- For persisting uncovered findings: the
context-file skill, and optionally adr-capture if a binding decision
emerges
- For genuine gaps that aren't being fixed in this session: the
context-file skill's known-issue document type --
this is the primary, intended source of those entries; see Workflow step 6
When to Use
- A session appears to be concluding: the user signals completion, asks for a summary, or starts wrap-up language.
- All identified tasks are marked complete and the agent is about to hand back to the user.
When NOT to Use
- During a brief query that is clearly complete (e.g., "what's the capital of France?") -- the reflection overhead is
not justified.
- When the user has explicitly said "don't do the reflection this time" or similar -- honour it, don't insist.
- In automated/CI contexts -- this is a human-interactive skill only.
- In the middle of active work -- only at session-end boundaries.
Workflow
- Detect session-end signals: "we're done", "thanks", "that's all", a request for a summary or next steps, or
all identified tasks marked complete.
- Choose the reflection mode -- inline (default, for short sessions) or sub-agent spawn (preferred for deep
sessions with significant work; see Sub-Agent Spawn Pattern).
- Initiate the reflection with a natural opening, e.g. "Before we wrap up, I'd like to do a quick reflection."
Ask the two questions sequentially, never both at once -- wait for the user's response to each.
- Question 1, confidence audit: "What am I least confident about right now?" Generate 3-7 specific items, each
naming what was done, what was not verified, and why confidence is low -- not a vague feeling.
- Question 2, blind-spot check: "What's the biggest thing I'm missing about this situation?" Target assumptions
the user stated but that went unverified, alternatives not explored, and signals dropped mid-conversation.
- Follow up. If the user flags an item, investigate before concluding. If a finding warrants preservation, use
context-file. If an item is a verified, concrete gap that is NOT being fixed in this session, create a
known-issue document (status: ACTIVE, severity: CRITICAL | HIGH | MEDIUM | LOW) via context-file -- this
is the primary source of those entries; a reflection item that only lives in chat scrollback is the failure mode
this step exists to prevent. Skip this only when the item is being fixed right now instead.
- Conclude only once the investigation loop is resolved. Note clearly if new work was spawned.
- Verify outcome: confirm with the user that the reflection addressed their concerns, summarize any
investigation performed, confirm any known-issue file was actually created, and explicitly ask whether anything
else from the reflection needs addressing.
Definition of Done
Anti-Patterns
NEVER skip the reflection because the session feels complete.
WHY: the agent is a poor judge of its own completeness; the ~1-in-4 statistic means confidence is not a reliable
signal for whether to skip it.
SYMPTOM: the reply jumps straight to a wrap-up summary with no confidence-audit or blind-spot question asked.
CONSEQUENCE: a genuine gap ships unnoticed because nobody ever asked the two questions that would have surfaced
it.
BAD: "Everything looks good, no need for reflection."
GOOD: Always run the reflection regardless of how confident the session seems.
NEVER give a vague confidence item.
WHY: "I'm not confident about the overall approach" gives the user nothing to act on.
SYMPTOM: a confidence item names a feeling ("not sure about performance") instead of a file, function, or
assumption.
CONSEQUENCE: the user cannot decide whether to investigate, so the reflection produces no actionable follow-up.
BAD: "I'm least confident about performance."
GOOD: "I'm least confident about the query performance in getUserOrders() -- I assumed the index exists but
didn't verify it against the production schema."
NEVER ask both reflection questions in one breath.
WHY: combining them reduces the thoughtfulness of each individual answer.
SYMPTOM: a single message asks "what are you least confident about and what am I missing?" back to back.
CONSEQUENCE: the user answers the easier question and skips the harder one, and the reflection silently loses
half its value.
BAD: "What am I least confident about and what am I missing?"
GOOD: Ask, wait for the full answer and discussion, then ask the second question.
NEVER deflect or make excuses for a low-confidence item.
WHY: the reflection is a safe space for surfacing uncertainty, and excuses undermine the honesty it depends on.
SYMPTOM: a confidence item is immediately followed by a justification for why it wasn't checked.
CONSEQUENCE: the user learns to treat future reflections as self-justification rather than a genuine audit.
BAD: "I'm not confident about X, but that's because you didn't ask for it."
GOOD: "I'm not confident about X -- I didn't verify it. Want me to check now?"
NEVER spawn a sub-agent reflection without a concrete session summary.
WHY: a vague prompt ("review this session") produces vague output; the summary quality determines the
reflection quality.
SYMPTOM: the sub-agent prompt says only "review this session" with no list of what was done, assumed, or
skipped.
CONSEQUENCE: the sub-agent's blind-spot check has nothing concrete to interrogate and returns generic filler.
BAD: Spawning with only "please reflect on this conversation."
GOOD: Summarize files touched, commands run, assumptions made, and what was skipped, then spawn with that
summary (full template in Sub-Agent Spawn Pattern).
NEVER let a verified-but-deferred gap live only as a chat mention.
WHY: a reflection item that gets discussed and then only lives in chat scrollback is exactly the failure mode
Workflow step 6 exists to prevent.
SYMPTOM: the reply says "that's worth looking into sometime" with no known-issue document created.
CONSEQUENCE: the gap is lost the moment the conversation ends, and a future session rediscovers it from scratch.
BAD: Noting a real, unfixed gap in prose and moving on to the next question.
GOOD: Create a known-issue document (via context-file) with an honest severity and status, in the same turn.
Mindset
- The agent is a poor judge of its own blind spots -- this is why the reflection is structured and, where a project
rule mandates it, effectively non-optional.
- Precision over quantity for confidence items. Better 3 specific items than 7 vague ones.
- The blind-spot check is the harder question -- it requires synthesizing across the entire session.
- If a reflection reveals a critical issue, the session was not actually over -- treat it as continuation, not
wrap-up.
- Persist important findings as context entries so future sessions benefit -- a verified-but-deferred gap becomes a
known-issue document, not just a paragraph in a chat transcript nobody re-reads.
- Sub-agent spawn is preferred for deep sessions, but is not mandatory for every reflection -- a short session is
usually better served inline; consider session depth and available model cost before choosing.
- LOW and MEDIUM severity ratings on a known-issue entry are legitimate, honest outcomes, not a failure to act on
something -- do not inflate severity just to make an item feel actioned.
Quick Start
# No commands needed -- this is a behavioural skill, triggered by conversational cues.
# Read the Workflow section above for execution detail.
# Expected shape of a completed reflection:
# 1. Confidence audit answered with 3-7 specific, file/function-level items.
# 2. Blind-spot check answered with 1-3 broad patterns.
# 3. Any flagged item is either resolved or filed as a known-issue document.
Reference: Question Design
| Aspect |
Confidence Audit |
Blind-Spot Check |
| Origin |
LLM-suggested |
Sam Altman |
| Focus |
Agent's own work quality |
Shared understanding |
| Scope |
Under-investigated items |
Assumptions & alternatives |
| Depth |
3-7 specific items |
1-3 broad patterns |
| Risk caught |
Silent failures in execution |
Conceptual blind spots |
Troubleshooting
| Situation |
Response |
| User says "no need" to reflection |
Accept gracefully. Do not insist. |
| User asks to skip on a future session |
Honour the preference; consider noting it as a project-level finding. |
| Reflection reveals a huge issue |
Do not panic. Investigate calmly, present findings, offer remediation options. |
| User has no response to either question |
Accept that the reflection ran -- surfacing items is valuable on its own. |
Integration with Other Skills
| Skill |
How it connects |
context-file |
Persist reflection findings as context entries; persist verified-but-deferred gaps as known-issue documents (see Workflow step 6) -- this is the standing backlog of "critical, fix soon" items this skill drives |
adr-capture |
If a reflection reveals a decision-level blind spot, capture it as an ADR |
rules-management |
If reflection reveals a pattern worth codifying as a behavioural rule, create one |
References
| Topic |
Reference |
When to Use |
| Technique origins and why the two questions work |
Session-End Reflection Reference |
Understanding the rationale, not just the mechanics |
| Full sub-agent spawn workflow and prompt template |
Sub-Agent Spawn Pattern |
Running the reflection as a sub-agent for a deep session -- skip for short sessions |
| Model selection for the sub-agent spawn pattern |
Recommended Sub-Agent Models |
Choosing a cheap model once sub-agent mode is already selected |
- See also: Sub-Agent Spawn Pattern for the complete workflow.
1---2name: session-reflection3description: Conduct a two-question session-end reflection to catch blind spots and under-investigated areas before concluding. The agent surfaces its lowest-confidence work items and identifies what the user might be missing, then offers to investigate. Based on a Reddit-post technique combining an LLM-suggested confidence audit with Sam Altman's blind-spot question. Do NOT trigger for brief single-answer queries, CI contexts, or in the middle of active work -- only when a session appears to be concluding. Triggers: 'wrap up', 'we're done', 'conclude', 'session end', 'final review', 'before we go', 'sign off', 'that's all', 'anything else', 'finished', 'reflection', 'confidence check', 'blind spot', 'what are you missing', 'rate your confidence', 'review the session'.4---56# Session-End Reflection78Catch blind spots and under-investigated areas before concluding a session by asking two questions:9101. **Confidence audit:** What am I least confident about right now?112. **Blind-spot check (Sam Altman):** What's the biggest thing I'm missing about this situation? What don't I realize?1213~1 in 4 sessions, one of the answers reveals a critical gap that would silently invalidate work. This skill catches14those gaps at the cheapest possible moment: before the user has walked away.1516## Prerequisites1718- A session that appears to be concluding (user signals completion, asks for summary, or starts wrap-up language)19- A project-level behavioural rule for "always conduct session-end reflection" should already be active, if this20 project has one -- check the project's own rules file21- For persisting uncovered findings: the `context-file` skill, and optionally `adr-capture` if a binding decision22 emerges23- For genuine gaps that aren't being fixed in this session: the `context-file` skill's known-issue document type --24 this is the primary, intended source of those entries; see Workflow step 62526## When to Use2728- A session appears to be concluding: the user signals completion, asks for a summary, or starts wrap-up language.29- All identified tasks are marked complete and the agent is about to hand back to the user.3031## When NOT to Use3233- During a brief query that is clearly complete (e.g., "what's the capital of France?") -- the reflection overhead is34 not justified.35- When the user has explicitly said "don't do the reflection this time" or similar -- honour it, don't insist.36- In automated/CI contexts -- this is a human-interactive skill only.37- In the middle of active work -- only at session-end boundaries.3839## Workflow40411. **Detect session-end signals**: "we're done", "thanks", "that's all", a request for a summary or next steps, or42 all identified tasks marked complete.432. **Choose the reflection mode** -- inline (default, for short sessions) or sub-agent spawn (preferred for deep44 sessions with significant work; see [Sub-Agent Spawn Pattern](references/subagent-spawn-pattern.md)).453. **Initiate the reflection** with a natural opening, e.g. "Before we wrap up, I'd like to do a quick reflection."46 Ask the two questions sequentially, never both at once -- wait for the user's response to each.474. **Question 1, confidence audit**: "What am I least confident about right now?" Generate 3-7 specific items, each48 naming what was done, what was not verified, and why confidence is low -- not a vague feeling.495. **Question 2, blind-spot check**: "What's the biggest thing I'm missing about this situation?" Target assumptions50 the user stated but that went unverified, alternatives not explored, and signals dropped mid-conversation.516. **Follow up.** If the user flags an item, investigate before concluding. If a finding warrants preservation, use52 `context-file`. **If an item is a verified, concrete gap that is NOT being fixed in this session, create a53 known-issue document** (`status: ACTIVE`, `severity: CRITICAL | HIGH | MEDIUM | LOW`) via `context-file` -- this54 is the primary source of those entries; a reflection item that only lives in chat scrollback is the failure mode55 this step exists to prevent. Skip this only when the item is being fixed right now instead.567. **Conclude** only once the investigation loop is resolved. Note clearly if new work was spawned.578. **Verify outcome**: confirm with the user that the reflection addressed their concerns, summarize any58 investigation performed, confirm any known-issue file was actually created, and explicitly ask whether anything59 else from the reflection needs addressing.6061## Definition of Done6263- [ ] Both questions were asked sequentially, with the user's response read before the next question, not skipped.64- [ ] Every confidence item names a concrete file, function, or assumption -- none are vague feelings.65- [ ] Any flagged item was either investigated and resolved, or filed as a known-issue document -- not left as a66 bare chat mention.67- [ ] The user confirmed the reflection addressed their concerns before the session is treated as closed.6869## Anti-Patterns7071**NEVER** skip the reflection because the session feels complete.72**WHY:** the agent is a poor judge of its own completeness; the ~1-in-4 statistic means confidence is not a reliable73signal for whether to skip it.74**SYMPTOM:** the reply jumps straight to a wrap-up summary with no confidence-audit or blind-spot question asked.75**CONSEQUENCE:** a genuine gap ships unnoticed because nobody ever asked the two questions that would have surfaced76it.77**BAD:** "Everything looks good, no need for reflection."78**GOOD:** Always run the reflection regardless of how confident the session seems.7980**NEVER** give a vague confidence item.81**WHY:** "I'm not confident about the overall approach" gives the user nothing to act on.82**SYMPTOM:** a confidence item names a feeling ("not sure about performance") instead of a file, function, or83assumption.84**CONSEQUENCE:** the user cannot decide whether to investigate, so the reflection produces no actionable follow-up.85**BAD:** "I'm least confident about performance."86**GOOD:** "I'm least confident about the query performance in `getUserOrders()` -- I assumed the index exists but87didn't verify it against the production schema."8889**NEVER** ask both reflection questions in one breath.90**WHY:** combining them reduces the thoughtfulness of each individual answer.91**SYMPTOM:** a single message asks "what are you least confident about and what am I missing?" back to back.92**CONSEQUENCE:** the user answers the easier question and skips the harder one, and the reflection silently loses93half its value.94**BAD:** "What am I least confident about and what am I missing?"95**GOOD:** Ask, wait for the full answer and discussion, then ask the second question.9697**NEVER** deflect or make excuses for a low-confidence item.98**WHY:** the reflection is a safe space for surfacing uncertainty, and excuses undermine the honesty it depends on.99**SYMPTOM:** a confidence item is immediately followed by a justification for why it wasn't checked.100**CONSEQUENCE:** the user learns to treat future reflections as self-justification rather than a genuine audit.101**BAD:** "I'm not confident about X, but that's because you didn't ask for it."102**GOOD:** "I'm not confident about X -- I didn't verify it. Want me to check now?"103104**NEVER** spawn a sub-agent reflection without a concrete session summary.105**WHY:** a vague prompt ("review this session") produces vague output; the summary quality determines the106reflection quality.107**SYMPTOM:** the sub-agent prompt says only "review this session" with no list of what was done, assumed, or108skipped.109**CONSEQUENCE:** the sub-agent's blind-spot check has nothing concrete to interrogate and returns generic filler.110**BAD:** Spawning with only "please reflect on this conversation."111**GOOD:** Summarize files touched, commands run, assumptions made, and what was skipped, then spawn with that112summary (full template in [Sub-Agent Spawn Pattern](references/subagent-spawn-pattern.md)).113114**NEVER** let a verified-but-deferred gap live only as a chat mention.115**WHY:** a reflection item that gets discussed and then only lives in chat scrollback is exactly the failure mode116Workflow step 6 exists to prevent.117**SYMPTOM:** the reply says "that's worth looking into sometime" with no known-issue document created.118**CONSEQUENCE:** the gap is lost the moment the conversation ends, and a future session rediscovers it from scratch.119**BAD:** Noting a real, unfixed gap in prose and moving on to the next question.120**GOOD:** Create a known-issue document (via `context-file`) with an honest severity and status, in the same turn.121122## Mindset123124- The agent is a poor judge of its own blind spots -- this is why the reflection is structured and, where a project125 rule mandates it, effectively non-optional.126- Precision over quantity for confidence items. Better 3 specific items than 7 vague ones.127- The blind-spot check is the harder question -- it requires synthesizing across the entire session.128- If a reflection reveals a critical issue, the session was not actually over -- treat it as continuation, not129 wrap-up.130- Persist important findings as context entries so future sessions benefit -- a verified-but-deferred gap becomes a131 known-issue document, not just a paragraph in a chat transcript nobody re-reads.132- Sub-agent spawn is preferred for deep sessions, but is not mandatory for every reflection -- a short session is133 usually better served inline; consider session depth and available model cost before choosing.134- LOW and MEDIUM severity ratings on a known-issue entry are legitimate, honest outcomes, not a failure to act on135 something -- do not inflate severity just to make an item feel actioned.136137## Quick Start138139```bash140# No commands needed -- this is a behavioural skill, triggered by conversational cues.141# Read the Workflow section above for execution detail.142```143144```text145# Expected shape of a completed reflection:146# 1. Confidence audit answered with 3-7 specific, file/function-level items.147# 2. Blind-spot check answered with 1-3 broad patterns.148# 3. Any flagged item is either resolved or filed as a known-issue document.149```150151## Reference: Question Design152153| Aspect | Confidence Audit | Blind-Spot Check |154|--------|-----------------|------------------|155| Origin | LLM-suggested | Sam Altman |156| Focus | Agent's own work quality | Shared understanding |157| Scope | Under-investigated items | Assumptions & alternatives |158| Depth | 3-7 specific items | 1-3 broad patterns |159| Risk caught | Silent failures in execution | Conceptual blind spots |160161## Troubleshooting162163| Situation | Response |164|-----------|----------|165| User says "no need" to reflection | Accept gracefully. Do not insist. |166| User asks to skip on a future session | Honour the preference; consider noting it as a project-level finding. |167| Reflection reveals a huge issue | Do not panic. Investigate calmly, present findings, offer remediation options. |168| User has no response to either question | Accept that the reflection ran -- surfacing items is valuable on its own. |169170## Integration with Other Skills171172| Skill | How it connects |173|-------|----------------|174| `context-file` | Persist reflection findings as context entries; persist verified-but-deferred gaps as known-issue documents (see Workflow step 6) -- this is the standing backlog of "critical, fix soon" items this skill drives |175| `adr-capture` | If a reflection reveals a decision-level blind spot, capture it as an ADR |176| `rules-management` | If reflection reveals a pattern worth codifying as a behavioural rule, create one |177178## References179180| Topic | Reference | When to Use |181| --- | --- | --- |182| Technique origins and why the two questions work | [Session-End Reflection Reference](references/session-reflection-reference.md) | Understanding the rationale, not just the mechanics |183| Full sub-agent spawn workflow and prompt template | [Sub-Agent Spawn Pattern](references/subagent-spawn-pattern.md) | Running the reflection as a sub-agent for a deep session -- skip for short sessions |184| Model selection for the sub-agent spawn pattern | [Recommended Sub-Agent Models](references/recommended-subagent-models.md) | Choosing a cheap model once sub-agent mode is already selected |185186- See also: [Sub-Agent Spawn Pattern](references/subagent-spawn-pattern.md) for the complete workflow.