Skip to content
Agent Memory
Skill

/recap

Session orientation and awareness — retro summaries, handoffs, git state, focus. Use when starting a session, after /jump, lost your place, switching context, or when user asks "now", "where are we", "what are we doing", "status", "recap". Do NOT trigger for "standup" or

BOOST
From plugin
arra-oracle-skills-cli
12532 skills3 hooks
Install
$ npx -y skills add soul-brews-studio/arra-oracle-skills-cli --skill recap --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/recap

Context preview

The summary Claude sees to decide when to auto-load this skill.

Session orientation and awareness — retro summaries, handoffs, git state, focus. Use when starting a session, after /jump, lost your place, switching context, or when user asks "now", "where are we", "what are we doing", "status", "recap". Do NOT trigger for "standup" or

SKILL.md

recap.SKILL.md
name: recap
description: Session orientation and awareness — retro summaries, handoffs, git state, focus. Use when starting a session, after /jump, lost your place, switching context, or when user asks "now", "where are we", "what are we doing", "status", "recap". Do NOT trigger for "standup" or "morning check" (use /standup), or session mining "dig", "past sessions" (use /dig).
argument-hint: "[--now | --deep]"
trigger: /recap

/recap — Session Orientation & Awareness

**Goal**: Orient yourself fast. Rich context by default. Mid-session awareness with `--now`.

Usage

/recap           # Rich: retro summary, handoff, tracks, git
/recap --quick   # Minimal: git + focus only, no file reads
/recap --now     # Mid-session: timeline + jumps from AI memory
/recap --now deep # Mid-session: + handoff + tracks + connections

---

DEFAULT MODE (Rich)

**Run the rich script, then add suggestions:**

bun ~/.claude/skills/recap/recap-rich.ts

Script reads retro summaries, handoff content, tracks, git state. Then LLM adds:

  • **What's next?** (2-3 options based on context)

Step 1.5: Detect INCUBATED_BY (#229)

The recap-rich.ts script auto-detects `.claude/INCUBATED_BY` breadcrumbs. If present, shows:

## ⚠️ INCUBATED REPO
oracle: mawui-oracle
date: 2026-04-13
source: https://github.com/...

This tells the oracle: "You are in a repo tracked by another oracle. Check the breadcrumb for context."

Step 2: Git context

git status --short
git log --oneline -1

Check what's appropriate from git status:

  • **Uncommitted changes?** → show them, suggest commit or stash
  • **On a branch (not main)?** → `git log main..HEAD --oneline` to see branch work
  • **Branch ahead of remote?** → suggest push or PR
  • **Clean on main?** → just show last commit, move on

Only read what matters — don't dump 10 commits if status is clean.

Step 2.5: Skill shelf staleness

Skills are **copied** into `~/.claude/skills/` (fork model), so fixes never propagate on their own — an oracle can run a superseded skill indefinitely with nothing to signal it. This surfaces it during orientation, where you'd notice.

bun "$(dirname "$0")/skills-staleness.ts" 2>/dev/null || true

Silent when the shelf is current. Prints only when you are behind, the install is 30+ days old, the manifest can't be reconciled against disk, or `--verbose`. Never blocks — any failure exits 0 and prints nothing, because orientation must not break on a diagnostic.

If it reports **BEHIND**, offer the update command it prints; don't run it unprompted — an install can change the behaviour of skills mid-session.

> Origin: written by neo (`laris-co/neo-oracle`) 2026-08-16 after a `/learn` > contamination bug was diagnosed in a shelf version that had been superseded > for two months. Adopted into the shelf so every oracle gets it.

Step 3: Read latest ψ/ brain files

Sort all ψ/ files by modification time, read the most recent:

find ψ/ -name '*.md' -not -name 'CLAUDE.md' -not -name 'README.md' -not -name '.gitkeep' 2>/dev/null | xargs ls -t 2>/dev/null | head -5

Read those top 5 files. This recovers the same context `/compact` restores — handoffs, retros, learnings, drafts, whatever was touched last.

Step 4: Dig last session

ORACLE_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
ENCODED_PWD=$(echo "$ORACLE_ROOT" | sed 's|^/|-|; s|[/.]|-|g')
PROJECT_BASE=$(ls -d "$HOME/.claude/projects/${ENCODED_PWD}" 2>/dev/null | head -1)
export PROJECT_DIRS="$PROJECT_BASE"

# Strip -wt* suffix to find parent project dir
PARENT_ENCODED=$(echo "$ENCODED_PWD" | sed 's/-wt-[^/]*$//')
if [ "$PARENT_ENCODED" != "$ENCODED_PWD" ]; then
  PARENT_BASE=$(ls -d "$HOME/.claude/projects/${PARENT_ENCODED}" 2>/dev/null | head -1)
  [ -n "$PARENT_BASE" ] && export PROJECT_DIRS="$PROJECT_DIRS:$PARENT_BASE"
fi

# nullglob-safe worktree scan (both parent and self)
for base in "$PROJECT_BASE" "$PARENT_BASE"; do
  [ -z "$base" ] && continue
  for wt in "$base"-wt-*(N); do  # (N) = zsh nullglob qualifier
    [ -d "$wt" ] && export PROJECT_DIRS="$PROJECT_DIRS:$wt"
  done
done

python3 ~/.claude/skills/dig/scripts/dig.py 1

Include in recap:

📡 Last session: HH:MM–HH:MM (Xm, N msgs) — [topic]

Need more? `/dig 5` or `/dig --timeline`.

**Total**: 1 bash call + LLM analysis

---

QUICK MODE (`/recap --quick`)

**Minimal, no content reads:**

bun ~/.claude/skills/recap/recap.ts

Script outputs git status + focus state (~0.1s). Then LLM adds:

  • **What's next?** (2-3 options based on git state)

---

"What's next?" Rules

| If you see... | Suggest... | |---------------|------------| | Handoff exists | Continue from handoff | | Untracked files | Commit them | | Focus = completed | Pick from tracks or start fresh | | Branch ahead | Push or create PR | | Streak active | Keep momentum going |

---

Hard Rules

1. **ONE bash call** — never multiple parallel calls (adds latency) 2. **No subagents** — everything in main agent 3. **Ask, don't suggest** — "What next?" not "You should..." 4. **Verify pending before reporting** — see "Verify Before Reporting" section below. This is NON-NEGOTIABLE. 5. **Print absolute paths** — when referencing vault files, render the resolved `$ROOT/ψ/...` path (starts with `/`). Bare `ψ/...` is not clickable. See CONVENTIONS.md.

---

Verify Before Reporting (MANDATORY)

Handoffs, retros, and memory files are **point-in-time claims**, not live state. Between the previous session ending and this one starting, work may have been done, PRs may have merged, files may have been copied. **Echoing a stale pending list as if it were current is a lie by omission** — the human ends up chasing items that are already done.

The rule

Before outputting any "Pending" table or "Next action" suggestion, you MUST verify each claimed pending item against current reality:

| Claim type | How to verify | |---|---| | "Copy file X to path Y" | `ls path/Y`

Read more
Ships witharra-oracle-skills-cli

25 skills for AI coding agents — persistent memory, session awareness, and collaborative tools.

Get the whole plugin
Stats
125
Stars
58
Forks
Active
Maintenance
TypeScript
Language
MIT
License
22d ago
Last commit
9mo ago
Created
3h ago
Added

Repo: soul-brews-studio/arra-oracle-skills-cli

Other skills on arra-oracle-skills-cli.