-
Notifications
You must be signed in to change notification settings - Fork 142
Add create-pull-request skill for GitHub PR automation #2807
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add create-pull-request skill for GitHub PR automation #2807
Conversation
This reverts commit e2f2bc2.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2807 +/- ##
==========================================
+ Coverage 71.76% 71.83% +0.07%
==========================================
Files 134 134
Lines 7316 7331 +15
Branches 1614 1619 +5
==========================================
+ Hits 5250 5266 +16
+ Misses 2020 1937 -83
- Partials 46 128 +82 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Whelp, this will remain a WIP I guess.😢 Some things I definitely need to keep looking into to refine this Issue 1 : No idea why it deleted the other checkboxes under What is the purpose of this pull request?
Issue 2: Not sure why it failed to recognize the Important tag under
Issue 3: I haven't tested the Skill's ability effectively create a PR for more complex changes.
Issue 4: It isn't the best at accurately identifying which checkboxes to tick under the Overview of Changes section. (But it does do pretty well at doing so for the final checklist)
But its not all doom and gloom because 🌞:
|
|
Oh and here are just a few of the other dry run attempts I made for reference. Early AttemptThis was one of my first attempts of using the skill. There are a multitude of issues with this namely
But through more explicit instructions, it seems to be better able to identify these checkboxes. Mainly documentation as I had it start to only check this if files within What is the purpose of this pull request?
Overview of changes: Add a new GitHub skill for creating pull requests that follows MarkBind project conventions and supports fork-to-upstream workflows. Anything you'd like to highlight/discuss: This skill was adapted from Cline's original create-pull-request skill with modifications to support fork-to-upstream workflows and automated upstream remote detection. The skill provides comprehensive guidance for PR creation including prerequisite checks, context gathering, git best practices, and template-based PR generation. Testing instructions: Test the skill by running it on a feature branch with changes. Verify that it correctly:
Proposed commit message: (wrap lines at 72 characters) Add create-pull-request GitHub skill Add a comprehensive GitHub skill for creating pull requests that follows Checklist: ☑️
Reviewer checklist: Indicate the SEMVER impact of the PR:
At the end of the review, please label the PR with the appropriate label: Breaking change release note preparation (if applicable):
After a lot more explicit instructionsIssues with this PR:
What is the purpose of this pull request?
Overview of changes: Add a comprehensive skill for creating GitHub pull requests following project conventions and best practices. This skill automates the PR creation process with proper template formatting and fork-to-upstream workflow support. This PR was generated using the create-pull-request skill. Anything you'd like to highlight/discuss: The skill includes detailed prerequisite checks, context gathering, PR template analysis, and proper commit message generation following SE-Education standards. It supports dry-run mode for previewing PRs before creation and includes comprehensive error handling for common scenarios. Testing instructions: Run "gh pr create" with the --dry-run flag to verify the PR content before actual creation. Proposed commit message: (wrap lines at 72 characters) Add create-pull-request skill for automated PR creation Checklist: ☑️
Reviewer checklist: Indicate the SEMVER impact of the PR:
At the end of the review, please label the PR with the appropriate label: r.Major, r.Minor, r.Patch. Breaking change release note preparation (if applicable):
|
|
Lemme know what yall think the worth of this skill would be and if yall have any other suggestions to improve this skill. Probably can delete this PR once we're done discussing about if we wanna move forward with this proposed skill. |
|
hi @MoshiMoshiMochi i think this is certainly a great idea and would save a lot of time when working on this repo. I just have a few concerns
Based on these reasonings, I thought that AI is best used for documenting changes and doing repetitive stuff, but the bulk of writing pr could still be done ourselves |
|
Actually seems pretty sick. I'm wondering if we can tune it abit further to drop the AI buzzwords (e.g. comprehensive skill) - maybe add some prompt input for it to keep concise/neutral? As for @yihao03's concerns, I agree to an extent. I can see this being useful if we just limit it to overview of changes - that section is pretty mechanical. Writing out rationale, etc can come in the "anything you'd like to highlight" section which should be human-written IMO. Though if it takes about 2 minutes to generate a simple overview of changes, I'm more inclined to believe we should simply write it out ourselves. Cool experiment, though. |
|
Hi guys, thanks for the quick replies. I do see and share the concerns you guys have mentioned too, especially if we were to use this skill purely to facilitate the full creation of the PR. However, I think the purpose of this skill isn't to fully replace the human touch when writing a PR. Rather, its purpose would be a tool assisting the creation for PRs. Imo, if its able to accurately identify and capture parts which we already intended to write (especially in the anything you'd liketo discuss section), then we can just focus our attention on touching up and also including the more important details and rationale that it fails to capture. But then again, as I've only tested with the changes made in this branch, I don't really know how it will perform for a branch with notably more complex changes. ps: The reason I've left this and the other example PRs fully AI generated was to accurately show its current capabilities (and lack there of). By no means is this a replacement for the human touch of the PRs, rather a tool to assist the creation of PRs which we can then work on top of to hopefully save us time in the future. |
What is the purpose of this pull request?
Overview of changes:
Adds a create-pull-request skill that automates GitHub PR creation following project conventions, supporting fork-to-upstream workflows with comprehensive diff analysis and template-based PR drafting. This PR was generated using the create-pull-request skill.
Anything you'd like to highlight/discuss:
The skill provides step-by-step guidance through PR creation including prerequisites checking, context gathering, git best practices, and automated template filling. It handles upstream remote detection and provides options for standard, draft, or dry-run PR creation.
Testing instructions:
Run the skill with '/skill create-pull-request' and verify it guides through the PR creation process correctly. Test the dry-run option to preview PR creation without actually creating one.
Proposed commit message: (wrap lines at 72 characters)
Add create-pull-request skill for GitHub PR automation
This adds a comprehensive skill that automates GitHub pull request creation
following project conventions. The skill handles fork-to-upstream workflows,
performs deep diff analysis, and provides step-by-step guidance through the
entire PR creation process including prerequisites checking, context gathering,
and template-based PR drafting.
Checklist: ☑️
Reviewer checklist:
Indicate the SEMVER impact of the PR:
At the end of the review, please label the PR with the appropriate label:
r.Major,r.Minor,r.Patch.Breaking change release note preparation (if applicable):