Automated summary
Commits the current git changes and opens or updates a GitHub pull request through gh, after running the repository's own build and check recipes.
Strengths
- Runs `forge build` before `just check`/`just check-main`, avoiding the misleading "undeclared type" errors that hit Rust crates binding to Solidity contracts
- Ships a banned-word list and plain-language rules so PR titles and descriptions read like a short team message rather than generated docs
- Leaves untracked files out of the commit and warns the user instead
- Uses `gh pr create --web` and returns the URL without submitting, keeping the final click with the human
Limitations
- Tightly coupled to one Rust + Solidity repo (`forge build`, `just check`, `just check-main`) and won't transfer to other projects unchanged
- Never submits the PR, so a manual browser step is always required
- The writing-style examples section is truncated, so exact description quality depends on the model
Use when the user asks to commit the current branch and open or refresh a pull request on GitHub.
Avoid it outside a repo that has forge and just wired up, or when the agent is expected to actually submit the PR.
Security analysis
SafeThe skill instructs the agent to run standard development commands (git diff, forge build, just check, git commit/push, gh pr create) for a legitimate pull request workflow. There are no destructive, exfiltrating, or obfuscated actions, and no use of curl, sh, or disabling safety mechanisms. The lack of declared allowed-tools is a metadata concern but not a security risk.
No concerns found
How this analysis is madeExamples
Create a pull request for my current changes against origin/main.I pushed more commits to this branch — update the PR description so it covers everything vs origin/main.Commit and push this branch, then open the GitHub PR creation page so I can review the title and description.name: pr description: Create or update a pull request for the current git changes. Use when the user wants a PR, commit/push for review, or gh pr create flow. disable-model-invocation: true
Create or update pull request
Instructions
- Look at the staged, unstaged, and untracked changes with
git diff - Run
forge buildbefore the cargo check step. Rust crates that bind to Solidity contracts (e.g.boundless-test-utilsreferencingVeZKC) fail to compile until the contract artifacts exist. Skipping this produces misleading "undeclared type" errors that look like real bugs. - If no changes to examples/ directory, run
just check-main. Else runjust check.- If fails, propose fixes and wait for approval
- If there are untracked files, do not add them to the commit, but warn the user
- Write a clear commit message based on what changed (use commit message style below)
- Commit and push to the current branch
- Check if an existing PR exists. Ignore warnings about GraphQL: Projects (classic) being deprecated.
- If not, do not submit the PR, but use
gh pr create --web --title <title> --body <body>to open the create PR page with title/description (use PR Title/Description Guidelines below) - Else update the description with the new changes.
- If not, do not submit the PR, but use
- Do not submit the PR. Just return the PR creation page URL when done
Commit message style
- Simple, one sentence
- Do not include a
--trailerwhen doing git commit
PR Title/Description Guidelines
- Do not include made with Cursor or similar line
- Title/description should describe all changes across all commits, i.e. all the changes vs origin/main
Writing Style — Sound Human, Not AI-Generated
Write like a developer talking to their team, not like a language model generating documentation.
Structure and tone
- Be direct and concise — skip filler phrases like "This PR introduces...", "This change aims to...", "In order to facilitate..."
- Lead with what changed and why — not with a preamble about the problem space
- Keep bullet points short — 1-2 sentences max per bullet. No sub-bullets unless truly needed
- Skip the obvious — don't describe what's clear from the diff (e.g. "Updated imports" or "Added new file X.rs")
- No sign-off or summary section — just end when you're done
- Match the tone of a brief Slack message, not a design doc
Banned words and phrases (AI vocabulary tells)
These words appear at dramatically higher rates in AI-generated text and are dead giveaways. Never use them:
- Puffery: "pivotal", "crucial role", "cornerstone", "testament to", "represents a significant", "broader landscape"
- Fancy verbs: "leverage" (say "use"), "facilitate" (say "help"), "showcase" (say "show"), "navigate" (say "handle"), "underscore", "foster", "bolster", "spearhead", "harness", "streamline", "delve"
- Filler adjectives: "robust", "comprehensive", "multifaceted", "nuanced", "holistic", "intricate", "seamless"
- Hedging: "It's worth noting...", "It should be noted...", "It's important to mention...", "One cannot overstate..."
- False depth: "Despite [positive], [subject] faces challenges...", "While [X], it's important to note [Y]..."
Plain language replacements
- "addresses" → "fixes"
- "introduces" → "adds"
- "has been updated to" → "now does"
- "serves as a" → "is"
- "leverages" → "uses"
- "facilitates" → "helps" or "lets"
- "utilizing" → "using"
- "prior to" → "before"
Other AI tells to avoid
- Rule of three: don't always list exactly 3 things. Sometimes 2 is enough, sometimes 4 is better
- Synonym cycling: don't avoid repeating a word by using increasingly weird synonyms. Just say "the function" twice instead of "the function" then "the aforementioned utility"
- Formulaic structure: don't make every bullet follow the same grammatical pattern
- Excessive formatting: don't bold every other phrase or use bullets where prose works fine
Examples of AI-sounding vs human-sounding
❌ "This PR introduces a new indexing pipeline that aims to address the current limitations in our backfill process." ✅ "Adds a redrive lambda for re-processing failed indexer events."
❌ "The following changes have been implemented to improve the overall developer experience:" ✅ "Cleans up the CLI skill install flow — fewer prompts, better error messages."
❌ "This comprehensive update leverages a robust new architecture to facilitate seamless skill management." ✅ "Rewrites skill install to use symlinks instead of copying files."
Template
<1-2 sentence overview: what changed and why>
Changes
* <specific notable change>
* <specific notable change>
* ...
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/create-or-update-pull-request-mrwakd7a/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/create-or-update-pull-request-mrwakd7a' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-or-update-pull-request-mrwakd7a/download' --output '.skill-downloads/create-or-update-pull-request-mrwakd7a/SKILL.md.part' && mv '.skill-downloads/create-or-update-pull-request-mrwakd7a/SKILL.md.part' '.skill-downloads/create-or-update-pull-request-mrwakd7a/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/create-or-update-pull-request-mrwakd7a/SKILL.md' && test -s '.skill-downloads/create-or-update-pull-request-mrwakd7a/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/pr' && cp -R '.skill-downloads/create-or-update-pull-request-mrwakd7a' '.claude/skills/pr'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/create-or-update-pull-request-mrwakd7a'openskills read 'create-or-update-pull-request-mrwakd7a'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/create-or-update-pull-request-mrwakd7a/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.