Skill v1.0.1
currentAutomated scan100/100+3 new
version: "1.0.1" name: xray description: X-ray deep scan — inspect Claude Code auto-memory, installed skills, or session history. Use when user says "xray", "x-ray", "memory", "scan memory", "what do you remember", "show memories", "memory stats", "forget", "list skills", "installed skills", "session history", or wants to inspect what the AI remembers across sessions. Do NOT trigger for Oracle vault/ψ (use /trace) or session handoffs (use /inbox). argument-hint: "[memory|skills|sessions]" zombie: true metadata: internal: true
/xray - X-Ray Deep Scan
Inspect and manage Claude Code auto-memory, installed skills, and session history.
Step 0 — Anchor (date-stamp + root)
date "+🕐 %H:%M %Z (%A %d %B %Y)"# Find oracle root — git toplevel that has CLAUDE.md + ψ/ORACLE_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)if [ -n "$ORACLE_ROOT" ] && [ -f "$ORACLE_ROOT/CLAUDE.md" ] && { [ -d "$ORACLE_ROOT/ψ" ] || [ -L "$ORACLE_ROOT/ψ" ]; }; thenPSI="$ORACLE_ROOT/ψ"elif [ -f "$(pwd)/CLAUDE.md" ] && { [ -d "$(pwd)/ψ" ] || [ -L "$(pwd)/ψ" ]; }; thenORACLE_ROOT="$(pwd)"PSI="$ORACLE_ROOT/ψ"elseecho "⚠️ Not in oracle repo (no CLAUDE.md + ψ/ at git root). Reading from pwd."ORACLE_ROOT="$(pwd)"PSI="$ORACLE_ROOT/ψ"fi
Subcommands
| Target | Description | |
|---|---|---|
memory | (default) Scan and manage Claude Code auto-memory | |
skills | List installed skills with profiles and status | |
sessions | Show session history and retrospectives |
Target: memory (default)
Memory Location
ENCODED=$(pwd | sed 's|^/|-|; s|[/.]|-|g')MEMORY_DIR="$HOME/.claude/projects/${ENCODED}/memory"
Usage
/xray # Default: scan memory — list all memories with types/xray memory # Same as above/xray memory scan # Same as above/xray memory read <name> # Read a specific memory file/xray memory stats # Show counts by type, total size, age/xray memory types # Group memories by type/xray memory clean # Find stale/outdated memories/xray memory forget <name># Archive a memory (after confirmation)/xray skills # List installed Oracle skills/xray sessions # Show session history
Mode 1: Scan (default)
List all memory files with type, age, and description.
MEMORY_DIR="$HOME/.claude/projects/$(pwd | sed 's|^/|-|; s|[/.]|-|g')/memory"
Read each .md file (except MEMORY.md), extract frontmatter:
For each file, display:
🧠 Memory Scanner — [project name]Type Name Age Description─────────── ───────────────────────────────── ─────── ────────────────────────feedback never_push_main_skills 2d Always use branch + PRfeedback talk_to_not_oracle_thread 9d Use /talk-to for threadsreference maw_cli 9d maw hey, peek, ls commandsreference pulse_cli 9d board, timeline, scanuser work_patterns 9d maker's schedule, peak hoursTotal: 14 memories (5 feedback, 3 reference, 1 user, 0 project)Index: MEMORY.md (60 lines)
How to parse
For each .md file in MEMORY_DIR (excluding MEMORY.md):
- Read frontmatter between
---markers - Extract
name,description,typefields - Get file age from modification time:
stat -c %Yordate -r - Format age as:
Xd(days),Xh(hours),Xm(minutes)
Sort by type, then by age (newest first).
Mode 2: Read
/xray memory read <name>
Find file matching <name> (partial match OK):
ls "$MEMORY_DIR"/*<name>*.md | head -1
Display full content with frontmatter highlighted.
Mode 3: Stats
/xray memory stats
🧠 Memory Stats — [project name]Memories: 14 filesIndex: MEMORY.md (60 lines)Total size: 12.4 KBOldest: 9 days (reference_maw_cli.md)Newest: 2 days (feedback_never_push_main.md)By type:feedback ████████████ 5 (36%)reference ████████ 3 (21%)user ████ 1 (7%)project ░░░░ 0 (0%)Top keywords: oracle, push, maw, agent, fleet
How to calculate
- Count files by type (from frontmatter)
- Sum file sizes
- Extract keywords: split all description fields into words, count frequency, show top 5
Mode 4: Types
/xray memory types
Group and display memories by type:
🧠 Memory Types📝 feedback (5)- never_push_main_skills — Always use branch + PR- talk_to_not_oracle_thread — Use /talk-to for threads- use_workon_skill — Use skill flow, don't edit directly- worktree_naming — worktree name = repo name- never_maw_done_without_approval — Ask before cleanup📚 reference (3)- maw_cli — maw hey, peek, ls commands- pulse_cli — board, timeline, scan- office_hash_routes — all views, deploy flow👤 user (1)- work_patterns — maker's schedule, peak hours📋 project (0)(none)
Mode 5: Clean
/xray memory clean
Find potentially stale memories:
- Read each memory file
- If
type: referenceand mentions file paths → check if files still exist - If
type: project→ check if still relevant (age > 30 days = likely stale) - Show candidates:
🧹 Memory Clean — candidates⚠️ reference_office_hash_routes.md (9d)Mentions file paths — verify still current✓ All other memories look currentRun '/xray memory forget <name>' to archive a specific memory.Nothing is deleted — archived for history.
NEVER auto-delete. Only suggest. User decides. Stale memories are archived, not deleted.
Mode 6: Forget (Archive)
/xray memory forget <name>
"Nothing is Deleted" — contradicted or stale memories are archived, not destroyed.
- Find the file
- Show its content
- Ask confirmation: "Archive this memory? (yes/no)"
- If yes:
- Create archive dir:
mkdir -p <MEMORY_DIR>/archive/ - Move the file:
mv <MEMORY_DIR>/<file>.md <MEMORY_DIR>/archive/<file>.md - Remove its entry from MEMORY.md
- Confirm: "Archived: <name> → archive/<file>.md"
- If no: "Kept: <name>"
IMPORTANT: Never rm a memory file. Always mv to archive/.
Cross-Project View
If user says /xray memory scan --all or /xray memory stats --all:
ls -d "$HOME/.claude/projects"/*/memory/ 2>/dev/null
Show memory counts per project:
🧠 All ProjectsProject Memories Size──────────────────────────────── ──────── ──────neo-oracle 14 12.4KBarra-oracle-skills-cli 8 6.2KBmaw-js 5 3.1KBoffice-8bit 3 2.0KBTotal: 30 memories across 4 projects
Target: skills
/xray skills
List all installed Oracle skills with their profiles and status.
arra-oracle-skills list -g
Display:
🔬 Installed SkillsSkill Profile Status──────────────────── ─────────── ──────forward seed ✓ installedretrospective seed ✓ installedrrr seed ✓ installedawaken standard ✓ installedtrace standard ✓ installedlearn standard ✓ installedTotal: N skills installedProfile: [seed|standard|full]
How to gather
- Run
arra-oracle-skills list -gto get installed skills - Cross-reference with profiles from
profiles.ts - Show which profile each skill belongs to
Target: sessions
/xray sessions
Show recent Claude Code session history and retrospectives.
- Look for retrospectives in
$PSI/memory/retrospectives/ - Look for session logs in
$PSI/memory/logs/ - Display recent sessions with dates and summaries:
📜 Session HistoryDate Duration Summary──────────── ──────── ────────────────────────────────2026-03-25 45min Built xray skill, updated profiles2026-03-24 30min Fixed awaken language picker2026-03-23 1h20min Refactored profiles systemTotal: N sessions foundSource: ψ/memory/retrospectives/
How to gather
- Read files in
$PSI/memory/retrospectives/sorted by date (newest first) - Extract date, duration, and summary from each retrospective
- If no retrospectives exist, check
$PSI/memory/logs/for session snapshots - Show "No session history found" if both are empty
ARGUMENTS: $ARGUMENTS