Automated summary
This skill automates the workflow to contribute a skill back to the upstream repository by creating a branch, committing, pushing, and opening a pull request using the GitHub CLI.
Strengths
- Provides a clear step-by-step process for contributors.
- Integrates with gh CLI for seamless pull request creation.
- Includes cleanup instructions after the PR is merged.
- Offers troubleshooting for common issues like authentication.
Limitations
- Requires the GitHub CLI installed and authenticated.
- Assumes the user has a fork of the upstream repository.
- Commands are bash-specific, limiting use on Windows without adaptation.
Use this when you have developed a broadly useful skill that follows the guidelines and want to contribute it upstream.
Do not use this for project-specific or experimental skills, or if you do not have write access to the upstream repository.
Security analysis
SafeThe skill instructs on standard Git and GitHub CLI workflows for contributing via branches and PRs. No destructive commands, data exfiltration, or obfuscation. It is purely instructional.
No concerns found
How this analysis is madeExamples
I have a new skill 'async-patterns' in my local clone of the skills repository. Walk me through contributing it to the upstream repository via a pull request.I need to create a pull request for my 'test-patterns' skill. Help me with the git workflow and PR creation using gh CLI.name: Sharing Skills description: Contribute skills back to upstream via branch and PR when_to_use: when you've developed a broadly useful skill and want to contribute it upstream via pull request version: 2.1.0 languages: bash
Sharing Skills
Overview
Contribute skills from your local branch back to the upstream repository.
Workflow: Branch → Edit/Create skill → Commit → Push → PR
When to Share
Share when:
- Skill applies broadly (not project-specific)
- Pattern/technique others would benefit from
- Well-tested and documented
- Follows skills/meta/writing-skills guidelines
Keep personal when:
- Project-specific or organization-specific
- Experimental or unstable
- Contains sensitive information
- Too narrow/niche for general use
Prerequisites
ghCLI installed and authenticated- Working directory is
~/.config/superpowers/skills/(your local clone) - Skill has been tested (see skills/meta/writing-skills for TDD process)
Sharing Workflow
1. Ensure You're on Main and Synced
cd ~/.config/superpowers/skills/
git checkout main
git pull upstream main
git push origin main # Push to your fork
2. Create Feature Branch
# Branch name: add-skillname-skill
skill_name="your-skill-name"
git checkout -b "add-${skill_name}-skill"
3. Create or Edit Skill
# Work on your skill in skills/
# Create new skill or edit existing one
# Skill should be in skills/category/skill-name/SKILL.md
4. Commit Changes
# Add and commit
git add skills/your-skill-name/
git commit -m "Add ${skill_name} skill
$(cat <<'EOF'
Brief description of what this skill does and why it's useful.
Tested with: [describe testing approach]
EOF
)"
5. Push to Your Fork
git push -u origin "add-${skill_name}-skill"
6. Create Pull Request
# Create PR to upstream using gh CLI
gh pr create \
--repo upstream-org/upstream-repo \
--title "Add ${skill_name} skill" \
--body "$(cat <<'EOF'
## Summary
Brief description of the skill and what problem it solves.
## Testing
Describe how you tested this skill (pressure scenarios, baseline tests, etc.).
## Context
Any additional context about why this skill is needed and how it should be used.
EOF
)"
Complete Example
Here's a complete example of sharing a skill called "async-patterns":
# 1. Sync with upstream
cd ~/.config/superpowers/skills/
git checkout main
git pull upstream main
git push origin main
# 2. Create branch
git checkout -b "add-async-patterns-skill"
# 3. Create/edit the skill
# (Work on skills/async-patterns/SKILL.md)
# 4. Commit
git add skills/async-patterns/
git commit -m "Add async-patterns skill
Patterns for handling asynchronous operations in tests and application code.
Tested with: Multiple pressure scenarios testing agent compliance."
# 5. Push
git push -u origin "add-async-patterns-skill"
# 6. Create PR
gh pr create \
--repo upstream-org/upstream-repo \
--title "Add async-patterns skill" \
--body "## Summary
Patterns for handling asynchronous operations correctly in tests and application code.
## Testing
Tested with multiple application scenarios. Agents successfully apply patterns to new code.
## Context
Addresses common async pitfalls like race conditions, improper error handling, and timing issues."
After PR is Merged
Once your PR is merged:
- Sync your local main branch:
cd ~/.config/superpowers/skills/
git checkout main
git pull upstream main
git push origin main
- Delete the feature branch:
git branch -d "add-${skill_name}-skill"
git push origin --delete "add-${skill_name}-skill"
Troubleshooting
"gh: command not found"
- Install GitHub CLI: https://cli.github.com/
- Authenticate:
gh auth login
"Permission denied (publickey)"
- Check SSH keys:
gh auth status - Set up SSH: https://docs.github.com/en/authentication
"Skill already exists"
- You're creating a modified version
- Consider different skill name or coordinate with the skill's maintainer
PR merge conflicts
- Rebase on latest upstream:
git fetch upstream && git rebase upstream/main - Resolve conflicts
- Force push:
git push -f origin your-branch
Multi-Skill Contributions
Do NOT batch multiple skills in one PR.
Each skill should:
- Have its own feature branch
- Have its own PR
- Be independently reviewable
Why? Individual skills can be reviewed, iterated, and merged independently.
Related Skills
- skills/meta/writing-skills - How to create well-tested skills
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/sharing-skills-via-pull-request-mm5t8ad5/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/sharing-skills-via-pull-request-mm5t8ad5' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/sharing-skills-via-pull-request-mm5t8ad5/download' --output '.skill-downloads/sharing-skills-via-pull-request-mm5t8ad5/SKILL.md.part' && mv '.skill-downloads/sharing-skills-via-pull-request-mm5t8ad5/SKILL.md.part' '.skill-downloads/sharing-skills-via-pull-request-mm5t8ad5/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.
Original excerpt: Prerequisites
ghCLI installed and authenticated- Working directory is
~/.config/superpowers/skills/(your local clone) - Skill has been tested (see skills/meta/writing-skills for TDD process)
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
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual 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/sharing-skills-via-pull-request-mm5t8ad5/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.