
context-progress
by KevinVitale
Persist your AI agent's session state entirely in git comments 📝🤖
SKILL.md
name: context-progress description: Update the context-progress branch to track project status, completed tasks, and current work using git commit --amend
Update Project Progress
This skill guides you through updating the context-progress branch to reflect current project status.
When to Use
Use this skill when:
- Completing a significant task or milestone
- Starting new work that should be tracked
- Updating project status after a development session
- The user requests to "update progress" or "track status"
Why context-progress Branch?
The context-progress branch uses a unique approach:
- Stable Reference: CLAUDE.md references the branch name, not a commit hash
- Mutable State: Progress changes frequently, so we amend one commit rather than creating many
- No Hash Updates: Avoids needing to update CLAUDE.md constantly
- Clean History: Keeps the main branch clean from progress tracking commits
Auto-Extraction (Recommended)
The auto-extraction feature automatically generates structured progress content from your git history,
inspired by the /compact tool's extraction patterns.
Quick Start
# Preview what will be extracted (no changes made)
~/.claude/plugins/context-commit/hooks/update-progress.sh --preview
# Update with auto-extraction (opens editor for review)
~/.claude/plugins/context-commit/hooks/update-progress.sh
# Update without editor (for CI/automation)
CONTEXT_SKIP_EDIT=1 ~/.claude/plugins/context-commit/hooks/update-progress.sh
What Gets Auto-Extracted
| Category | Description | Source |
|---|---|---|
| Commits | Categorized by type (feature, fix, test, refactor) | git log since last update |
| File Changes | Added, modified, deleted files with stats | git diff --name-status |
| Issues Resolved | Commits containing "fix", "resolve", etc. | Commit message parsing |
| Key References | Functions, classes, structs added | Diff analysis |
Merge Modes
Control how auto-extracted content merges with existing progress:
# Smart merge (default): preserve your manual "In Progress" and "Planned" edits
CONTEXT_MERGE_MODE=smart ./update-progress.sh
# Replace: use only auto-extracted content
CONTEXT_MERGE_MODE=replace ./update-progress.sh
# Append: add auto-extracted as new section
CONTEXT_MERGE_MODE=append ./update-progress.sh
Auto-Extracted Output Format
[CONTEXT] Project Progress
Auto-extracted progress as of 2026-01-12 15:30
## Recent Commits
### Features
- [x] [abc1234] Add user authentication endpoint
- [x] [def5678] Implement dark mode toggle
### Fixes
- [x] [ghi9012] Fix race condition in data loader
### Tests
- [x] [jkl3456] Add unit tests for auth module
## File Changes
M src/auth/login.swift
A src/ui/darkmode.swift
D src/deprecated/oldauth.swift
## Issues Resolved
- [ghi9012] Fix race condition in data loader
## Key Code References
- src/auth/login.swift: func authenticate
- src/ui/darkmode.swift: class ThemeManager
## In Progress
- [ ] (preserved from your previous edits)
## Planned
- [ ] (preserved from your previous edits)
Standalone Extraction
For programmatic use or custom workflows:
# Generate markdown output
~/.claude/plugins/context-commit/hooks/auto-extract-progress.sh markdown
# Generate JSON output
~/.claude/plugins/context-commit/hooks/auto-extract-progress.sh json
Manual Update Workflow
For cases where auto-extraction isn't suitable, use manual methods:
Method 1: Simple Amend (Recommended)
Use this when the context-progress branch is already on the latest work:
# Switch to context-progress branch
git checkout context-progress
# Amend the progress commit with updated status
git commit --amend
# This opens your editor to update the commit message
# Switch back to main working branch
git checkout master # or main
Method 2: Rebase and Amend
Use this when you've made new commits on master that should be included in progress:
# Ensure you're on your working branch (master/main)
git checkout master
# Switch to context-progress
git checkout context-progress
# Rebase onto master to include new work
git rebase master
# Amend the progress commit with updated checklist
git commit --amend
# Switch back to master
git checkout master
Method 3: Force Update from Master
Use this to reset context-progress to current master state, then update progress:
# On master after new work is committed
git checkout master
# Force context-progress to match master
git branch -f context-progress master
# Switch to context-progress
git checkout context-progress
# Amend to update progress
git commit --amend
# Back to master
git checkout master
Progress Commit Structure
The progress commit should follow this template:
[CONTEXT] Project Name Progress
This commit tracks the current state of project development.
## Completed ✓
### Category 1
- [x] Completed task 1
- [x] Completed task 2
- [x] Completed task 3
### Category 2
- [x] Another completed task
- [x] More completed work
## In Progress
- [ ] Current task being worked on
- [ ] Another active task
## Planned
- [ ] Future task 1
- [ ] Future task 2
- [ ] Future enhancement
## Metrics (Optional)
- Test Coverage: 85%
- Performance: 1.2ms average
- Build Status: Passing
---
Update this commit via: git commit --amend
Update from master via: git rebase master && git commit --amend
Best Practices
Checklist Guidelines
- Use Markdown Checkboxes:
- [x]for done,- [ ]for pending - Group by Category: Organize tasks into logical sections
- Be Specific: "Implement user authentication" not just "Auth"
- Include Context: Add enough detail to understand what was done
- Update Regularly: Keep progress current (daily or per session)
What to Track
Completed Section:
- Features implemented
- Bugs fixed
- Tests added
- Documentation written
- Performance improvements
In Progress Section:
- Current active work (1-3 tasks max)
- Blocked tasks with blockers noted
- Tasks started but not finished
Planned Section:
- Next tasks in the queue
- Future features or improvements
- Technical debt items
- Nice-to-have enhancements
What NOT to Track
- Minute-by-minute changes (too granular)
- Temporary debugging steps
- Work-in-progress that's not committed
- Personal notes (use a separate system)
Updating After Completing Tasks
When you complete tasks, follow this flow:
# 1. On master, do your work and commit normally
git add .
git commit -m "Implement feature X"
# 2. Switch to context-progress
git checkout context-progress
# 3. Rebase to include new work
git rebase master
# 4. Amend the progress commit
git commit --amend
# In editor, move completed tasks from "In Progress" to "Completed ✓"
# Add new tasks to "In Progress" or "Planned"
# 5. Back to master
git checkout master
Reading Current Progress
To view current progress without switching branches:
# View the full progress commit
git log context-progress -1 --format=%B
# Or just the commit message
git show context-progress --format=%B --no-patch
Handling Conflicts
If rebase causes conflicts:
# On context-progress branch after rebase conflict
git status # See conflicting files
# Resolve conflicts in files
# Then continue rebase
git add .
git rebase --continue
# Amend progress commit
git commit --amend
Sharing Progress
The context-progress branch can be pushed to share status with team:
# Push progress branch
git push origin context-progress --force
# Force is needed because we amend the commit
# This is safe because context-progress is a tracking branch, not a code branch
Warning: Only force-push the context-progress branch, never main/master!
Integration with Claude Sessions
Claude reads progress automatically:
- CLAUDE.md references
context-progressbranch - On session start, Claude runs
git log context-progress -1 --format=%B - Claude sees current status and completed work
- Can pick up where previous session left off
Example Progress Update Session
# Scenario: Just finished implementing authentication
# 1. Commit the work on master
git add .
git commit -m "Implement JWT authentication with refresh tokens"
# 2. Update progress
git checkout context-progress
git rebase master
git commit --amend
# In the editor, update:
# Move "- [ ] Implement authentication" to Completed ✓ section
# Change to "- [x] Implement JWT authentication with refresh tokens"
# Add "- [ ] Add rate limiting to auth endpoints" to Planned
# 3. Return to master
git checkout master
Troubleshooting
Lost context-progress branch:
# Recreate from master
git checkout -b context-progress master
git commit --allow-empty -m "[CONTEXT] Project Progress
## Completed ✓
(Add items here)
## In Progress
(Add items here)
## Planned
(Add items here)
"
Progress out of sync with master:
# Reset context-progress to master, then amend
git branch -f context-progress master
git checkout context-progress
git commit --amend
Want to keep progress history:
# Don't use context-progress for historical tracking
# Instead, create dated snapshot commits:
git commit --allow-empty -m "[PROGRESS-SNAPSHOT] 2026-01-12 Status
(Copy of progress at this point in time)
"
Summary
- context-progress is a special mutable branch for tracking status
- Use
git commit --amendto update progress without creating new commits - Rebase onto master to include new work before amending
- Keep progress current and organized by category
- Claude automatically reads progress on session start
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です