Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 17:56:38 +08:00
commit 712abd45e8
19 changed files with 5806 additions and 0 deletions

View File

@@ -0,0 +1,497 @@
---
name: github-issue-tracker
description: Task-level GitHub issue tracking for SpecWeave increments. Provides fine-grained progress tracking via issue comments, task checklists, and labels. Enables team collaboration on individual tasks. Activates for task tracking, GitHub comments, issue updates, task progress, team collaboration, granular tracking.
---
# GitHub Issue Tracker - Task-Level Progress Tracking
**Purpose**: Provide fine-grained task-level visibility in GitHub issues for detailed progress tracking and team collaboration.
**When to Use**:
- Detailed progress tracking (per-task updates)
- Team collaboration on specific tasks
- Task assignments via GitHub
- Blocking issue tracking
- Task-level comments and discussions
**Integration**: Works with `github-sync` skill and `/specweave:github:*` commands
---
## How Task Tracking Works
### 1. Task Checklist in GitHub Issue
When creating an increment issue, automatically add task checklist:
```markdown
## Tasks
### Week 1: Foundation (12 tasks)
- [ ] T-001: Create plugin type definitions (6h) @developer1
- [ ] T-002: Create plugin manifest schema (4h) @developer1
- [ ] T-003: Implement PluginLoader (6h) @developer2
- [ ] T-004: Implement PluginManager (8h) @developer2
...
### Week 2: GitHub Plugin (10 tasks)
- [ ] T-013: Create GitHub plugin structure (2h)
- [ ] T-014: Implement github-sync skill (8h)
...
```
**Features**:
- Clickable checkboxes (GitHub native)
- Time estimates in parentheses
- Assignees via @mentions
- Organized by phase/week
### 2. Per-Task Comments
After each task completion, post detailed comment:
```markdown
### ✅ Task Completed: T-007
**Title**: Implement Claude plugin installer
**Estimated**: 8h
**Actual**: 7h
**Assignee**: @developer2
**What Changed**:
- Added `compilePlugin()` method to ClaudeAdapter
- Implemented plugin file copying to `.claude/`
- Added unload and status methods
- Updated adapter interface
**Files Modified**:
- `src/adapters/claude/adapter.ts` (+150 lines)
- `src/adapters/adapter-interface.ts` (+35 lines)
**Tests**:
- ✅ Unit tests passing (12 new tests)
- ✅ Integration test: plugin install/uninstall
**Next Task**: T-008 - Implement Cursor plugin compiler
---
**Progress**: 7/48 tasks (15%) | Week 1: 7/12 complete
🤖 Posted by SpecWeave at 2025-10-30 14:30:00
```
**Benefits**:
- Detailed change log per task
- Time tracking (estimated vs actual)
- File change summary
- Test status
- Context for code reviewers
### 3. Task Assignments
Assign tasks to team members via GitHub:
**Method 1: Task checklist with @mentions**
```markdown
- [ ] T-015: Create test suite (8h) @qa-engineer
```
**Method 2: Issue comments**
```
@developer1 Can you take T-003 and T-004 this week?
```
**Method 3: GitHub Projects**
- Drag tasks to columns (To Do, In Progress, Done)
- Auto-sync with increment status
### 4. Blocking Issues
Track dependencies and blockers:
```markdown
### 🚨 Blocked: T-020
**Task**: Implement Kubernetes plugin
**Blocked By**: #127 (Infrastructure setup incomplete)
**Blocking**: T-021, T-022
**Reason**: Need staging cluster before testing K8s plugin
**Resolution**: Wait for #127 to close, then proceed with T-020
---
**ETA**: Blocked since 2025-10-28, expected resolution by 2025-11-01
```
---
## Configuration
Enable task-level tracking in `.specweave/config.yaml`:
```yaml
plugins:
settings:
specweave-github:
# Task-level tracking
task_tracking:
enabled: true
# Post comment after each task
post_task_comments: true
# Update checklist after each task
update_checklist: true
# Include file changes in comments
include_file_changes: true
# Include time tracking
include_time_tracking: true
# Auto-assign tasks based on git author
auto_assign: true
# Blocking issue detection
blocking_issues:
enabled: true
# Check for blocking keywords in task descriptions
keywords: ["blocked by", "depends on", "requires"]
```
---
## Commands
### Check Task Status
```bash
/specweave:github:status 0004
```
Output:
```
GitHub Issue: #130
Status: Open (In Progress)
Tasks: 7/48 completed (15%)
Week 1: Foundation
✅ T-001: Create plugin types (Done)
✅ T-002: Create manifest schema (Done)
✅ T-003: Implement PluginLoader (Done)
✅ T-004: Implement PluginManager (Done)
✅ T-005: Implement PluginDetector (Done)
✅ T-006: Update adapter interface (Done)
✅ T-007: Implement Claude installer (Done)
⏳ T-008: Implement Cursor compiler (In Progress)
⏸️ T-009: Implement Copilot compiler (Pending)
```
### Sync Task Checklist
```bash
/specweave:github:sync 0004 --tasks
```
Updates GitHub issue checklist to match current increment progress.
### Comment on Task
```bash
/specweave:github:comment 0004 T-008 "Cursor adapter completed, moving to testing phase"
```
Posts custom comment to GitHub issue for specific task.
---
## GitHub Labels for Tasks
Automatically apply labels based on task status:
| Label | When Applied | Purpose |
|-------|--------------|---------|
| `in-progress` | First task starts | Increment is actively being worked on |
| `testing` | Implementation tasks done | Ready for QA |
| `blocked` | Task marked as blocked | Needs attention |
| `review-requested` | PR created | Code review needed |
| `ready-for-merge` | Review approved | Can be merged |
---
## Team Collaboration Patterns
### Pattern 1: Daily Standups via GitHub
Team members comment on tasks with daily updates:
```markdown
**@developer1** on T-008:
Yesterday: Implemented Cursor adapter skeleton
Today: Adding plugin compilation logic
Blockers: None
**@developer2** on T-014:
Yesterday: Created github-sync skill
Today: Testing sync workflow
Blockers: Waiting for #130 review
```
### Pattern 2: Code Review Integration
Link PRs to tasks:
```markdown
### T-007: Claude plugin installer
**PR**: #45
**Status**: Ready for review
**Reviewers**: @tech-lead, @architect
**Changes**:
- Implemented plugin support in Claude adapter
- Added comprehensive tests
- Updated documentation
**Review Checklist**:
- [ ] Code quality (clean, readable)
- [ ] Test coverage (80%+)
- [ ] Documentation updated
- [ ] No security issues
```
### Pattern 3: Task Handoff
Transfer task ownership:
```markdown
@developer1@developer2 (T-015)
**Context**:
- Tests framework configured
- Need to write E2E tests for plugin system
- Reference: T-007 implementation
**Handoff Notes**:
- Use Playwright for E2E tests
- Cover happy path + error scenarios
- See `.specweave/increments/0004/tests.md` for test cases
```
---
## Time Tracking
### Automatic Time Tracking
Track time spent on tasks:
```yaml
# .specweave/increments/0004-plugin-architecture/.metadata.yaml
tasks:
T-007:
estimated_hours: 8
actual_hours: 7
started_at: 2025-10-30T10:00:00Z
completed_at: 2025-10-30T17:00:00Z
assignee: developer2
```
### Time Reports
Generate time reports:
```bash
/specweave:github:time-report 0004
```
Output:
```
Time Report: Increment 0004
Estimated: 240 hours (6 weeks)
Actual: 56 hours (1.4 weeks)
Remaining: 184 hours (4.6 weeks)
By Developer:
- developer1: 24h (5 tasks)
- developer2: 32h (2 tasks)
By Phase:
- Week 1 Foundation: 56h / 96h (58%)
- Week 2 GitHub Plugin: 0h / 80h (0%)
- Week 3 Plugins: 0h / 120h (0%)
- Week 4 Docs: 0h / 88h (0%)
Pace: On track (4% ahead of schedule)
```
---
## GitHub Projects Integration
### Automated Kanban Board
Sync increment tasks with GitHub Projects:
**Board Columns**:
1. **Backlog**: Pending tasks
2. **Ready**: Tasks ready to start
3. **In Progress**: Currently being worked on
4. **Review**: PRs open, needs review
5. **Done**: Completed tasks
**Auto-Move Rules**:
- Task starts → Move to "In Progress"
- PR created → Move to "Review"
- PR merged → Move to "Done"
### Milestone Tracking
Link increments to GitHub Milestones:
```yaml
# .specweave/config.yaml
plugins:
settings:
specweave-github:
milestones:
"v0.4.0":
increments:
- 0004-plugin-architecture
- 0005-user-authentication
due_date: 2025-11-30
```
GitHub Milestone view shows progress across multiple increments.
---
## Advanced Features
### Task Dependencies
Define task dependencies in `tasks.md`:
```markdown
### T-008: Implement Cursor compiler
**Dependencies**: T-006, T-007
**Blocks**: T-011, T-012
**Description**: ...
```
SpecWeave enforces dependency order and warns if attempting blocked task.
### Subtasks
Break complex tasks into subtasks:
```markdown
### T-014: Implement github-sync skill (8h)
**Subtasks**:
- [ ] T-014.1: Create SKILL.md (1h)
- [ ] T-014.2: Implement export (increment → issue) (3h)
- [ ] T-014.3: Implement import (issue → increment) (2h)
- [ ] T-014.4: Add progress updates (1h)
- [ ] T-014.5: Write tests (1h)
```
Subtasks appear as nested checkboxes in GitHub issue.
### External Issue Links
Reference external blocking issues:
```markdown
### T-020: Kubernetes plugin
**Blocked By**:
- #127 (this repo): Infrastructure setup
- https://github.com/kubernetes/kubernetes/issues/12345: K8s API bug
**Resolution Plan**:
1. Wait for #127 (ETA: 2025-11-01)
2. Work around K8s bug using alternative API
```
---
## Notifications
### Task Assignment Notifications
GitHub automatically notifies assignees:
```
@developer1 you were assigned T-015 in #130
```
### Blocking Notifications
Notify blocked task assignees when blocker resolves:
```
@developer2 Task T-020 is unblocked (#127 was closed)
```
### Deadline Reminders
Warn when tasks are behind schedule:
```
⚠️ T-008 is 2 days overdue (estimated: 2 days, actual: 4 days)
```
---
## Troubleshooting
**Checklist not updating?**
- Verify `update_checklist: true` in config
- Check GitHub API permissions (repo write access)
- Manually sync: `/specweave:github:sync 0004 --tasks`
**Comments not posting?**
- Check `post_task_comments: true`
- Verify GitHub CLI authenticated: `gh auth status`
- Check rate limits: `gh api rate_limit`
**Time tracking inaccurate?**
- Verify task timestamps in `.metadata.yaml`
- Check for manual edits to metadata
- Re-sync: `/specweave:github:sync 0004 --force`
---
## Best Practices
1. **Keep Tasks Atomic**: Each task should be completable in one work session (2-8 hours)
2. **Update Checklists Daily**: Sync progress at least once per day
3. **Use Assignees**: Assign tasks to specific developers for accountability
4. **Track Blockers**: Immediately flag blocking issues for visibility
5. **Link PRs**: Always reference task ID in PR title (`T-007: Add plugin support`)
6. **Comment Context**: Add context comments when handing off tasks
7. **Review Time Estimates**: Adjust estimates based on actual time tracked
---
## Related
- **github-sync**: High-level increment ↔ issue synchronization
- **github-manager agent**: AI agent for GitHub operations
- **Commands**: All `/specweave:github:*` commands
---
**Version**: 1.0.0
**Plugin**: specweave-github
**Last Updated**: 2025-10-30