Files
nixos-configs/home/roles/development/skills/reconcile_beads.md
John Ogle 6441352ed9 feat(skills): Improve parallel beads workflow with in_review status
- Add step to mark beads as 'in_review' after PR creation
- Add PR URL to bead notes for traceability
- Create reconcile_beads skill to close beads when PRs are merged
- Update summary table to show bead status instead of generic status

Implements bead: nixos-configs-85h
2026-01-10 12:38:06 -08:00

2.1 KiB

description
description
Reconcile beads with merged PRs and close completed beads

Reconcile Beads Workflow

This skill reconciles beads that are in in_review status with their corresponding PRs. If a PR has been merged, the bead is closed.

Prerequisites

  • Custom status in_review must be configured: bd config set status.custom "in_review"
  • Beads in in_review status should have a PR URL in their notes

Workflow

Step 1: Find beads in review

bd list --status=in_review

Step 2: For each bead, check PR status

  1. Get the PR URL from bead notes:

    bd show [BEAD_ID] --json | jq -r '.notes'
    

    Extract the PR URL (look for lines starting with "PR:" or containing pull request URLs)

  2. Detect hosting provider:

    • Run git remote get-url origin
    • If URL contains github.com, use gh; otherwise use tea (Gitea/Forgejo)
  3. Check PR status:

    • For GitHub:
      gh pr view [PR_NUMBER] --json state,merged
      
    • For Gitea:
      tea pr view [PR_NUMBER]
      
      Look for "State: merged" or "State: closed"

Step 3: Close merged beads

If the PR is merged:

bd close [BEAD_ID] --reason="PR merged: [PR_URL]"

Step 4: Report summary

Present results:

## Beads Reconciliation Summary

### Closed (PR Merged)
| Bead | PR | Title |
|------|-----|-------|
| beads-abc | #123 | Feature X |
| beads-xyz | #456 | Bug fix Y |

### Still in Review
| Bead | PR | Status | Title |
|------|-----|--------|-------|
| beads-def | #789 | Open | Feature Z |

### Issues Found
- beads-ghi: No PR URL found in notes
- beads-jkl: PR #999 not found (may have been deleted)

Error Handling

  • Missing PR URL: Skip the bead and report it
  • PR not found: Report the error but continue with other beads
  • API errors: Report and continue

Notes

  • This skill complements /parallel_beads which sets beads to in_review status
  • Run this skill periodically or after merging PRs to keep beads in sync
  • Beads with closed (but not merged) PRs are not automatically closed - they may need rework