Post

How to Achieve the Pull Shark and Pair Extraordinaire Badge on GitHub with Ease

Learn how to automate GitHub pull request workflows to effortlessly earn the Pull Shark and Pair Extraordinaire badges with a lightweight, customizable open-source tool.

How to Achieve the Pull Shark and Pair Extraordinaire Badge on GitHub with Ease

Achieve Pull Shark and Pair Extraordinaire Badge with Ease

If you’ve ever scrolled through someone’s profile and seen those cool little badges like “Pull Shark” or “Pair Extraordinaire,” you’ve probably wondered: How do I get those? Well, you’re in luck. Today, we’re diving deep into a smart automation tool that helps you earn these GitHub badges without breaking a sweat.

Table of Contents

💡 Introduction to GitHub Badges

What Are GitHub Badges?

Think of GitHub badges as digital trophies. They’re like those shiny medals gamers earn, except these recognize your real-life development achievements. Badges like Pull Shark and Pair Extraordinaire celebrate consistent collaboration and impactful code contributions on GitHub.

The Significance of Pull Shark and Pair Extraordinaire

  • Pull Shark: Awarded when you open and merge a high number of pull requests.
  • Pair Extraordinaire: Earned by co-authoring PRs with fellow developers—an indicator of teamwork.

These badges don’t just look cool—they show you’re a team player and an active contributor.


💼 Why Should You Care About These Badges?

Developer Reputation & Credibility

These badges enhance your credibility in the open-source space. It’s proof that you’re not just lurking—you’re actively building and collaborating.

Career Opportunities & Recognition

Companies LOVE contributors. These badges can give you an edge in job interviews or when pitching your dev skills to clients.


🛠️ Meet the Automation Tool Built for Badge Hunters

Overview of the Project

Our project—Achieve Pull Shark and Pair Extraordinaire Badge with Ease—is a Python-based automation tool built to handle all the repetitive GitHub workflows that help you earn these badges.

Designed for Simplicity and Productivity

You don’t have to be a Git wizard. This script handles branching, file editing, commits, and pull requests, while you sit back and sip your coffee.


🚀 Key Features of the Badge Automation Script

Smart Branch Naming with gen_branch_name()

No more boring branch-1, branch-2 nonsense. This function generates names like:

1
2
3
feature-fox-129  
bugfix-moon-830  
hotfix-blaze-999

It’s smart, catchy, and clean—perfect for maintaining a tidy Git history.

Git Commands Managed Seamlessly

No need to memorize git syntax. The run_command() function does it all:

  • git checkout -b
  • git add
  • git commit
  • git push

And yes, it logs everything so you know what happened and when.

Full Pull Request Cycle with GitHub CLI

Using the GitHub CLI (gh), the script even:

  • Creates PRs
  • Merges them

It’s like having a mini CI/CD pipeline for your contribution badges.

Custom Iteration & Timing Control

You get to define:

  • How many PRs to make
  • Delay between actions (so you don’t get flagged for spam)

📥 Getting Started with Setup

System Requirements

Make sure you’ve got these installed:

  • Python 3.x
  • Git
  • GitHub CLI (gh)

Authenticate with:

1
gh auth login

Repository Preparation

Clone the automation project:

1
2
git clone https://github.com/OCEANOFANYTHING/achieve-pull-shark-and-pair-extraordinaire-badge-with-ease.git
cd achieve-pull-shark-and-pair-extraordinaire-badge-with-ease

Then, clone your working repo:

1
2
git clone https://github.com/YOUR-USERNAME/YOUR-REPO-NAME.git
cd YOUR-REPO-NAME

Place main.py here.


🎮 Step-by-Step Usage Guide

Initializing the Script

Make sure you’re on the main branch:

1
git checkout main

Run the script:

1
python main.py

Providing Inputs and Monitoring Progress

The script will prompt:

  • Number of iterations? e.g., 5
  • Delay between runs? e.g., 100 (max) seconds

Each iteration will:

  • Create a new branch
  • Modify text.txt
  • Push changes
  • Create + merge a PR

Reviewing Pull Requests Created

