backlog-management
Backlog Management
Use this skill for batch backlog work, not for deep triage of a single new issue.
Scope
- Open-source repositories only.
- Use public, contributor-friendly language.
- Do not reference internal plans or private project context.
Default Mode
- Work in batches of 25-100 issues.
- Start in read-only mode and propose actions first.
- Apply edits only after approval unless explicitly asked to execute immediately.
Workflow
- Build a candidate batch.
- Assign one primary action per issue.
- Deep-dive only close candidates.
- Draft concise comments where needed.
- Apply approved edits.
- Report outcomes with counts and issue links.
Two-Pass Review Depth
Use two passes by default:
- Pass 1 (sweep): classify quickly across the full batch.
- Pass 2 (dig-in): re-review only
close-not-plannedandclose-duplicatecandidates.
Do not finalize close actions from Pass 1 alone.
For Pass 2, require explicit evidence:
- architecture/status check against current Prefect behavior
- concrete links (issue comments, PRs, release notes, docs, code)
- counterevidence (why issue might still be valid)
- confidence (
low,medium,high)
If evidence is weak or mixed, downgrade close to:
needs:detailsneeds:mrestatus:stalekeep-open
UI replatform exception:
- Prefect currently has both legacy UI code (
ui/) and the React replatform (ui-v2/). - For UI issues that appear tied to legacy UI behavior, do not close based only on age/architecture drift until
ui-v2is GA. - Before proposing close, check whether the reported behavior is represented in
ui/,ui-v2/, or both. - Default action before GA is
keep-open(orstatus:staleonly if explicitly desired by maintainers).
Candidate Queries (PrefectHQ/prefect)
Use focused searches:
gh issue list --repo PrefectHQ/prefect --search "is:open is:issue no:assignee sort:updated-asc" --limit 100
gh issue list --repo PrefectHQ/prefect --search "is:open is:issue label:status:stale sort:updated-asc" --limit 100
gh issue list --repo PrefectHQ/prefect --search "is:open is:issue label:bug -label:needs:mre sort:updated-asc" --limit 100
gh issue list --repo PrefectHQ/prefect --search "is:open is:issue label:needs:details sort:updated-asc" --limit 100
Action Set
Choose exactly one primary action per issue:
keep-open: still actionable, no immediate label change neededneeds:details: missing context blocks progressneeds:mre: bug report lacks minimal reproducible examplestatus:stale: inactive and low-signal, not exemptclose-duplicate: close with canonical issue linkclose-not-planned: close with concise reason when clearly out of scope or no longer actionable
Deep-Dive Output Format
For every close candidate, produce this mini-record before execution:
issue: number + titleclaim_to_verify: why it appears closablecurrent_state_check: does claim still hold today?evidence_links: specific referencescounterevidence: any signal to keep openrecommended_action: final action after deep-diveconfidence: low/medium/high
Real Labels (PrefectHQ/prefect)
Only use labels that exist in this repo. Key labels for backlog work include:
needs:detailsneeds:mrestatus:staleneeds:triagequestionbugenhancementgood first issueblockedstatus:exempt
Verify labels before applying changes:
gh label list --repo PrefectHQ/prefect --limit 30
Comment Templates
Missing details:
Thanks for opening this. We need a bit more detail before we can move this forward:
- expected behavior
- actual behavior
- exact steps to reproduce
Missing MRE:
Thanks for the report. Please share:
1) a minimal reproducible code sample,
2) full traceback/error text,
3) output of `prefect version`.
Duplicate close:
Closing as a duplicate of #<issue-number> so discussion stays in one place.
If this is materially different, tag me and comment with details; we can reopen.
Guardrails
- Do not close issues only because they are old.
- Do not mark as stale when clear maintainer/reporter activity is recent.
- Do not apply conflicting labels.
- Do not over-explain; keep comments short and specific.
- Do not close legacy-UI issues before
ui-v2GA unless there is a strong non-UI reason (for example, duplicate with active canonical issue).
More from prefecthq/prefect
write-docs
Comprehensive guide for writing and updating Prefect documentation. Use when creating new doc pages, updating existing docs, or working with Mintlify components and code example testing.
21agents-md-sync
Analyze code changes on the current branch and recommend updates to AGENTS.md files that have become stale. Use this skill before creating a PR, when the user asks to check AGENTS.md freshness, or when preparing an AGENTS.md update after a PR merges to main. Trigger whenever the user mentions syncing, updating, or checking AGENTS.md files, or when they're about to create a PR that touches code structure (new modules, renamed directories, changed commands, modified architecture).
2document-changes
Analyze source code changes on the current branch and identify documentation that is stale, inaccurate, or missing. Use before creating a PR to check if docs need updating, or in CI after merges to main to automatically fix docs. Trigger when the user mentions "doc changes", "docs update", "check docs", "document changes", or wants to know if code changes affect documentation.
1