docs: add finish-up skill design document
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
61
docs/plans/2026-02-23-finish-up-skill-design.md
Normal file
61
docs/plans/2026-02-23-finish-up-skill-design.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# /finish-up Skill Design
|
||||
|
||||
**Date:** 2026-02-23
|
||||
|
||||
## Purpose
|
||||
|
||||
A Claude Code slash command (`/finish-up`) that scans git projects for uncommitted changes and unpushed commits, reports findings, then autonomously commits and pushes selected projects via parallel subagents.
|
||||
|
||||
## Behavior
|
||||
|
||||
### Context Detection
|
||||
|
||||
- If CWD is `C:\Users\aisaacs\Desktop\Projects` (or not inside a git repo), scan all subdirectories
|
||||
- If CWD is inside a specific project, scan just that project
|
||||
|
||||
### Phase 1 - Scan
|
||||
|
||||
Run a `git-status-check.sh` script from the Projects directory that:
|
||||
- Checks each git repo for uncommitted changes (`git status --porcelain`)
|
||||
- Checks for unpushed commits (`git log @{u}..HEAD --oneline`)
|
||||
- Outputs structured results (project name, has uncommitted, has unpushed, file count, commit count)
|
||||
|
||||
This replaces the existing `check_uncommitted.py` with a bash script that also covers unpushed commits.
|
||||
|
||||
### Phase 2 - Report
|
||||
|
||||
Present findings as a summary:
|
||||
- Projects with uncommitted changes (file counts)
|
||||
- Projects with unpushed commits (commit counts)
|
||||
- Clean projects (brief list)
|
||||
- If everything clean, say so and exit
|
||||
|
||||
### Phase 3 - Confirm
|
||||
|
||||
Ask which projects to process (default: all that need attention).
|
||||
|
||||
### Phase 4 - Parallel Subagents
|
||||
|
||||
Spawn a Bash subagent per selected project. Each autonomously:
|
||||
1. Stages all changes (`git add -A`)
|
||||
2. Reviews the diff (`git diff --cached`)
|
||||
3. Crafts a conventional commit message based on the changes
|
||||
4. Commits
|
||||
5. Pushes to remote (with retry for Gitea cold-start)
|
||||
|
||||
### Phase 5 - Summary
|
||||
|
||||
Report what was committed and pushed across all projects.
|
||||
|
||||
## Files
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `~/.claude/commands/finish-up.md` | Claude Code skill file |
|
||||
| `~/Desktop/Projects/project-scripts/git-status-check.sh` | Scan script (replaces check_uncommitted.py) |
|
||||
|
||||
## Commit Message Style
|
||||
|
||||
Subagents craft conventional commit messages (feat/fix/chore/refactor/docs/etc.) with:
|
||||
- Short summary line
|
||||
- Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
||||
Reference in New Issue
Block a user