recap
Skill121 starsChanged 7 months agoMITView on GitHub
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).
44 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- mel0nyrame/skillstheir own version, first seen Nov 8, 2026
- delorenj/skillstheir own version, first seen Nov 7, 2026
- Integralist/agent-skillstheir own version, first seen Nov 6, 2026
- acegalaxy-co/ace_commons-ccswitch-clitheir own version, first seen Nov 1, 2026
- kanalias/ace_commons-ccswitch-clitheir own version, first seen Nov 1, 2026
- AcKeskin/contexturetheir own version, first seen Nov 1, 2026
Used with
Projects with it also use glossary, orchestrate and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Microsoft AzureSkillglossary
Short glossary of domain terms used by the team.
Also in 3 projects that use this
varun29ankuSSkillorchestrate
This skill should be used when the user asks to 'orchestrate a task', 'break down work into parallel agents', 'coordinate subtasks', 'run agents in parallel', or mentions 'multi-agent'. Decomposes complex tasks into tracked subtasks, dispatches parallel subagents, and coordinates until completion.
Also in 4 projects that use this
sunnyclinches44Skillexplain
Explains code using real-world analogies and ASCII diagrams
Also in 3 projects that use this
Microsoft AzureSkillbuild
Build the TypeSpec Rust emitter from source. Run this after cloning the repo, after pulling changes, or when TypeScript source files have been modified.
Also in 3 projects that use this
nicolasestremSkillbrainstorm
Structured idea generation and solution exploration with systematic analysis.
Also in 3 projects that use this
BlockSkillplan
Draft a TDD, PRD, or lightweight plan in the conversation without committing it.
Also in 3 projects that use this
Other versions44 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- l3rowniecakez/Claude_Skill★ 065% same
Wrote their own version · 43
- first-fluke/fullstack-starter★ 226same name
- backnotprop/bro★ 176same name
- benoror/obsidianos_work★ 166same name
- mbwsims/claude-universe★ 71same name
- TakaGoto/rag-learning-academy★ 24same name
- Integralist/agent-skills★ 23same name
- delorenj/skills★ 17same name
- ivklgn/ai-kit★ 12same name
- ivklgn/bag-of-skills★ 12same name
- Jamaalx/claude-chat-namer★ 5same name
33 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- about-oracleSkill
- awakenSkill
- bampenpienSkill
- budSkill
- create-shortcutSkill
- digSkill
- feelSkill
- forwardSkill
- goSkill
- incubateSkill
- learnSkill
- oracle-cheatsheetSkill
- oracle-family-scanSkill
- oracle-prismSkill
- philosophySkill
- projectSkill
- psiSkill
- resonanceSkill
- round-tableSkill
- rrrSkill
- soulSkill
- traceSkill
- where-we-areSkill
- who-are-youSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 10 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 38 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 54
Check what's appropriate from git status:
- Distinctive: line 60
Only read what matters — don't dump 10 commits if status is clean.
- Distinctive: line 74
Never blocks — any failure exits 0 and prints nothing, because orientation must not break on a diagnostic.
- Distinctive: line 77
If it reports BEHIND, offer the update command it prints.
- Very specific: line 92
Read those top 5 files. This recovers the same context /compact restores — handoffs, retros, learnings, drafts, whatever was touched last.
- Distinctive: line 172
Before outputting any "Pending" table or "Next action" suggestion, you MUST verify each claimed pending item against current reality:
- Distinctive: line 192
If the handoff pending list and reality diverge (>1 item stale), show the correction explicitly so the human sees the drift:
- Distinctive: line 273
Before outputting, run verification checks against each pending item (see "Verify Before Reporting" above).
- Distinctive: line 278
If any diverge from the handoff, show the correction table.
- Distinctive: line 322
If session detection fails, skip silently — it's informational only.
- Very specific: line 328
If CLAUDE.md contains demographics from /awaken wizard v2, include in recap output:
- Distinctive: line 334
Add this as one line after the timestamp in any mode.
- Very specific: line 336
Look for fields in CLAUDE.md: Human Pronouns, Oracle Pronouns, Language, Team, Experience.
“Common” is measured: kept by at least 6 in 10 of the 38 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/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 + connectionsDEFAULT MODE (Rich)
Run the rich script, then add suggestions:
bun ~/.claude/skills/recap/recap-rich.tsScript 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 -1Check what's appropriate from git status:
- Uncommitted changes? → show them, suggest commit or stash
- On a branch (not main)? →
git log main..HEAD --onelineto 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 || trueSilent 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/learncontamination 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 -5Read 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 1Include 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.tsScript 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
- ONE bash call — never multiple parallel calls (adds latency)
- No subagents — everything in main agent
- Ask, don't suggest — "What next?" not "You should..."
- Verify pending before reporting — see "Verify Before Reporting" section below. This is NON-NEGOTIABLE.
- 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 — is it already there? |
| "PR #N open/merged" | gh pr view N --json state |
| "Branch X needs push" | git log origin/X..X — any commits? |
| "Apply pattern P to file F" | grep for the pattern in F |
| "Issue #N pending" | gh issue view N --json state |
| "Migration ready to run" | check migrations table or list |
What to do with each verified item
- Already done → drop from pending, note in "Actually done since handoff"
- Still pending → keep, show in table
- Partially done → split into remaining sub-items
- Can't verify (offline/ambiguous) → mark
⚠️ unverifiedin the table, do not assert state
The correction pattern
If the handoff pending list and reality diverge (>1 item stale), show the correction explicitly so the human sees the drift:
| Item | Handoff said | Reality |
|------|--------------|---------|
| Copy cache/ to maw-ui | pending | DONE (Apr 20 04:16) |
| PR #4 merge | open | MERGED |Why this is non-negotiable
- Handoffs are written before work stops, but work often continues between sessions (other Oracles, scheduled tasks, user actions).
- Memory files age — an older memory claiming "feature X is broken" may be stale if a fix shipped.
- Humans trust recap output as ground truth. An unverified echo breaks that trust fast.
Patterns over intentions — the code is the truth, the handoff is an intention. Always verify.
NOW MODE (/recap --now)
Mid-session awareness from AI memory — no file reading needed. Use when user asks "where are we", "now", "status", "what are we doing".
AI reconstructs session timeline from conversation memory:
## This Session
| Time | Duration | Topic | Jump |
|------|----------|-------|------|
| HH:MM | ~Xm | First topic | - |
| HH:MM | ~Xm | Second topic | spark |
| HH:MM | ongoing | **Now**: Current | complete |
**Noticed**:
- [Pattern - energy/mode]
- [Jump pattern: sparks vs escapes vs completions]
**Status**:
- Energy: [level]
- Loose ends: [unfinished]
- Parked: [topics we'll return to]
**My Read**: [1-2 sentences]
---
**Next?**Jump Types
| Icon | Type | Meaning |
| spark | New idea, exciting | |
| complete | Finished, moving on | |
| return | Coming back to parked | |
| park | Intentional pause | |
| escape | Avoiding difficulty |
Healthy session: Mostly sparks and completes Warning sign: Too many escapes = avoidance pattern
NOW DEEP MODE (/recap --now deep)
Same as --now but adds bigger picture context.
Step 1: Gather (parallel)
1. Current session from AI memory
2. Read latest handoff: ls -t ψ/inbox/handoff/*.md | head -1
3. Git status: git status --short
4. Tracks: cat ψ/inbox/tracks/INDEX.md 2>/dev/nullStep 1.5: VERIFY pending from handoff
Before outputting, run verification checks against each pending item (see "Verify Before Reporting" above). Batch checks in parallel:
gh pr list --state allfor PR claimsls path/to/filefor "copy X" claimsgrepfor "apply pattern" claims
If any diverge from the handoff, show the correction table.
Step 2: Output
Everything from --now, plus:
### Bigger Picture
**Came from**: [Last session/handoff summary - 1 line]
**Working on**: [Current thread/goal]
**Thread**: [Larger pattern this connects to]
### Pending
| Priority | Item | Source |
|----------|------|--------|
| Now | [Current task] | This session |
| Soon | [Next up] | Tracks/discussion |
| Later | [Backlog] | GitHub/tracks |
### Connections
**Pattern**: [What pattern emerged]
**Learning**: [Key insight from session]
**Oracle**: [Related past pattern, if any]
**My Read**: [2-3 sentences - deeper reflection]
**Next action?**Session Context
The recap scripts (recap.ts and recap-rich.ts) auto-detect and display the current session:
📡 Session: 74c32f34 | arra-oracle-skills-cli | 2h 15mDetection: scans ~/.claude/projects/[encoded-pwd]/*.jsonl for the most recent session file, extracts short ID and elapsed time from first timestamp.
If session detection fails, skip silently — it's informational only.
Demographics Context
If CLAUDE.md contains demographics from /awaken wizard v2, include in recap output:
**Oracle**: [name] ([pronouns]) | **Human**: [name] ([pronouns]) | **Language**: [pref]Add this as one line after the timestamp in any mode. If demographics not present, skip silently.
Look for fields in CLAUDE.md: Human Pronouns, Oracle Pronouns, Language, Team, Experience.
Philosophy: Detect reality. Surface blockers. Offer direction. "Not just the clock. The map."
Version: 8.0 (Merged where-we-are into --now mode) Updated: 2026-02-10
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

