--- name: issue-progress-tracking license: MIT compatibility: "Claude Code 2.1.148+." description: "GitHub issue workflow ceremony using gh CLI — labels issues as in-progress, creates feature branches (issue/N-description), commits with issue references, posts progress comments, and links PRs with Closes #N. Keeps issues in sync with development work. Use when starting work on an issue, tracking progress, or completing work with a PR." context: inherit version: 1.0.0 author: OrchestKit tags: [git, github, issues, tracking, workflow] user-invocable: false disable-model-invocation: true allowed-tools: [Bash] complexity: low persuasion-type: discipline effort: low model: haiku metadata: category: workflow-automation --- # Issue Progress Tracking Ceremony guide for tracking GitHub issue progress via `gh` CLI. Ensures issues stay updated as work progresses from start to PR. ## Quick Start ```bash /ork:issue-progress-tracking 123 ``` --- ## Phase 1: Start Work Label the issue and create a feature branch: ```bash # Move issue to in-progress gh issue edit $ARGUMENTS[0] --add-label "status:in-progress" --remove-label "status:todo" gh issue comment $ARGUMENTS[0] --body "Starting work on this issue." # Create feature branch git checkout -b issue/$ARGUMENTS[0]-brief-description ``` **Rules:** - Always branch from the default branch (main/dev) - Branch name format: `issue/-` - Never work directly on main/dev --- ## Phase 2: During Work — Small Commits Commit after each logical step, not at the end. Every commit references the issue: ```bash # Each commit references the issue number git commit -m "feat(#$ARGUMENTS[0]): add user model Co-Authored-By: Claude " ``` **Rules:** - One logical change per commit (atomic) - Reference issue in every commit: `type(#N): description` - Commit early and often — don't accumulate a massive diff --- ## Phase 3: Report Progress (Long Implementations) For multi-step work, post progress updates: ```bash gh issue comment $ARGUMENTS[0] --body "Progress update: - Completed: database schema, API endpoints - In progress: frontend components - Remaining: tests, documentation" ``` **When to post updates:** - After completing a major milestone - When blocked or changing approach - Before stepping away from a long task --- ## Phase 4: Complete Work Create the PR and update labels: ```bash # Create PR that closes the issue gh pr create \ --title "feat(#$ARGUMENTS[0]): brief description" \ --body "Closes #$ARGUMENTS[0] ## Changes - Change 1 - Change 2 ## Test Plan - [ ] Unit tests pass - [ ] Manual verification" # Update issue status gh issue edit $ARGUMENTS[0] --add-label "status:in-review" --remove-label "status:in-progress" ``` --- ## Rules Quick Reference | Rule | Impact | What It Covers | |------|--------|----------------| | [Start Work Ceremony](rules/start-work-ceremony.md) | HIGH | Branch creation, label updates, initial comment | | [Small Commits](rules/small-commits.md) | HIGH | Atomic commits referencing issues | **Total: 2 rules across 2 categories** --- ## Key Decisions | Decision | Choice | Rationale | |----------|--------|-----------| | Label prefix | `status:` | Consistent with GitHub conventions | | Branch format | `issue/-desc` | Links branch to issue automatically | | Commit reference | `type(#N):` | Conventional commits + issue linking | | Progress comments | Manual | Keeps humans in the loop | --- ## Common Mistakes 1. **Starting work without labeling** — team loses visibility into who is working on what 2. **Giant commits at the end** — makes review harder and history useless for bisect 3. **Forgetting to link PR to issue** — issue stays open after merge 4. **Not updating labels on PR creation** — issue shows "in-progress" during review 5. **Closing issues manually with `gh issue close`** — issues are closed ONLY by merging a PR with `Closes #N` in the body. During work, comment progress with `gh issue comment`; never close directly. --- ## Related Skills - `ork:commit` — Commit with conventional format - `ork:fix-issue` — Full issue resolution workflow - `ork:implement` — Feature implementation with parallel agents - `ork:create-pr` — Create pull requests