Skip to content

feat(skills): enhance pr-status-all and pr-status with hyperlinked review verdicts and review summary table - #2097

Merged
dem-extra1 merged 13 commits into
mainfrom
feat/enhance-pr-status-table-2096
Aug 24, 2026
Merged

feat(skills): enhance pr-status-all and pr-status with hyperlinked review verdicts and review summary table#2097
dem-extra1 merged 13 commits into
mainfrom
feat/enhance-pr-status-table-2096

Conversation

@dem-extra1

Copy link
Copy Markdown
Collaborator

Summary

Enhance \skills/pr-status-all/SKILL.md\ and \skills/pr-status/SKILL.md\ to produce a clean Review Summary Table:

  1. Hyperlinked AI Review Verdict: Links directly to the review comment URL ([✅ Clean (Round N)](url)), verified current with the latest commit (.createdAt >= .lastCommitDate\ and matching commit SHA).
  2. Author & Requested Reviewers: Identifies author login, marks self-authored PRs (*Self-authored*), and tracks requested human reviewers (\d-morrison) per \copilot-review-before-human.md.
  3. Actionable Next Step: Recommends the exact next action (\Ready for self-merge, \Ready for human review, \Request human review, \Drive to clean, \Fix CI).

Closes #2096

@dem-extra1

Copy link
Copy Markdown
Collaborator Author

@claude review

@github-actions

Copy link
Copy Markdown
Contributor

👀 Picked up by workflow run #32696755295. Setup runs first; Claude itself responds after that.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

- Restore operational rationale for external review and human review checks
- Restore graceful degradation to series section
- Factor human CHANGES_REQUESTED, threads, behind-main, and draft into Next Step
- Use generic placeholders for example table rows
- Mark draft PRs in assemble step and output
@dem-extra1

Copy link
Copy Markdown
Collaborator Author

ARD Response — Round 1

