Skip to content

[agents] Refactor shepherd-prs skill into a pure Markdown runbook using native gh CLI#189095

Merged
auto-submit[bot] merged 7 commits into
flutter:masterfrom
harryterkelsen:shepherd-prs-autosubmit-rules
Jul 15, 2026
Merged

[agents] Refactor shepherd-prs skill into a pure Markdown runbook using native gh CLI#189095
auto-submit[bot] merged 7 commits into
flutter:masterfrom
harryterkelsen:shepherd-prs-autosubmit-rules

Conversation

@harryterkelsen

@harryterkelsen harryterkelsen commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Refactors the shepherd-prs agent skill from an opaque Dart wrapper script into pure Markdown (SKILL.md) using native GitHub CLI (gh) commands to give the agent greater flexibility to handle unique situations that may cause a PR to be unable to land.

I moved from a script to pure markdown because I kept hitting special cases that the script wasn't able to deal with, which I needed to talk through with the agent anyways. For example, the script would sometimes see that the autosubmit label is missing, and just add it back. But it failed to look at the exact reason why the autosubmit label was removed. I ended up adding so much special logic to the Markdown section of the skill I figured it would be best to remove the script altogether and formalize the rules in Markdown.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@harryterkelsen
harryterkelsen requested a review from reidbaker as a code owner July 7, 2026 23:21
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Jul 7, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

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.

Code Review

This pull request updates the SKILL.md documentation for shepherding PRs, adding guidelines for pre-autosubmit verification, third-party contributor PR approval requirements, and updating procedures for manual LUCI re-runs and target branch corrections. The feedback suggests improving clarity and consistency by explicitly referring to the 'autosubmit label' rather than just 'autosubmit' in the instructions.

Comment thread .agents/skills/shepherd-prs/SKILL.md Outdated
Comment thread .agents/skills/shepherd-prs/SKILL.md Outdated
@harryterkelsen
harryterkelsen changed the base branch from main to master July 7, 2026 23:29
@harryterkelsen harryterkelsen changed the title [agents] Document pre-autosubmit verification and 2-reviewer requirement in shepherd-prs skill [agents] Refactor shepherd-prs skill into a pure Markdown runbook using native gh CLI Jul 7, 2026
@harryterkelsen

Copy link
Copy Markdown
Contributor Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

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.

Code Review

This pull request removes the custom shepherd.dart script and its documentation, replacing them with a runbook in SKILL.md that outlines how to shepherd pull requests using native GitHub CLI (gh) commands. Feedback on the updated documentation notes that the suggested gh pr list command with the --author flag will omit shepherded third-party pull requests, and recommends adding a separate command to list approved third-party pull requests reviewed by the user.

Comment thread .agents/skills/shepherd-prs/SKILL.md Outdated
@reidbaker

Copy link
Copy Markdown
Contributor

Hey this pr description acts like that reviewers and maintainers already know what a "runbook" is. I trust that for the skill you authored you have a good reason for the change and I dont want to block you BUT you could improve the pr description with non ai authored contex and it would make this pr better.

For example why do this change, what problem are you solving etc.

@harryterkelsen harryterkelsen added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 14, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Jul 14, 2026
@harryterkelsen

Copy link
Copy Markdown
Contributor Author

Hey this pr description acts like that reviewers and maintainers already know what a "runbook" is. I trust that for the skill you authored you have a good reason for the change and I dont want to block you BUT you could improve the pr description with non ai authored contex and it would make this pr better.

For example why do this change, what problem are you solving etc.

Thanks, done. I updated the description to remove the "runbook" term and explain what made me want to make this change in the first place.

Merged via the queue into flutter:master with commit a87cb0c Jul 15, 2026
61 of 62 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jul 15, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Jul 15, 2026
flutter/flutter@846664b...fc1ad95

2026-07-15 [email protected] [iOS] Migrate FlutterKeyboardInsetManager to Swift (flutter/flutter#189425)
2026-07-15 [email protected] Roll Dart SDK from 05bf153370c4 to 0c408ff6dce9 (4 revisions) (flutter/flutter#189487)
2026-07-15 [email protected] Implement UberSDF lines to replace LineContents-based AA lines (flutter/flutter#188514)
2026-07-15 [email protected] Fix stale eagerWinner reference in GestureArenaManager when rejected before arena close (flutter/flutter#187008)
2026-07-15 [email protected] Disable some Windows tests that are flaking on CI (flutter/flutter#189477)
2026-07-15 dmgr Added unified check-run user manual (flutter/flutter#189453)
2026-07-15 [email protected] Roll Skia from 88954ef8f36d to ab2410bc857c (9 revisions) (flutter/flutter#189474)
2026-07-14 [email protected] [agents] Refactor shepherd-prs skill into a pure Markdown runbook using native gh CLI (flutter/flutter#189095)
2026-07-14 [email protected] Add missing name to mirroring workflow (flutter/flutter#189439)
2026-07-14 [email protected] Add support for WASM deferred loading. (flutter/flutter#189308)
2026-07-14 [email protected] fix `templateDefaultGradleVersion` todo (flutter/flutter#189466)
2026-07-14 [email protected] Roll Fuchsia Linux SDK from oOETA0ISPouDt2xBo... to lLFbh5kFWbUGgC9Ek... (flutter/flutter#189469)
2026-07-14 [email protected] Use ServicesBinding.instance.exitApplication instead of exit(0) in multiple_windows example (flutter/flutter#189364)
2026-07-14 [email protected] Add CpuArch to the Device class (flutter/flutter#189207)
2026-07-14 [email protected] Fix space formatting in cherry-pick label for flutter_cp.dart (flutter/flutter#189463)
2026-07-14 [email protected] Roll pub packages (flutter/flutter#189454)
2026-07-14 [email protected] [flutter_tools] Format plugin example template to match dart format (flutter/flutter#188382)
2026-07-14 [email protected] Move renamed x64->ARM benchmarks out of bringup (flutter/flutter#189400)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants