refactor(projman): extract skills and consolidate commands

Major refactoring of projman plugin architecture:

Skills Extraction (17 new files):
- Extracted reusable knowledge from commands and agents into skills/
- branch-security, dependency-management, git-workflow, input-detection
- issue-conventions, lessons-learned, mcp-tools-reference, planning-workflow
- progress-tracking, repo-validation, review-checklist, runaway-detection
- setup-workflows, sprint-approval, task-sizing, test-standards, wiki-conventions

Command Consolidation (17 → 12 commands):
- /setup: consolidates initial-setup, project-init, project-sync (--full/--quick/--sync)
- /debug: consolidates debug-report, debug-review (report/review modes)
- /test: consolidates test-check, test-gen (run/gen modes)
- /sprint-status: absorbs sprint-diagram via --diagram flag

Architecture Cleanup:
- Remove plugin-level mcp-servers/ symlinks (6 plugins)
- Remove plugin README.md files (12 files, ~2000 lines)
- Update all documentation to reflect new command structure
- Fix documentation drift in CONFIGURATION.md, COMMANDS-CHEATSHEET.md

Commands are now thin dispatchers (~20-50 lines) that reference skills.
Agents reference skills for domain knowledge instead of inline content.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-30 15:02:16 -05:00
parent 8fe685037e
commit 2e65b60725
70 changed files with 3450 additions and 8887 deletions

View File

@@ -0,0 +1,192 @@
---
name: progress-tracking
description: Structured progress comments and status label management
---
# Progress Tracking
## Purpose
Defines structured progress comment format and status label management.
## When to Use
- **Orchestrator agent**: When tracking sprint execution
- **Executor agent**: When posting progress updates
- **Commands**: `/sprint-start`, `/sprint-status`
---
## Status Labels
| Label | Meaning | When to Apply |
|-------|---------|---------------|
| `Status/In-Progress` | Work actively happening | When dispatching task |
| `Status/Blocked` | Cannot proceed | When dependency or blocker found |
| `Status/Failed` | Task failed | When task cannot complete |
| `Status/Deferred` | Moved to future | When deprioritized |
### Rules
- Only ONE Status label at a time
- Remove Status labels when closing successfully
- Always add comment explaining status changes
---
## Applying Status Labels
**When dispatching:**
```python
update_issue(
repo="org/repo",
issue_number=45,
labels=["Status/In-Progress", ...existing_labels]
)
```
**When blocked:**
```python
update_issue(
repo="org/repo",
issue_number=46,
labels=["Status/Blocked", ...labels_without_in_progress]
)
add_comment(repo="org/repo", number=46, body="🚫 BLOCKED: Waiting for #45")
```
**When failed:**
```python
update_issue(
repo="org/repo",
issue_number=47,
labels=["Status/Failed", ...labels_without_in_progress]
)
add_comment(repo="org/repo", number=47, body="❌ FAILED: [Error description]")
```
**On successful close:**
```python
update_issue(
repo="org/repo",
issue_number=45,
state="closed",
labels=[...labels_without_status] # Remove all Status/* labels
)
```
---
## Structured Progress Comment Format
```markdown
## Progress Update
**Status:** In Progress | Blocked | Failed
**Phase:** [current phase name]
**Tool Calls:** X (budget: Y)
### Completed
- [x] Step 1
- [x] Step 2
### In Progress
- [ ] Current step (estimated: Z more calls)
### Blockers
- None | [blocker description]
### Next
- What happens after current step
```
---
## When to Post Progress Comments
- After completing each major phase (every 20-30 tool calls)
- When status changes (blocked, failed)
- When encountering unexpected issues
- Before approaching tool call budget limit
---
## Checkpoint Format (Resume Support)
For resume support, save checkpoints after major steps:
```markdown
## Checkpoint
**Branch:** feat/45-jwt-service
**Commit:** abc123
**Phase:** Testing
**Tool Calls:** 67
### Completed Steps
- [x] Created auth/jwt_service.py
- [x] Implemented generate_token()
- [x] Implemented verify_token()
### Pending Steps
- [ ] Write unit tests
- [ ] Add refresh logic
- [ ] Commit and push
### Files Modified
- auth/jwt_service.py (new)
- auth/__init__.py (modified)
```
---
## Sprint Progress Display
```
┌─ Sprint Progress ────────────────────────────────────────────────┐
│ Sprint 18 - User Authentication │
│ ████████████░░░░░░░░░░░░░░░░░░ 40% complete │
│ ✅ Done: 4 ⏳ Active: 2 ⬚ Pending: 4 │
│ Current: │
│ #45 ⏳ Implement JWT service │
│ #46 ⏳ Build login endpoint │
└──────────────────────────────────────────────────────────────────┘
```
### Progress Bar Calculation
- Width: 30 characters
- Filled: `█` (completed percentage)
- Empty: `░` (remaining percentage)
- Formula: `(closed_issues / total_issues) * 30`
---
## Parallel Execution Status
```
Parallel Execution Status:
Batch 1:
✅ #45 - JWT service - COMPLETED (12:45)
🔄 #48 - API docs - IN PROGRESS (75%)
Batch 2 (now unblocked):
⏳ #46 - Login endpoint - READY TO START
⏳ #49 - Auth tests - READY TO START
#45 completed! #46 and #49 are now unblocked.
```
---
## Auto-Check Subtasks on Close
When closing an issue, update unchecked subtasks in body:
```python
# Change - [ ] to - [x] for completed items
update_issue(
repo="org/repo",
issue_number=45,
body="... - [x] Completed subtask ..."
)
```