Loading...
Loading...
Manages a GitHub Project board + Issues as the source of truth for product backlog, tasks, stories, and bugs. Provides three flows: bootstrap (/track-init), track (/track), and query (/backlog). Uses gh CLI for project operations and MCP tools for issue creation. Trigger: /track-init, /track <description>, /backlog, "qué tenemos pendiente?", "what's pending?", "acordate que hay que...", "remember to...", or when SDD generates tasks via sdd-tasks.
npx skill4agent add fearovex/claude-config project-tracking/track-init/track <description>/backlogsdd-tasks# Detect owner/repo from git remote
git remote get-url origin
# Parse: https://github.com/owner/repo.git → owner=owner, repo=repo
# Parse: git@github.com:owner/repo.git → samemem_searchtracking/{repo-name}/configmem_get_observation/track-init/track-initgh project list --owner owner --limit 1 2>&1Your token does not support GitHub Projects V2 for personal accounts.
Please create the board manually (takes 30 seconds):
1. Go to https://github.com/users/{owner}/projects → "New Project"
2. Choose "Board" layout
3. Name it "{repo-name} Board"
4. Add these custom fields (Single Select):
- Status: Backlog, Todo, In Progress, Review, Done
- Priority: P0-Critical, P1-High, P2-Medium, P3-Low
- Type: Epic, Feature, Bug, Chore
5. Tell me the project number (visible in the URL: /projects/N)
I'll handle the rest — labels, capturing IDs, and saving the config.# Create project linked to the repo
gh project create --owner owner --title "{repo-name} Board" --format json
# Capture: .number → project_number# Status field (single select)
gh project field-create {project_number} --owner owner \
--name "Status" --data-type "SINGLE_SELECT" \
--single-select-options "Backlog,Todo,In Progress,Review,Done"
# Priority field (single select)
gh project field-create {project_number} --owner owner \
--name "Priority" --data-type "SINGLE_SELECT" \
--single-select-options "P0-Critical,P1-High,P2-Medium,P3-Low"
# Type field (single select)
gh project field-create {project_number} --owner owner \
--name "Type" --data-type "SINGLE_SELECT" \
--single-select-options "Epic,Feature,Bug,Chore"# Type labels
gh label create "type/epic" --color "6e40c9" --description "Epic" --repo owner/repo
gh label create "type/feature" --color "0075ca" --description "Feature" --repo owner/repo
gh label create "type/bug" --color "d73a4a" --description "Bug" --repo owner/repo
gh label create "type/chore" --color "e4e669" --description "Chore" --repo owner/repo
# Priority labels
gh label create "priority/high" --color "b60205" --description "P1 High" --repo owner/repo
gh label create "priority/medium" --color "fbca04" --description "P2 Medium" --repo owner/repo
gh label create "priority/low" --color "0e8a16" --description "P3 Low" --repo owner/repo
# Status labels
gh label create "status/backlog" --color "ededed" --description "In backlog" --repo owner/repo
gh label create "status/in-progress" --color "0052cc" --description "In progress" --repo owner/repo
gh label create "status/review" --color "e99695" --description "In review" --repo owner/repo
gh label create "status/done" --color "cfd3d7" --description "Done" --repo owner/repogh label creategh project field-list {project_number} --owner owner --format jsonstatus_field_idpriority_field_idtype_field_idgh project item-editmem_savetracking/{repo-name}/config| Situation | Behavior |
|---|---|
| Create issue immediately, no confirmation |
| Create all, show list, ask confirmation before executing |
| Propose creating one issue per task, ask confirmation |
| User mentions future work ("habría que...", "falta...", "después hay que...") | Collect internally. At session end propose: "Detected N trackable items: [list]. Create as issues?" |
| "acordate que hay que..." / "remember to..." | Propose creating an issue immediately |
| Bug found during implementation | Propose creating issue with |
gh issue list --repo owner/repo --search "{title keywords}" --json number,titlemcp__github__create_issueownerrepotitletype: descriptionfeat: add OAuthfix: email validationbodylabels["type/feature", "priority/medium", "status/backlog"]## Description
{description}
## Context
- Source: {how this was identified — user request, SDD task, conversation, bug found}
- Session: {date}
- Related: {any related issues or PRs, if known}
## Acceptance Criteria
- [ ] {criterion 1}
- [ ] {criterion 2}gh project item-add {project_number} --owner owner \
--url https://github.com/owner/repo/issues/{issue_number} \
--format json
# Capture: .id → item_idtracking/{repo-name}/configgh project field-list {project_number} --owner owner --format json# Set Status
gh project item-edit --project-id {project_number} --owner owner \
--id {item_id} \
--field-id {status_field_id} \
--single-select-option-id {status_option_id}
# Set Priority
gh project item-edit --project-id {project_number} --owner owner \
--id {item_id} \
--field-id {priority_field_id} \
--single-select-option-id {priority_option_id}
# Set Type
gh project item-edit --project-id {project_number} --owner owner \
--id {item_id} \
--field-id {type_field_id} \
--single-select-option-id {type_option_id}Created #14: feat: add OAuth with Google — added to board as Backlog/P1-High [Feature]/backloggh project item-list {project_number} --owner owner --format json --limit 100## Project Board: {project-name}
### In Progress (2)
- #14 feat: OAuth with Google [P1-High]
- #12 fix: Email validation [P0-Critical]
### Review (1)
- #13 feat: User profile page [P1-High]
### Backlog (3)
- #15 feat: Dashboard redesign [P2-Medium]
- #16 chore: Update dependencies [P3-Low]
- #17 feat: Export to PDF [P2-Medium]
### Done (last 5)
- #11 fix: Login redirect loop [P1-High]| Command | Filter applied |
|---|---|
| Only items with Type = Bug |
| Only items with Priority = P0-Critical or P1-High |
| Only items with Status = In Progress |
| Only items with Status = Todo |
| Only items with Status = Review |
# Manual trigger
/track move #14 in-progress
/track move #14 review
/track move #14 done
# Underlying command
gh project item-edit --project-id {project_number} --owner owner \
--id {item_id} \
--field-id {status_field_id} \
--single-select-option-id {in_progress_option_id}branch-prgh issue list --searchtype: descriptionfeat: add OAuthfix: email validation/type/featurepriority/highstatus/backlog/track-initgh label createtopic_key: tracking/{repo-name}/configgh project item-editgh project field-listmcp__github__create_issuegh/track-init