Finding Action Resolution
1. Blocking human CHANGES_REQUESTED never surfaced in output Address Factored human CHANGES_REQUESTED into Reviewers Requested (❌ Changes requested by <login>) and prioritized it in Next Step as Blocked on human changes (<login>) (overriding all bot signals).
2. Next Step logic ignored threads and behind-main Address Updated the deterministic Next Step transition matrix to require 0 open threads and up-to-date branch with main before declaring ready, emitting Resolve inline threads (<N> open) or Resolve conflicts / Sync main (<N> commits behind).
3. Dangling reference to deleted fallback section Address Restored the ### Graceful degradation to series section defining the full 7-signal sequential gather for sessions without the Agent tool.
4. Draft-marking instruction had no column / pairing Address Restored draft pairing in step 1 & 3 (isDraft), explicitly marking draft PRs as [#<N>](url) (Draft) and setting Next Step to Draft (Work in progress).
5. Example table mixed real PR numbers with fabricated attribution Address Replaced example table with generic placeholder numbers (#101, #102, etc.) and developer aliases matching pr-status/SKILL.md.
6. Operational rationale stripped Address Restored operational rationale across external review and human review checks (head= scope across subagents, .state != "DISMISSED", substance-over-state measurement, and pre-reduction filter ordering).

@claude review

@github-actions

Copy link
Copy Markdown
Contributor

👀 Picked up by workflow run #32697466397. Setup runs first; Claude itself responds after that.

Comment thread skills/pr-status/SKILL.md
Comment on lines +332 to +343
- **Next Step** --- computed deterministically using the full state matrix:
- If `isDraft`: `Draft (Work in progress)`.
- If human `CHANGES_REQUESTED` is pending: `Blocked on human changes (<login>)` (overrides everything below).
- If branch is behind main: `Resolve conflicts / Sync main (<N> commits behind)`.
- If CI is failing: `Fix CI (<failing-check>)`.
- If unaddressed review threads remain: `Resolve inline threads (<N> open)`.
- If AI review has open findings: `Drive to clean (ARDI)`.
- If AI review is running: `In-flight AI review`.
- If fully clean (no human blocks, AI/external review clean, CI green, 0 open threads, up to date with main):
- If `Author` is `d-morrison` (self-authored): `Ready for self-merge`.
- If `Author` is external and human review is requested (`d-morrison`): `Ready for human review`.
- If `Author` is external and human review is not yet requested: `Request human review`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Next Step" here depends on two signals this file never gathers.

This decision tree branches on isDraft (line 333) and "branch is behind main" (line 335), but unlike pr-status-all/SKILL.md (which fetches isDraft in its LIST_PRS call and computes behind-main via git fetch origin main <headRefName> -q && git rev-list --count origin/<headRefName>..origin/main in item 6), this single-PR file has no step anywhere that fetches either value — the top gh pr view <N> --json state,title (line 41) only reads state/title, and there is no git fetch/rev-list command in the file at all.

A session following this skill literally has no data to evaluate the isDraft and "behind main" branches of the Next Step matrix. Add a fetch step for both (e.g. extend the top gh pr view call to include isDraft, and add the same git fetch origin main <branch> -q && git rev-list --count check pr-status-all uses), or drop those two branches from this file's Next Step logic if they're intentionally out of scope for a single-PR check.


When detailed git/thread metrics are needed, include the extended columns:

| PR | Title | Branch | CI | Review | External | Human | Threads | Behind main | Next Step |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing header-separator row — this won't render as a Markdown table.

GFM tables need a delimiter row (|---|---|...|) immediately below the header row to render as a table; this header is followed directly by a blank line and then prose. Compare with the Primary Review Summary Table just above, which correctly has |:---|:---|:---:|:---:|:---:|:---| under its header (line 196). As written, this line will render as plain text with pipe characters rather than a table, in any client that renders this skill's Markdown.

Suggested change
| PR | Title | Branch | CI | Review | External | Human | Threads | Behind main | Next Step |
| PR | Title | Branch | CI | Review | External | Human | Threads | Behind main | Next Step |
|:---|:---|:---|:---:|:---:|:---:|:---:|:---:|:---:|:---|

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

- Fetch isDraft, headRefName, and behind-main check in pr-status
- Add markdown delimiter row to Extended Technical Dashboard table in pr-status-all
- Add companion pr-status-all.rationale.md documenting operational rationale and synthetic fixtures
@dem-extra1

Copy link
Copy Markdown
Collaborator Author

ARD Response — Round 2

Finding Action Resolution
1. pr-status/SKILL.md lacked isDraft and behind-main data gathering Address Added isDraft and headRefName to initial gh pr view call and added a dedicated ## Check if the branch is behind main section with remote-tracking ref comparison.
2. Extended Technical Dashboard table missing markdown delimiter row Address Added Markdown table delimiter row |:---|:---|:---|:---:|:---:|:---:|:---:|:---:|:---:|:---|.
3. Operational rationale companion document Address Created skills/pr-status-all/pr-status-all.rationale.md capturing operational rationale, empirical measurements (106/106 COMMENTED reviews), and synthetic fixture verification history for filter ordering and suppression blocks.

@claude review

@github-actions

Copy link
Copy Markdown
Contributor

👀 Picked up by workflow run #32698042477. Setup runs first; Claude itself responds after that.

@github-actions
github-actions Bot requested a review from d-morrison August 24, 2026 06:38
@github-actions

Copy link
Copy Markdown
Contributor

💰 Cost: $1.0483728

@github-actions
github-actions Bot removed the request for review from d-morrison August 24, 2026 06:38
@github-actions
github-actions Bot requested review from d-morrison and removed request for d-morrison August 24, 2026 06:38
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
github-actions Bot requested a review from d-morrison August 24, 2026 06:44
@github-actions

This comment has been minimized.

@github-actions
github-actions Bot removed the request for review from d-morrison August 24, 2026 07:04
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
github-actions Bot requested a review from d-morrison August 24, 2026 07:09
@dem-extra1

Copy link
Copy Markdown
Collaborator Author

ARD Response — Round 6

Finding Action Resolution
1. Em-dash (U+2014) in tracked files Address Replaced all newly-introduced em-dashes with ASCII hyphens (-) across pr-status-all/SKILL.md and pr-status/SKILL.md (verified 0 em-dashes remain in pr-status-all/SKILL.md and pr-status-all.rationale.md).
2. Reviewers Requested gathering step / Return enum omission Address Added human changes requested condition (❌ Changes requested by <login>) to item 4 instructions and the Return enum in skills/pr-status-all/SKILL.md:169.

@claude review

@github-actions

Copy link
Copy Markdown
Contributor

👀 Picked up by workflow run #32700399228. Setup runs first; Claude itself responds after that.

@github-actions
github-actions Bot requested review from d-morrison and removed request for d-morrison August 24, 2026 07:11
@github-actions

This comment has been minimized.

@github-actions
github-actions Bot removed the request for review from d-morrison August 24, 2026 07:13
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
github-actions Bot requested a review from d-morrison August 24, 2026 07:16
@dem-extra1

Copy link
Copy Markdown
Collaborator Author

ARD Response — Round 7

Finding Action Resolution
1. Next Step's Wait for CI (<pending-check>) branch referenced an uncaptured pending check name Address Extended the CI state signal gathering item (🟢 All Green / ❌ Failing (<check-name>) / ⏳ Pending (<check-name>)), the subagent Return enum, and the Output specification across pr-status-all/SKILL.md and pr-status/SKILL.md to consistently capture and document <pending-check>.

@claude review

@github-actions

Copy link
Copy Markdown
Contributor

👀 Picked up by workflow run #32700876347. Setup runs first; Claude itself responds after that.

@github-actions
github-actions Bot removed the request for review from d-morrison August 24, 2026 07:17
@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.

2026-08-24 07:53 UTC

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
github-actions Bot requested a review from d-morrison August 24, 2026 07:21
@github-actions

Copy link
Copy Markdown
Contributor

👀 Claude Review Dispatchedrun reviewing PR #2097 at 442b91b.

@github-actions
github-actions Bot removed the request for review from d-morrison August 24, 2026 07:22
@github-actions

Copy link
Copy Markdown
Contributor

Claude finished reviewView run


Code Review — PR #2097 (confirming review, head commit 442b91bb)

I independently re-verified this PR against the current head (442b91bb473cf9b46f7299cc97dc01ea3a941727, state=OPEN, not merged), focusing on the delta since round 5's reviewed commit (68b34165).

What changed since round 5

The delta (68b34165442b91bb, three commits: "handle pending CI state in Next Step matrix and align Reviewers Requested", "replace em-dashes with ASCII hyphens and align Reviewers Requested spec", "capture check-name for pending CI state across signal gathering and output specs") adds:

  • A new - If CI is pending: \Wait for CI ()`branch to theNext Stepdecision matrix in bothskills/pr-status-all/SKILL.mdandskills/pr-status/SKILL.md`, positioned after "AI review is running" and before "neither review verified clean at head" / "fully clean".
  • The CI State output format upgraded from bare ⏳ Pending to ⏳ Pending (<check-name>), consistent with the existing ❌ Failing (<name>) format, in both files' item-3 signal spec and Output-section bullet.
  • A corresponding paragraph in the new pr-status-all.rationale.md §4 documenting the CI-pending/failing distinction.
  • Em-dash → ASCII-hyphen cleanup on a few lines this PR itself had introduced.

Verification performed

  • Walked the full Next Step decision tree by hand for round 5's exact counterexample (AI review verified-clean, 0 findings, 0 threads, up to date with main, no human block, CI merely Pending): it now correctly resolves to Wait for CI (<pending-check>) instead of falling through unmatched. Re-walked the matrix for other CI-state × review-state combinations and found no other unhandled path.
  • Em-dash sweep: git diff <merge-base> 442b91bb -- <3 files> | grep '^+' | grep <em-dash> returns exactly one added line, and tracing it back (git show 68b34165:skills/pr-status/SKILL.md) confirms that exact line already existed verbatim at round 5's reviewed head — it's pre-existing content from before this PR even started (present in the merge-base version too), not something this round (or this PR) introduced. Per ascii-punctuation-in-source.md this file is in-scope, but the line is out of scope for this review as pre-existing content this PR never touched.
  • python3 scripts/check-links.py — 0 broken links across all three touched files.
  • npx markdownlint-cli2 — 0 issues.
  • Table header/separator/column counts (Primary Review Summary Table: 6 cols; Extended Technical Dashboard: 10 cols) still match.

Prior review already covers this exact head

A review round already posted at this comment (2026-08-24T07:21:03Z) reviewed this identical commit (442b91bb473cf9b46f7299cc97dc01ea3a941727) and reached Ready for merge, having confirmed the same CI-pending fix and the same em-dash/link/lint checks. My independent pass reaches the same conclusion with no new findings.

Verdict

Ready for merge — the round-5 finding (missing CI = Pending branch in the Next Step matrix) is correctly fixed in both pr-status-all/SKILL.md and pr-status/SKILL.md, with no regressions to any of the rounds 1–5 findings and no new issues in this round's diff. This confirms the prior verdict at the same head still stands.

Reviewed commit: 442b91b

Reviewed commit: 442b91b

@github-actions

Copy link
Copy Markdown
Contributor

💰 Cost: $3.1049 (review) — run

@github-actions
github-actions Bot requested a review from d-morrison August 24, 2026 07:27
@dem-extra1
dem-extra1 merged commit 606e110 into main Aug 24, 2026
13 checks passed
@dem-extra1
dem-extra1 deleted the feat/enhance-pr-status-table-2096 branch August 24, 2026 07:52
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.

feat(skills): enhance pr-status-all with author, requested reviewers, and actionable next steps

1 participant