| name | task-reconcile |
| description | Close taskwarrior tasks whose linked GitHub issue/PR closed or merged. Use when stale trackers pile up, after a PR-merge sweep, or auditing queue drift. |
| args | [--apply] [--project=<name>] [--all] |
| allowed-tools | Bash(task *), Bash(gh issue *), Bash(gh pr *), Bash(jq *), Bash(bash *), Bash(git rev-parse *), Read, TodoWrite |
| argument-hint | optional --apply to close (default dry-run preview) |
| created | "2026-06-20T00:00:00.000Z" |
| modified | "2026-07-17T00:00:00.000Z" |
| reviewed | "2026-07-02T00:00:00.000Z" |
/taskwarrior:task-reconcile
Close the tasks that have gone stale because the GitHub issue or PR they
mirror has closed or merged. task-status detects this drift; this skill
acts on it, so the queue does not silently fill with trackers for work that
already shipped.
A task is "linked" whether it carries a ghid/ghpr UDA or references an
issue/PR in its description/annotation text (a #N, an owner/repo#N, or a
github.com/owner/repo/(issues|pull)/N URL) — so tasks filed with a plain
#N in the description are reconciled too, and a cross-repo owner/repo#N is
checked against that repo, not the current one.
When to Use This Skill
| Use this skill when... | Use a sibling skill instead when... |
|---|
Stale tasks (ghid/ghpr UDA or a #N/owner/repo#N/URL in the description) have piled up after issues/PRs closed | Auditing queue health without mutating it — use task-status |
| Sweeping the queue after a batch of PRs merged | Closing one specific task by ID with a landing commit — use task-done |
| Reconciling the local queue against GitHub as the source of record | Filing a new linked task — use task-add |
Context
- Task CLI available: !
task --version
- Git repo detected: !
find . -maxdepth 1 -name '.git' -print -quit
- GH auth: !
gh auth status
GitHub-mode and project resolution run in the body (Step 1) via the bundled
scripts, where stderr suppression and exit-code handling are available — git /
gh probes in a Context backtick abort the skill in a no-git/no-remote cwd.
Parameters
Parse $ARGUMENTS:
--apply — perform the close. Without it the skill runs a dry-run preview
first, then asks once before closing.
--project=<name> — override the auto-detected project filter.
--all — reconcile across every project (rare; usually you want one repo).