Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Probe memory/summary clarity via dual anchor questions: task progress, info gaps. Use when verifying session state or summary before handoff or compression.
.claude/skills/athola-memory-clarity-probe/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 107% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 188% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 129% | 0% |
Assess whether a memory, summary, or session state retains enough task information to guide future reasoning.
A quality gate for any memory or summary, based on the dual-probe pattern from MMPO (arXiv:2605.30159, Liu et al. 2026). The probe asks two anchor questions against the current memory and evaluates whether the answers are confident and complete:
current task progress?"
still needed?"
A clear memory answers the progress probe with specific, verifiable state (not vague placeholders) and enumerates bounded, concrete unknowns on the gap probe. An ambiguous memory produces hedging on the progress probe and open-ended uncertainty on the gap probe.
The two probes target different failure modes:
about task state. The gap probe alone misses this. The model claims it has enough. The progress probe catches it: if the stated progress contradicts known facts, the memory has drifted.
task stands. Both probes surface this: the progress answer hedges and the gap answer lists open-ended unknowns.
The MMPO paper's ablation (Table 4) shows progress+gap outperforms gap-only across all context lengths. Use both probes.
This skill implements a qualitative clarity assessment. It does not compute the token-level predictive entropy (Belief Entropy, Eq. 5 in MMPO) that the paper uses for RL training. Night-market has no access to the model's internal log-probabilities.
The paper's Table 6 shows that qualitative probing (labeled "direct-answer entropy", r=0.54) is weaker than true entropy (r=0.68), and can encourage premature confidence. Use this probe as a necessary quality check, not a sufficient one.
conserve:clear-context hands off to a continuation agentmemory-palace:session-palace-buildermemory-palace:knowledge-intake
imbue:proof-of-work declares work completeAccept the memory or summary as input. Sources:
Evaluate the memory against:
Based on the memory below, what is the current task progress?
Describe specifically what has been completed and what state
the task is in right now.
<memory>
{memory_content}
</memory>Score the answer:
no hedging ("I think", "probably", "it seems")
Evaluate the memory against:
Based on the memory below, what information is still needed
to complete the task? List specific open questions or missing
facts, not generic categories.
<memory>
{memory_content}
</memory>Score the answer:
(signals the memory does not constrain what's missing)
incomplete (premature confidence, the failure mode the progress probe guards against)
| Progress | Gap | Composite | Action | |----------|-----|-----------|--------| | Clear | Bounded | Clear | Proceed | | Clear | Expanding | Ambiguous | Consider expanding memory | | Clear | Overconfident | Suspect | Re-read task requirements | | Ambiguous | Bounded | Ambiguous | Expand memory or ask user | | Ambiguous | Expanding | Unclear | Regenerate or expand memory | | Unclear | Any | Unclear | Memory must be regenerated |
Produce the output in the format below and take the recommended action if invoked as an autonomous gate.
When evaluating N candidate summaries (e.g., from multiple summarization attempts):
enumeration, (c) absence of hedging in progress answer.
To generate N candidates, invoke a summarization skill N times with varied prompts or temperatures, then pass all results to this probe. Typical N=3 gives a useful signal; N=5 matches the paper's Best-of-5 finding (Figure 3c).
## Clarity Assessment
**Progress probe**: [Clear | Ambiguous | Unclear]
> {exact answer the model produced}
**Gap probe**: [Bounded | Expanding | Overconfident]
> {exact answer the model produced}
**Composite**: [Clear | Ambiguous | Suspect | Unclear]
**Recommendation**: [Proceed | Expand memory | Regenerate]
**Specific issues** (if composite is not Clear):
- {issue 1}
- {issue 2}As a pre-handoff gate (conserve:clear-context):
Before saving session-state.md, invoke memory-clarity-probe
on the draft state. If composite is Unclear, expand the state
with explicit answers to both probes before saving.As a session checkpoint (memory-palace:session-palace-builder):
At major task transitions (design complete, implementation
started, tests passing), invoke memory-clarity-probe on the
current palace state. Log the composite score.As a completion check (imbue:proof-of-work):
Before declaring work complete, invoke memory-clarity-probe.
The progress probe should return Clear with all deliverables
named. The gap probe should return Bounded with zero open items.composite "Clear" with both probes scoring positively
composite "Unclear" and recommends regeneration
them and names the recommended one
and gap probe scores both present
entropy is present and accurate (What This Is NOT section)
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 10,067 | 3,750 | -63% | 1 | 1 | 0% | 1,818 | 2,553 | +40% | 0 | 0 | — |
case-02 | pass→pass | 10,735 | 6,211 | -42% | 1 | 1 | 0% | 2,228 | 3,077 | +38% | 0 | 0 | — |
case-03 | fail→pass | 7,828 | 4,729 | -40% | 1 | 1 | 0% | 1,327 | 2,749 | +107% | 0 | 0 | — |
case-04 | fail→pass | 6,281 | 7,698 | +23% | 1 | 1 | 0% | 1,112 | 3,200 | +188% | 0 | 0 | — |
case-05 | pass→pass | 3,464 | 2,723 | -21% | 1 | 1 | 0% | 560 | 2,242 | +300% | 0 | 0 | — |
case-06 | pass→pass | 6,156 | 5,269 | -14% | 1 | 1 | 0% | 1,019 | 2,740 | +169% | 0 | 0 | — |
case-07 | fail→pass | 9,803 | 5,039 | -49% | 1 | 1 | 0% | 1,659 | 2,757 | +66% | 0 | 0 | — |
case-08 | fail→pass | 6,325 | 4,038 | -36% | 1 | 1 | 0% | 1,156 | 2,643 | +129% | 0 | 0 | — |
case-09 | fail→pass | 7,479 | 7,446 | -0% | 1 | 1 | 0% | 1,256 | 3,068 | +144% | 0 | 0 | — |
case-10 | fail→pass | 8,792 | 5,217 | -41% | 1 | 1 | 0% | 1,540 | 2,805 | +82% | 0 | 0 | — |
case-11 | fail→fail | 8,619 | 4,803 | -44% | 1 | 1 | 0% | 1,346 | 2,679 | +99% | 0 | 0 | — |
case-12 | pass→pass | 8,260 | 6,677 | -19% | 1 | 1 | 0% | 1,553 | 3,121 | +101% | 0 | 0 | — |
case-13 | fail→pass | 6,822 | 3,973 | -42% | 1 | 1 | 0% | 1,208 | 2,602 | +115% | 0 | 0 | — |
case-14 | fail→pass | 6,479 | 3,398 | -48% | 1 | 1 | 0% | 1,230 | 2,488 | +102% | 0 | 0 | — |
case-15 | fail→pass | 8,169 | 4,048 | -50% | 1 | 1 | 0% | 1,321 | 2,622 | +98% | 0 | 0 | — |
case-16 | fail→pass | 6,449 | 4,836 | -25% | 1 | 1 | 0% | 1,050 | 2,653 | +153% | 0 | 0 | — |
case-17 | fail→pass | 10,165 | 5,531 | -46% | 1 | 1 | 0% | 1,710 | 2,822 | +65% | 0 | 0 | — |
case-18 | fail→pass | 8,546 | 8,605 | +1% | 1 | 1 | 0% | 1,632 | 3,604 | +121% | 0 | 0 | — |
case-19 | pass→pass | 9,105 | 5,723 | -37% | 1 | 1 | 0% | 1,493 | 2,828 | +89% | 0 | 0 | — |
case-20 | fail→pass | 9,695 | 3,959 | -59% | 1 | 1 | 0% | 1,534 | 2,644 | +72% | 0 | 0 | — |
case-21 | pass→pass | 3,063 | 2,595 | -15% | 1 | 1 | 0% | 578 | 2,291 | +296% | 0 | 0 | — |
case-22 | pass→pass | 6,264 | 3,187 | -49% | 1 | 1 | 0% | 1,136 | 2,457 | +116% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.