Hop over to your GitHub repo and watch the PRs flow like magic. Each one has:

  • Clean commit messages
  • Actual content changes
  • Co-author credits (if configured)

🔍 Behind the Code: Functions Explained

Branch Generator: gen_branch_name()

Randomly chooses from:

1
["feature", "bugfix", "hotfix"]

and:

1
["spark", "hawk", "nova"]

Plus a number for uniqueness—like feature-nova-284.

Git Branch Creation

create_branch(branch_name) uses:

1
git checkout -b branch_name

Straight from main.

Editing text.txt for Contribution Validity

add_change_to_text_file("text.txt") appends timestamped text like:

Updated on 2025-05-04 at 04:00 PM

Command Execution and Error Handling

run_command(cmd) runs shell commands and prints output. If something fails? You’ll see it.

The main() Flow Controller

Handles:

  • Iteration loops
  • Delays between PRs
  • Cleanup of branches

All neatly packaged.


⚙️ Customization Options

Personalized Commit Messages

Edit this in main.py:

1
COMMIT_MESSAGE = "Minor update to text file"

Collaborator Support for Pair Extraordinaire

Add your teammate’s GitHub handle here:

1
COAUTHOR_1 = "Co-Author Name <email@example.com>"

The script will tag them as co-authors on commits.

Tailoring the Branch Names

Modify words1 and words2 in gen_branch_name() to suit your project’s vibe.


📊 Example Session Output

Console Input:

1
2
How many times do you want to run the script? 3
How long do you want to wait between runs? 100

Console Output:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
How many times do you want to run the script? 1
How long do you want to wait between runs? (in seconds) 1
Switched to a new branch 'technology-traveling-investigator-4434'
Branch technology-traveling-investigator-4434 created
File text.txt already exists
Small change added to text.txt

[technology-traveling-investigator-4434 *******] Added a small change to text.txt
 1 file changed, 1 insertion(+)

https://github.com/your-username/your-repo-name/pull/25


Your branch is up to date with 'origin/main'.

Finished run 1 of 1

And then it repeats if you set more iterations.


👍 Use Cases and Best Practices

Ethical Contribution Automation

Use this for:

  • Keeping documentation fresh
  • Incremental code refactors
  • Learning Git/GitHub workflows

Avoiding GitHub Rate Limits and Spam

Respect delays. Set the interval to 100 seconds per run.


📁 Project File Structure Overview

1
2
3
4
5
📦 achieve-pull-shark-and-pair-extraordinaire-badge-with-ease  
┣ 📜 main.py  
┣ 📜 .gitignore  
┣ 📜 README.md  
┣ 📜 LICENSE  

🤝 How to Contribute and Improve This Tool

Fork it. Use it. Improve it.

PRs are welcome—just follow the CONTRIBUTING.md guide.


⚠️ Disclaimer: Ethical Use Matters

This script is NOT for spamming. Use it:

✅ On personal repos ✅ On consented team projects ❌ NOT on random repos without permission

Follow GitHub’s Community Guidelines.


💖 Support and Stay Connected

If this helped you, buy us a coffee!

☕ Support on Ko-fi

You keep the open-source magic alive.


🔚 Conclusion

GitHub badges like Pull Shark and Pair Extraordinaire aren’t just decorations—they’re proof of your growth as a dev. With this automation tool, you’ll streamline your path toward both badges without burning out or gaming the system.

Use it wisely, stay active, and let your contributions shine.


❓ FAQs

Q1: Can I use this on private repos? Absolutely! As long as you have access and it follows GitHub’s terms.

Q2: Will GitHub ban me if I automate PRs? Not if used responsibly and with ethical delays. Avoid spam behavior.

Q3: What if the gh CLI isn’t installed? Install it from GitHub’s official CLI page: cli.github.com

Q4: Does the script work on Windows, macOS, and Linux? Yes! Just make sure Python, Git, and gh are installed.

Q5: Can I schedule this script to run daily? Yes. Use cron (Linux/macOS) or Task Scheduler (Windows) for automation.

This post is licensed under CC BY 4.0 by the author.