Catch-Up: Complete Repository Context
Bismillah! Let me show you where we are and what we just did.
Implementation Steps
Let me gather complete context for you:
Extract Mission & Purpose
- Read the project context file —
AGENTS.md (or CLAUDE.md, CC's legacy name) — first, for Repository Overview and Tech Stack
- Fallback to README.md if no context file exists
- Parse mission statement (why this repo exists)
- Extract tech stack with reasons (how we achieve the mission)
Show Current State
- Current branch and tracking status
- Working tree status (clean/dirty)
- Staged/unstaged file counts
Display Recent Activity (Last 5 Commits)
- Commit hash, message, and time
- Show commit graph for visual context
Analyze Uncommitted Files (Smart Detection)
- For each uncommitted file:
- Detect if it's auto-generated (lock files, build artifacts)
- Check for WIP indicators (TODO, FIXME, console.log, commented code)
- Analyze change size and nature (new file vs modified)
- Categorize as:
- ✅ Forgotten Commits: Complete work ready to commit
- 🚧 Work in Progress: Unfinished work with WIP indicators
- 📦 Generated Files: Auto-generated (lockfiles, builds)
- ⚠️ Should be Ignored: Belongs in .gitignore
Provide Concise Summary
- Quick overview of repo mission
- Current status (clean/dirty)
- Action items based on uncommitted file analysis
Extraction Logic
Mission & Purpose
- Check the context file (AGENTS.md) for these sections:
## Repository Overview
## Architecture and Structure
## Technology Stack
- If not found, check README.md:
- First paragraph after title
- Features/Goals section
- Tech Stack section
- If no docs found: Infer from file structure and suggest creating an
AGENTS.md (try the workspace-init-agents skill)
Smart File Analysis Patterns
Auto-generated files:
*lock.json, *.lock, Cargo.lock, Gemfile.lock, poetry.lock
package-lock.json, yarn.lock, pnpm-lock.yaml
dist/, build/, target/, .next/, .nuxt/
.DS_Store, Thumbs.db
WIP Indicators:
- Comments:
TODO, FIXME, HACK, XXX, WIP, NOTE
- Debug code:
console.log, print(, debugger, dd(
- Commented-out code blocks (>3 lines)
- Incomplete functions (missing return statements, empty blocks)
Config changes (likely forgotten commits):
- Small modifications (<20 lines) to
.json, .yaml, .toml, .conf
- Version bumps in package.json
- Dependency updates without other changes
Should be ignored:
.env, .env.local, .env.*.local
.cache, tmp/, temp/, .tmp/
- IDE files:
.idea/, .vscode/, *.swp
- OS files:
.DS_Store, Thumbs.db
Output Format
═══════════════════════════════════════════════════════
📍 CATCH-UP: [repo name]
═══════════════════════════════════════════════════════
🎯 MISSION & PURPOSE
[2-3 sentence summary from docs]
Goal: [Primary objective]
Key Benefit: [Main value proposition]
🛠️ TECH STACK & APPROACH
• [Tool/Framework]
Why: [Reason for choosing this]
• [Tool/Framework]
Why: [Reason for choosing this]
[Max 4-5 key technologies]
🌿 CURRENT STATE
Branch: [branch-name] ([X files modified, Y untracked])
Last activity: [time since last commit]
📝 RECENT ACTIVITY (Last 5 commits)
[hash] [message]
[hash] [message]
[hash] [message]
[hash] [message]
[hash] [message]
⚠️ UNCOMMITTED CHANGES ([X files])
[If no uncommitted files:]
✅ Working tree is clean - no uncommitted changes
[If uncommitted files exist, categorize:]
Forgotten Commits ([count]):
✅ [file-path] ([+lines/-lines])
→ [Analysis: why it's a forgotten commit]
Work in Progress ([count]):
🚧 [file-path] ([+lines/-lines])
→ [Analysis: what's incomplete, found WIP indicators]
Generated Files ([count]):
📦 [file-path] ([+lines/-lines])
→ [Type of generated file, e.g., lockfile, build artifact]
Should be Ignored ([count]):
⚠️ [file-path]
→ [Reason it should be in .gitignore]
💡 SUMMARY
Mission: [One-line mission statement]
Status: [Clean/Active development/Pending commits]
Action: [Specific next steps based on analysis]
Usage Examples
# Get complete context when returning to a project
Invoke with: workspace-catch-up
# Use when:
# - You just opened the project after time away
# - You forgot what you were working on
# - You need to understand the repo quickly
# - You want to check if you forgot to commit something
Error Handling
- If not in a git repository: "Not a git repository. Run this command from a git repo."
- If neither a context file (AGENTS.md) nor README.md exists: Show inference + suggest creating docs
- If no commits exist: "New repository with no commits yet"
- If git commands fail: Show clear error message with suggested fix
Alhamdulillah! This command provides complete context restoration in a concise, scannable format.
1---2name: workspace-catch-up3description: Show repo mission, tech stack, current state, last 5 commits, and analyze uncommitted files4---56# Catch-Up: Complete Repository Context78Bismillah! Let me show you where we are and what we just did.910## Implementation Steps1112Let me gather complete context for you:13141. **Extract Mission & Purpose**15 - Read the project context file — `AGENTS.md` (or `CLAUDE.md`, CC's legacy name) — first, for Repository Overview and Tech Stack16 - Fallback to README.md if no context file exists17 - Parse mission statement (why this repo exists)18 - Extract tech stack with reasons (how we achieve the mission)19202. **Show Current State**21 - Current branch and tracking status22 - Working tree status (clean/dirty)23 - Staged/unstaged file counts24253. **Display Recent Activity (Last 5 Commits)**26 - Commit hash, message, and time27 - Show commit graph for visual context28294. **Analyze Uncommitted Files (Smart Detection)**30 - For each uncommitted file:31 - Detect if it's auto-generated (lock files, build artifacts)32 - Check for WIP indicators (TODO, FIXME, console.log, commented code)33 - Analyze change size and nature (new file vs modified)34 - Categorize as:35 - ✅ **Forgotten Commits**: Complete work ready to commit36 - 🚧 **Work in Progress**: Unfinished work with WIP indicators37 - 📦 **Generated Files**: Auto-generated (lockfiles, builds)38 - ⚠️ **Should be Ignored**: Belongs in .gitignore39405. **Provide Concise Summary**41 - Quick overview of repo mission42 - Current status (clean/dirty)43 - Action items based on uncommitted file analysis4445## Extraction Logic4647### Mission & Purpose48- Check the context file (AGENTS.md) for these sections:49 - `## Repository Overview`50 - `## Architecture and Structure`51 - `## Technology Stack`52- If not found, check README.md:53 - First paragraph after title54 - Features/Goals section55 - Tech Stack section56- If no docs found: Infer from file structure and suggest creating an `AGENTS.md` (try the `workspace-init-agents` skill)5758### Smart File Analysis Patterns5960**Auto-generated files:**61- `*lock.json`, `*.lock`, `Cargo.lock`, `Gemfile.lock`, `poetry.lock`62- `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`63- `dist/`, `build/`, `target/`, `.next/`, `.nuxt/`64- `.DS_Store`, `Thumbs.db`6566**WIP Indicators:**67- Comments: `TODO`, `FIXME`, `HACK`, `XXX`, `WIP`, `NOTE`68- Debug code: `console.log`, `print(`, `debugger`, `dd(`69- Commented-out code blocks (>3 lines)70- Incomplete functions (missing return statements, empty blocks)7172**Config changes (likely forgotten commits):**73- Small modifications (<20 lines) to `.json`, `.yaml`, `.toml`, `.conf`74- Version bumps in package.json75- Dependency updates without other changes7677**Should be ignored:**78- `.env`, `.env.local`, `.env.*.local`79- `.cache`, `tmp/`, `temp/`, `.tmp/`80- IDE files: `.idea/`, `.vscode/`, `*.swp`81- OS files: `.DS_Store`, `Thumbs.db`8283## Output Format8485```86═══════════════════════════════════════════════════════87📍 CATCH-UP: [repo name]88═══════════════════════════════════════════════════════8990🎯 MISSION & PURPOSE91 [2-3 sentence summary from docs]9293 Goal: [Primary objective]9495 Key Benefit: [Main value proposition]9697🛠️ TECH STACK & APPROACH98 • [Tool/Framework]99 Why: [Reason for choosing this]100101 • [Tool/Framework]102 Why: [Reason for choosing this]103104 [Max 4-5 key technologies]105106🌿 CURRENT STATE107 Branch: [branch-name] ([X files modified, Y untracked])108 Last activity: [time since last commit]109110📝 RECENT ACTIVITY (Last 5 commits)111 [hash] [message]112 [hash] [message]113 [hash] [message]114 [hash] [message]115 [hash] [message]116117⚠️ UNCOMMITTED CHANGES ([X files])118119 [If no uncommitted files:]120 ✅ Working tree is clean - no uncommitted changes121122 [If uncommitted files exist, categorize:]123124 Forgotten Commits ([count]):125 ✅ [file-path] ([+lines/-lines])126 → [Analysis: why it's a forgotten commit]127128 Work in Progress ([count]):129 🚧 [file-path] ([+lines/-lines])130 → [Analysis: what's incomplete, found WIP indicators]131132 Generated Files ([count]):133 📦 [file-path] ([+lines/-lines])134 → [Type of generated file, e.g., lockfile, build artifact]135136 Should be Ignored ([count]):137 ⚠️ [file-path]138 → [Reason it should be in .gitignore]139140💡 SUMMARY141 Mission: [One-line mission statement]142 Status: [Clean/Active development/Pending commits]143 Action: [Specific next steps based on analysis]144```145146## Usage Examples147148```bash149# Get complete context when returning to a project150Invoke with: workspace-catch-up151152# Use when:153# - You just opened the project after time away154# - You forgot what you were working on155# - You need to understand the repo quickly156# - You want to check if you forgot to commit something157```158159## Error Handling160161- If not in a git repository: "Not a git repository. Run this command from a git repo."162- If neither a context file (AGENTS.md) nor README.md exists: Show inference + suggest creating docs163- If no commits exist: "New repository with no commits yet"164- If git commands fail: Show clear error message with suggested fix165166---167168Alhamdulillah! This command provides complete context restoration in a concise, scannable format.