Skip to content

Batch assigned issues by priority when implement-issue is given no issue - #143

Merged
aoshimash merged 2 commits into
mainfrom
claude/issue-priority-parallel-e647bb
Oct 25, 2026
Merged

aoshimash merged 2 commits into
mainfrom
claude/issue-priority-parallel-e647bb

Conversation

@aoshimash

Copy link
Copy Markdown
Owner

Summary

When implement-issue is invoked with no issue identifier ("issue を実装して", "implement my issues"), it now batch-implements the user's open assigned issues in the repository, ranked by priority, in parallel where the DAG allows. Before, it listed up to 20 open issues (assigned or not) and asked the user to pick one. Naming an issue number still implements that issue alone.

Decisions

  • Priority = label first, then a proposal from content. Labels on one 0–4 scale (P0–P4 and priority:{critical|urgent,high,medium|normal,low}), or a repository-declared priority_labels: scheme. Unlabelled issues rank at the normal level. Ties are ordered by a content-based proposal with a one-line reason per issue, shown in the B1-3 plan for the user to approve or Reorder. Issue number breaks the last tie. Backlog uses its native priority field.
  • The DAG always wins. Ranking orders issues only inside a topological level. A blocker inherits its dependents' highest rank.
  • Parents and hand-worked issues are set aside, not expanded. An assigned parent with open sub-issues is listed under "Not dispatched". So is an assigned issue whose open PR fails the merge gate's E1a/E1b provenance test. Unassigned children are never pulled in.
  • An assigned-issue batch is a manual list downstream (assigned-<login>). Nothing crossing to merge-issue-prs changes.
  • Unattended runs start nothing new, at any count. An assignment is not an approval, and Single mode has no gate of its own.
  • Placement: the policy lives in the new references/priority-order.md, because batch.md was already past ~800 lines. batch.md carries pointers only.

Risk Areas

  • Parallel levels: a whole level is dispatched together, so there the ranking only fixes the listing order. It decides implementation order only in the sequential case. This is stated as a known limit rather than claimed otherwise.
  • One assigned-issue integration batch at a time per user (shared slug). Recorded as a known limit.
  • Backlog commands not run: bee isn't installed here. The flags come from the bee command reference and Backlog's API docs, and are marked as such in platform-backlog.md.

Acceptance Criteria → Evidence

Criterion Evidence
No identifier → assigned issues, priority order, parallel where possible Eval cases 85–86, 89 (desk-checked twice by a separate agent instance; final pass 85–90 all Pass)
Issue number → that issue alone Eval case 88 A
Labels can't decide → order proposed from content priority-order.md P2 step 2; case 85 (real repo with no priority labels)
Documented commands work as written gh "List Assigned Issues", "List Open Issues", and the head-branch PR read were each extracted from the file and run against a real repo. Results are in the evaluation log

Gate Results

  • Spec / quality: a separate agent instance ran 2 rounds. Round 1 found 9 issues (2 High). All were fixed or recorded as known limits. Round 2 passed cases 85–90; its 4 remaining Low/Medium items were fixed.
  • Links: 0 broken across the plugin, README, AGENTS.md and CLAUDE.md.

Changes

  • SKILL.md: description, intro, core principle 7, Phase 0 steps 2–3, Batch Mode summary, reference list
  • references/priority-order.md (new): P1 assigned source, P2 ranking, P3 plan display, known limits
  • references/batch.md: B0 source note, B1-2 step 5, B1-3 plan example and Reorder, B1-4 slug
  • references/batch-reentry.md: artifact table includes the assigned source
  • references/platform-github.md / platform-backlog.md: "List Assigned Issues", complete reads, priority_labels: config example
  • references/eval-cases.md: criteria 50–52, cases 85–90, evaluation log entry
  • README.md: two sentences

🤖 Generated with Claude Code

aoshimash and others added 2 commits October 25, 2026 13:02
…e is named

With no identifier, implement-issue now takes the user's open assigned issues
in the repository as the source instead of asking them to pick one. Parent
issues and issues already worked by hand (an open non-pipeline PR) are set
aside; one remaining issue runs in Single mode, two or more run as a batch
that is a manual list downstream, and an unattended run starts no new work.

Every batch now ranks each DAG level by priority: label on one scale (or a
repository-declared scheme), then an order proposed from the issues' content
for the user to approve, then issue number. A blocker inherits its
dependents' urgency and no rank crosses a dependency edge. The policy lives
in the new references/priority-order.md; batch.md carries pointers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-parallel-e647bb

# Conflicts:
#	plugins/aoshimash-skills/skills/implement-issue/references/eval-cases.md
@aoshimash
aoshimash marked this pull request as ready for review October 25, 2026 06:42
@aoshimash
aoshimash merged commit 7a683e6 into main Oct 25, 2026
2 checks passed
@aoshimash
aoshimash deleted the claude/issue-priority-parallel-e647bb branch October 25, 2026 06:45
github-actions Bot added a commit that referenced this pull request Oct 25, 2026
Bump level: minor — The diff changes the implement-issue skill's description frontmatter and adds priority-ordered batch behavior for assigned issues, plus a new priority-order.md reference, so it alters agent behavior. (PR #143)
aoshimash added a commit that referenced this pull request Oct 25, 2026
Resolve conflicts with #143/#145/#149: keep main's assigned-issue step 2
alongside the Platform Access pointer, apply the neutral PR-creation wording
to both B2-2 items 5 and 6, and renumber this branch's eval additions to
criterion 57 and cases 99–101 after main's 50–56 / 85–98.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant