github-contributor

5
0
Source

Strategic guide for becoming an effective GitHub contributor. Covers opportunity discovery, project selection, high-quality PR creation, and reputation building. Use when looking to contribute to open-source projects, building GitHub presence, or learning contribution best practices.

Install

mkdir -p .claude/skills/github-contributor && curl -L -o skill.zip "https://mcp.directory/api/skills/download/2828" && unzip -o skill.zip -d .claude/skills/github-contributor && rm skill.zip

Installs to .claude/skills/github-contributor

About this skill

GitHub Contributor

Strategic guide for becoming an effective GitHub contributor and building your open-source reputation.

Prerequisites

  • Install GitHub CLI and verify availability: gh --version
  • Authenticate before running commands: gh auth status || gh auth login

The Strategy

Core insight: Many open-source projects have room for improvement. By contributing high-quality PRs, you:

  • Build contributor reputation
  • Learn from top codebases
  • Expand professional network
  • Create public proof of skills

Contribution Types

1. Documentation Improvements

Lowest barrier, high impact.

  • Fix typos, grammar, unclear explanations
  • Add missing examples
  • Improve README structure
  • Translate documentation
Opportunity signals:
- "docs", "documentation" labels
- Issues asking "how do I..."
- Outdated screenshots or examples

2. Code Quality Enhancements

Medium effort, demonstrates technical skill.

  • Fix linter warnings
  • Add type annotations
  • Improve error messages
  • Refactor for readability
Opportunity signals:
- "good first issue" label
- "tech debt" or "refactor" labels
- Code without tests

3. Bug Fixes

High impact, builds trust.

  • Reproduce and fix reported bugs
  • Add regression tests
  • Document root cause
Opportunity signals:
- "bug" label with reproduction steps
- Issues with many thumbs up
- Stale bugs (maintainers busy)

4. Feature Additions

Highest effort, highest visibility.

  • Implement requested features
  • Add integrations
  • Performance improvements
Opportunity signals:
- "help wanted" label
- Features with clear specs
- Issues linked to roadmap

Project Selection

Good First Projects

CriteriaWhy
Active maintainersPRs get reviewed
Clear contribution guideKnow expectations
"good first issue" labelsCurated entry points
Recent merged PRsProject is alive
Friendly communitySupportive feedback

Red Flags

  • No activity in 6+ months
  • Many open PRs without review
  • Hostile issue discussions
  • No contribution guidelines

Finding Projects

# GitHub search for good first issues
gh search issues "good first issue" --language=python --sort=created --state=open

# Search by topic
gh search repos "topic:cli" --sort=stars --limit=20

# Find repos you use
# Check dependencies in your projects

PR Excellence

The High-Quality PR Formula

Based on real-world successful contributions to major open-source projects:

1. Deep investigation (post to issue, not PR)
2. Minimal, surgical fix (only change what's necessary)
3. Regression test (prevent future breakage)
4. CHANGELOG entry (if project uses it)
5. End-to-end validation (prove bug exists, prove fix works)
6. Clear PR structure (~50 lines, focused)
7. Professional communication
8. Separate concerns (detailed analysis in issue, fix summary in PR)
9. No internal/irrelevant details
10. Responsive to feedback

Before Writing Code

Pre-PR Checklist:
- [ ] Read CONTRIBUTING.md
- [ ] Check existing PRs for similar changes
- [ ] Comment on issue to claim it
- [ ] Understand project conventions
- [ ] Set up development environment
- [ ] Trace through git history for context
- [ ] Identify root cause with evidence

Investigation Phase (Post to Issue)

Do this BEFORE coding:

  1. Reproduce the bug with exact commands and output
  2. Trace git history to understand context
    git log --all --grep="keyword" --oneline
    git blame file.ts | grep "relevant_line"
    
  3. Link related issues/PRs that provide context
  4. Post detailed analysis to issue (not PR)
    • Timeline of related changes
    • Root cause explanation
    • Why previous approaches didn't work

Example structure:

## Investigation

I traced this through the codebase history:

1. [Date]: #[PR] introduced [feature]
2. [Date]: #[PR] added [workaround] because [reason]
3. [Date]: #[PR] changed [parameter]
4. Now: Safe to [fix] because [explanation]

[Detailed evidence with code references]

Writing the PR

Title: Clear, conventional format

feat(config): add support for YAML config files
fix(pool): resolve race condition in connection pool
docs(readme): update installation instructions for Windows
refactor(validation): extract validation logic into separate module

Keep PR description focused (~50 lines):

  • Summary (1-2 sentences)
  • Root cause (technical, with code refs)
  • Changes (bullet list)
  • Why it's safe
  • Testing approach
  • Related issues

Move detailed investigation to issue comments, not PR.

Evidence Loop

Critical: Prove the change with a reproducible fail → fix → pass loop.

  1. Reproduce failure with original version

    # Test with original version
    npm install -g package@original-version
    [command that triggers bug]
    # Capture: error messages, exit codes, timestamps
    
  2. Apply fix and test with patched version

    # Test with fixed version
    npm install -g package@fixed-version
    [same command]
    # Capture: success output, normal exit codes
    
  3. Document both with timestamps, PIDs, exit codes, logs

  4. Redact sensitive info:

    • Local absolute paths (/Users/..., /home/...)
    • Secrets/tokens/API keys
    • Internal URLs/hostnames
    • Recheck every pasted block before submitting

Description: Focused and reviewable (~50 lines)

## Summary
[1-2 sentences: what this fixes and why]

## Root Cause
[Technical explanation with code references]

## Changes
- [Actual code changes]
- [Tests added]
- [Docs updated]

## Why This Is Safe
[Explain why it won't break anything]

## Testing

### Test 1: Reproduce Bug (Original Version)
Command: `[command]`
Result:
```text
[failure output with timestamps, exit codes]
```

### Test 2: Validate Fix (Patched Version)
Command: `[same command]`
Result:
```text
[success output with timestamps, exit codes]
```

## Related
- Fixes #[issue]
- Related: #[other issues/PRs]

What NOT to include in PR:

  • ❌ Detailed timeline analysis (put in issue)
  • ❌ Historical context (put in issue)
  • ❌ Internal tooling mentions
  • ❌ Speculation or uncertainty
  • ❌ Walls of text (>100 lines)

Code Changes Best Practices

Minimal, surgical fixes:

  • ✅ Only change what's necessary to fix the bug
  • ✅ Add regression test to prevent future breakage
  • ✅ Update CHANGELOG if project uses it
  • ❌ Don't refactor surrounding code
  • ❌ Don't add "improvements" beyond the fix
  • ❌ Don't change unrelated files

Example (OpenClaw PR #39763):

Files changed: 2
- src/infra/process-respawn.ts (3 lines removed, 1 added)
- src/infra/process-respawn.test.ts (regression test added)

Result: 278K star project, clean approval

Separation of Concerns

Issue comments: Detailed investigation

  • Timeline analysis
  • Historical context
  • Related PRs/issues
  • Root cause deep dive

PR description: Focused on the fix

  • Summary (1-2 sentences)
  • Root cause (technical)
  • Changes (bullet list)
  • Testing validation
  • ~50 lines total

Separate test comment: End-to-end validation

  • Test with original version (prove bug)
  • Test with fixed version (prove fix)
  • Full logs with timestamps

After Submitting

  • Monitor CI results
  • Respond to feedback promptly (within 24 hours)
  • Make requested changes quickly
  • Be grateful for reviews
  • Don't argue, discuss professionally
  • If you need to update PR:
    • Add new commits (don't force push during review)
    • Explain what changed in comment
    • Re-request review when ready

Professional responses:

✅ "Good point! I've updated the implementation to..."
✅ "Thanks for catching that. Fixed in commit abc123."
✅ "I see what you mean. I chose this approach because...
    Would you prefer if I changed it to...?"

❌ "That's just your opinion."
❌ "It works on my machine."
❌ "This is how I always do it."

Building Reputation

The Contribution Ladder

Level 1: Documentation fixes
    ↓ (build familiarity)
Level 2: Small bug fixes
    ↓ (understand codebase)
Level 3: Feature contributions
    ↓ (trusted contributor)
Level 4: Maintainer status

Consistency Over Volume

❌ 10 PRs in one week, then nothing
✅ 1-2 PRs per week, sustained

Engage Beyond PRs

  • Answer questions in issues
  • Help triage bug reports
  • Review others' PRs (if welcome)
  • Join project Discord/Slack

Common Mistakes

Don't

  • Submit drive-by PRs without investigation
  • Include detailed timeline in PR (put in issue)
  • Mention internal tooling or infrastructure
  • Argue with maintainers
  • Ignore code style guidelines
  • Make massive changes without discussion
  • Ghost after submitting
  • Refactor code unrelated to the fix
  • Add "improvements" beyond what was requested
  • Force push during review (unless asked)

Do

  • Investigate thoroughly BEFORE coding
  • Post detailed analysis to issue, not PR
  • Keep PR focused and minimal (~50 lines)
  • Start with small, focused PRs
  • Follow project conventions exactly
  • Add regression tests
  • Update CHANGELOG if project uses it
  • Communicate proactively
  • Accept feedback gracefully
  • Build relationships over time
  • Test with both original and fixed versions
  • Redact sensitive info from logs

Workflow Template

High-Quality Contribution Workflow:

Investigation Phase:
- [ ] Find project with "good first issue"
- [ ] Read contribution guidelines
- [ ] Comment on issue to claim
- [ ] Reproduce bug with original version
- [ ] Trace git history for context
- [ ] Identify root cause with evidence
- [ ] Post detailed analysis to issue

Implementation Phase:
- [ ] Fork and set up locally
- [ ] Make minimal, focused changes
- [ ] Add regression test
- [ ] Update CHANGELOG (if applicable)
- [ ] Follow project conventions exactly

Validation Phase:
- [ ] Test with original version (prove bug exists)
- [ ] Test with fixed version (prove fix works)
- [ ] Document b

---

*Content truncated.*

macos-cleaner

daymade

Analyze and reclaim macOS disk space through intelligent cleanup recommendations. This skill should be used when users report disk space issues, need to clean up their Mac, or want to understand what's consuming storage. Focus on safe, interactive analysis with user confirmation before any deletions.

229

ppt-creator

daymade

Create professional slide decks from topics or documents. Generates structured content with data-driven charts, speaker notes, and complete PPTX files. Applies persuasive storytelling principles (Pyramid Principle, assertion-evidence). Supports multiple formats (Marp, PowerPoint). Use for presentations, pitches, slide decks, or keynotes.

235

claude-skills-troubleshooting

daymade

Diagnose and resolve Claude Code plugin and skill issues. This skill should be used when plugins are installed but not showing in available skills list, skills are not activating as expected, or when troubleshooting enabledPlugins configuration in settings.json. Triggers include "plugin not working", "skill not showing", "installed but disabled", or "enabledPlugins" issues.

91

twitter-reader

daymade

Fetch Twitter/X post content by URL using jina.ai API to bypass JavaScript restrictions. Use when Claude needs to retrieve tweet content including author, timestamp, post text, images, and thread replies. Supports individual posts or batch fetching from x.com or twitter.com URLs.

321

llm-icon-finder

daymade

Finding and accessing AI/LLM model brand icons from lobe-icons library. Use when users need icon URLs, want to download brand logos for AI models/providers/applications (Claude, GPT, Gemini, etc.), or request icons in SVG/PNG/WEBP formats.

00

i18n-expert

daymade

This skill should be used when setting up, auditing, or enforcing internationalization/localization in UI codebases (React/TS, i18next or similar, JSON locales), including installing/configuring the i18n framework, replacing hard-coded strings, ensuring en-US/zh-CN coverage, mapping error codes to localized messages, and validating key parity, pluralization, and formatting.

30

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

642969

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

591705

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318398

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

339397

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

451339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.