Skip to content

pr-flow: make the In Progress / In Review card moves part of each step's commands, with a check #2470

Description

@cliffhall

Problem

Agents following /pr-flow keep skipping the board Status moves. Step 1 asks for two actions, but only one of them comes with a command:

Assign the issue to yourself, then move its card to In Progress (/board-ops). …

gh issue edit <N> --repo modelcontextprotocol/inspector --add-assignee @me

An agent runs the command in the code block and reads the rest of the paragraph as background. The card move is the second half of a sentence that's mostly about why to assign. Doing it means loading a second skill (/board-ops) and assembling its issue-side lookup and item-edit by hand. Nothing in the step says it's unfinished until the card has moved, so the agent goes on to branch and write code with the card still in Todo.

Step 6 has the same shape: "Move the card to In Review, then go straight to step 7." It's a trailing sentence with no command, placed right before the heavily emphasized step 7.

Seen on #2407 (2026-09-23): the issue was assigned in the same command that created the worktree, and the card stayed in Todo until the user asked about it. The maintainer reports other agents skipping this step too.

Proposed fix (docs-only, .claude/skills/pr-flow/SKILL.md)

  1. Put the card move in step 1's code block, right after the assignment, so running the step does both. Don't copy option IDs from /board-ops, since AGENTS.md allows one copy of each ID. Look the option up by name when the command runs (gh project field-list 28 … | jq '… select(.name=="Status") | .options[] | select(.name=="In Progress") | .id') and find the card through issue.projectItems, as board-ops does. No option ID is duplicated, and an option recreated after a deletion still works.
  2. End the block with a check that prints the card's Status (fieldValueByName(name:"Status") over issue.projectItems), the same idea as step 6's closingIssuesReferences check. The step is done only when it prints In Progress.
  3. Give the rule its own bold line, like step 7's "Opening the PR is not the end of the task". For example: "Step 1 is two actions — assign, and move the card. Both happen before you branch."
  4. Do the same in step 6 for In Review: add the lookup, edit and check to that step's commands instead of leaving a trailing sentence.
  5. Add a chain or first-move eval case in pr-flow/evals/evals.json if one can observe the card move. If a case can't observe it, say so in the PR. skills:eval currently shows the skill loads, not that step 1 is carried out (the same limit AGENTS.md notes for chain cases).

Re-run npm run verify:skills, and skills:eval if the description changes.

Acceptance

  • Following step 1 as written leaves the card at In Progress, and step 6 leaves it at In Review, with each step's command output showing that.
  • No /board-ops option ID is copied into pr-flow.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationv2Issues and PRs for v2

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions