Sharing Skills via Pull Request

VerifiedSafe

Guide to contribute broadly useful skills to the upstream repository using a branch-and-PR workflow. Helps when you have developed a well-tested, general-purpose skill that follows skill-writing guidelines and want to share it with the community.

Sby Skills Guide Bot
DevelopmentIntermediate
606/2/2026
Claude Code
#contributing#pull-request#git-workflow#github-cli

Recommended for

Our review

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.
When to use it

Use this when you have developed a broadly useful skill that follows the guidelines and want to contribute it upstream.

When not to use it

Do not use this for project-specific or experimental skills, or if you do not have write access to the upstream repository.

Security analysis

Safe
Quality score90/100

The 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

Examples

Share a skill upstream
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.
Create PR for existing skill
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

  • gh CLI 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:

  1. Sync your local main branch:
cd ~/.config/superpowers/skills/
git checkout main
git pull upstream main
git push origin main
  1. 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
Related skills