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>
193 lines
4.4 KiB
Markdown
193 lines
4.4 KiB
Markdown
---
|
|
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 ..."
|
|
)
|
|
```
|