open-source-contributions

jezweb/claude-skills · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/jezweb/claude-skills --skill open-source-contributions
0 commentsdiscussion
summary

Create maintainer-friendly pull requests while avoiding 16 common rejection mistakes.

  • Prevents personal development artifacts (SESSION.md, planning docs, debug screenshots, temp test files) from being committed using a pre-PR check script
  • Enforces three critical workflow rules: always use feature branches, test thoroughly before submitting, and keep PRs focused on a single change under 400 lines
  • Provides templates and guides for PR descriptions using What/Why/How structure, conventio
skill.md

Open Source Contributions Skill

Version: 1.2.0 | Last Verified: 2026-01-09 | Production Tested: ✅


When to Use This Skill

Auto-triggers: "submit PR to", "contribute to", "pull request for", "open source contribution"

Create maintainer-friendly PRs while avoiding the 16 common mistakes that cause rejection.


What NOT to Include in Pull Requests

Personal Development Artifacts (NEVER Include)

Planning & Notes Documents:

❌ SESSION.md              # Session tracking notes
❌ NOTES.md                # Personal development notes
❌ TODO.md                 # Personal todo lists
❌ planning/*              # Planning documents directory
❌ IMPLEMENTATION_PHASES.md # Project planning
❌ DATABASE_SCHEMA.md      # Unless adding new schema to project
❌ ARCHITECTURE.md         # Unless documenting new architecture
❌ SCRATCH.md              # Temporary notes
❌ DEBUGGING.md            # Debugging notes
❌ research-logs/*         # Research notes

Screenshots & Visual Assets:

❌ screenshots/debug-*.png     # Debugging screenshots
❌ screenshots/test-*.png      # Testing screenshots
❌ screenshot-*.png            # Ad-hoc screenshots
❌ screen-recording-*.mp4      # Screen recordings
❌ before-after-local.png      # Local comparison images

✅ screenshots/feature-demo.png   # IF demonstrating feature in PR description
✅ docs/assets/ui-example.png     # IF part of documentation update

Test Files (Situational):

❌ test-manual.js          # Manual testing scripts
❌ test-debug.ts           # Debugging test files
❌ quick-test.py           # Quick validation scripts
❌ scratch-test.sh         # Temporary test scripts
❌ example-local.json      # Local test data

✅ tests/feature.test.js   # Proper test suite additions
✅ tests/fixtures/data.json # Required test fixtures
✅ __tests__/component.tsx  # Component tests

Build & Dependencies:

❌ node_modules/           # Dependencies (in .gitignore)
❌ dist/                   # Build output (in .gitignore)
❌ build/                  # Build artifacts (in .gitignore)
❌ .cache/                 # Cache files (in .gitignore)
❌ package-lock.json       # Unless explicitly required by project
❌ yarn.lock               # Unless explicitly required by project

IDE & OS Files:

❌ .vscode/                # VS Code settings
❌ .idea/                  # IntelliJ settings
❌ .DS_Store               # macOS file system
❌ Thumbs.db               # Windows thumbnails
❌ *.swp, *.swo            # Vim swap files
❌ *~                      # Editor backup files

Secrets & Sensitive Data:

❌ .env                    # Environment variables (NEVER!)
❌ .env.local              # Local environment config
❌ config/local.json       # Local configuration
❌ credentials.json        # Credentials (NEVER!)
❌ *.key, *.pem            # Private keys (NEVER!)
❌ secrets/*               # Secrets directory (NEVER!)

Temporary & Debug Files:

❌ temp/*                  # Temporary files
❌ tmp/*                   # Temporary directory
❌ debug.log               # Debug logs
❌ *.log                   # Log files
❌ dump.sql                # Database dumps
❌ core                    # Core dumps
❌ *.prof                  # Profiling output

What SHOULD Be Included

✅ Source code changes      # The actual feature/fix
✅ Tests for changes        # Required tests for new code
✅ Documentation updates    # README, API docs, inline comments
✅ Configuration changes    # If part of the feature
✅ Migration scripts        # If needed for the feature
✅ Package.json updates     # If adding/removing dependencies
✅ Schema changes           # If part of feature (with migrations)
✅ CI/CD updates            # If needed for new workflows

Pre-PR Cleanup Process

Step 1: Run Pre-PR Check Script

Use the bundled scripts/pre-pr-check.sh to scan for artifacts:

./scripts/pre-pr-check.sh

What it checks:

  • Personal documents (SESSION.md, planning/*, NOTES.md)
  • Screenshots not referenced in PR description
  • Temporary test files
  • Large files (>1MB)
  • Potential secrets in file content
  • PR size (warns if >400 lines)
  • Uncommitted changes

Step 2: Review Git Status

git status
git diff --stat

Ask yourself:

  • Is every file change necessary for THIS feature/fix?
  • Are there any unrelated changes?
  • Are there files I added during development but don't need?

Step 3: Clean Personal Artifacts

Manual removal:

git rm --cached SESSION.md
git rm --cached -r planning/
git rm --cached screenshots/debug-*.png
git rm --cached test-manual.js

Or use the clean script:

./scripts/clean-branch.sh

Step 4: Update .gitignore

Add personal patterns to .git/info/exclude (affects only YOUR checkout):

# Personal development artifacts
SESSION.md
NOTES.md
TODO.md
planning/
screenshots/debug-*.png
test-manual.*
scratch.*

Writing Effective PR Descriptions

Use the What/Why/How Structure

Template (see references/pr-template.md):

## What?
[Brief description of what this PR does]

## Why?
[Explain the reasoning, business value, or problem being solved]

## How?
[Describe the implementation approach and key decisions]

## Testing
[Step-by-step instructions for reviewers to test]

## Checklist
- [ ] Tests added/updated
- [ ] Documentation updated
- [ ] CI passing
- [ ] Breaking changes documented

## Related Issues
Closes #123
Relates to #456

Commit Message Format

Conventional Commits: <type>(<scope>): <subject>

Types: feat, fix, docs, refactor, test, ci, chore

Example: feat(auth): add OAuth2 support for Google and GitHub

See references/commit-message-guide.md for complete guide.


PR Sizing Best Practices

Research-backed guidelines:

  • Ideal: 50 lines
  • Good: <200 lines
  • Maximum: 400 lines
  • Beyond 400: Defect detection drops significantly

Keep PRs small:

  • One change per PR
  • Use feature flags for incomplete work:
    if (featureFlags.newAuth) {
      // New OAuth flow (incomplete but behind flag)
    } else {
      // Existing flow
    }
    
  • Break by layer: schema → API → frontend → tests

Following Project Conventions

Before contributing:

  1. Read CONTRIBUTING.md (check /, /.github/, /docs/)
  2. Run formatters: npm run lint, npm run format
  3. Match existing patterns (review recent merged PRs)
  4. Test before submitting:
    npm test && npm run lint && npm run build
    

Communication Best Practices

Response templates:

  • Implemented: "Good idea! Implemented in [commit hash]"
  • Disagreement: "I see your point. I went with X because Y. Open to alternatives."
  • Clarification: "Could you help me understand what you mean by Z?"
  • Ping (after 1-2 weeks): "Gently pinging this PR. Happy to make changes!"

Common Mistakes That Annoy Maintainers (16 Errors Prevented)

See Critical Workflow Rules section for detailed guidance on Rules 1-3

  1. Not Reading CONTRIBUTING.md - ALWAYS read first, follow exactly
  2. Including Personal Artifacts - SESSION.md, planning/*, screenshots, temp tests (use pre-PR check script)
  3. Massive Pull Requests - Break into <200 lines ideal, <400 max
  4. Not Testing Before Submitting - Run full test suite, test manually, capture evidence (violates RULE 2)
  5. Working on Assigned Issues - Check assignments, comment to claim work
  6. Not Discussing Large Changes First - Open issue or comment before coding
  7. Being Impatient/Unresponsive - Be responsive, ping after 1-2 weeks
  8. Not Updating Documentation - Update README, API docs, inline comments
  9. Ignoring Code Style - Use project's linters/formatters
  10. Ignoring CI Failures - Fix immediately, ask for help if stuck
  11. Including Unrelated Changes - One PR = One Feature (violates RULE 3)
  12. Not Linking Issues - Use "Closes #123" or "Fixes #456"
  13. Committing Secrets - Never commit .env, scan for secrets
  14. Force-Pushing Without Warning - Avoid after review starts
  15. Not Running Build/Tests Locally - Always run before pushing
  16. Working on main/master - ALWAYS use feature branches (violates RULE 1)

GitHub-Specific Best Practices

Critical Workflow Rules (NEVER SKIP)

RULE 1: ALWAYS Work on a Feature Branch

# ✅ CORRECT
git checkout main
git pull upstream main
git checkout -b feature/add-oauth-support
# make changes on feature branch
git commit -m "feat(auth): add OAuth support"

Branch naming: feature/name, fix/issue-123, docs/update-readme, refactor/utils, test/add-tests


RULE 2: Test Thoroughly BEFORE Submitting PR

Never submit without:

  1. Running full test suite: npm test && npm run lint && npm run build
  2. Testing manually (run app, test feature, edge cases)
  3. Capturing evidence (screenshots/videos for visual changes - add to PR description, NOT commits)
  4. Checking CI will pass

Testing checklist template:

## Testing Performed
### Automated Tests
- ✅ All existing tests pass
- ✅ Added 12 new tests for OAuth flow
- ✅ Coverage increased from 85% to 87%

### Manual Testing
- ✅ Tested Google/GitHub OAuth flows end-to-end
- ✅ Verified error handling
- ✅ Tested on Chrome, Firefox, Safari

RULE 3: Keep PRs Focused and Cohesive

One PR = One Feature/Fix

  • Ideal: <200 lines
  • Acceptable: 200-400 lines
  • Large: 400-800 lines (needs justification)
  • Too large: >800 lines (split it)

Keep focused:

  • Plan: What ONE thing does this PR do?
  • During dev: Unrelated bug? Separate branch
  • Before commit: git diff - Is every change necessary for THIS feature?

Break large features into phases:

PR #1: Database schema and models
PR #2: API endpoints
PR #3: Frontend components
PR #4: Integration and tests

Using Draft PRs

Create: gh pr create --draft Mark ready: gh pr ready (when code complete, tests passing, CI passing)

Linking Issues

Auto-closing keywords (in PR description):

Closes #123
Fixes #456
Resolves #789

# Multiple: Fixes #10, closes #20, resolves #30
# Cross-repo: Fixes owner/repo#123

GitHub CLI Essentials

gh pr create --fill                    # Auto-fill from commits
gh pr create --draft                   # Draft PR
gh pr status                           # See your PRs
gh pr checks                           # View CI status
gh pr ready                            # Mark draft as ready

Pre-Submission Checklist

See references/pr-checklist.md for complete version.

Pre-Contribution:

  • Read CONTRIBUTING.md, CODE_OF_CONDUCT.md
  • Commented on issue to claim work
  • Created feature branch (NEVER work on main)

Development:

  • RULE 1: Working on feature branch
  • RULE 2: Tested thoroughly with evidence
  • RULE 3: PR focused on single feature
  • All tests pass: npm test && npm run lint && npm run build
  • Updated documentation

Cleanup:

  • Ran ./scripts/pre-pr-check.sh
  • No personal artifacts (SESSION.md, planning/*, debug screenshots, temp tests)
  • No secrets (.env, credentials)

PR Quality:

  • Focused on one change (<200 lines ideal, <400 max)
  • Title: Conventional Commits format
  • Description: What/Why/How structure
  • Links to issues (Closes #123)
  • Screenshots for visual changes (in PR description)

Post-Submission:

  • Monitor CI, fix failures immediately
how to use open-source-contributions

How to use open-source-contributions on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add open-source-contributions
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/jezweb/claude-skills --skill open-source-contributions

The skills CLI fetches open-source-contributions from GitHub repository jezweb/claude-skills and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/open-source-contributions

Reload or restart Cursor to activate open-source-contributions. Access the skill through slash commands (e.g., /open-source-contributions) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.850 reviews
  • Mei Yang· Dec 24, 2024

    Registry listing for open-source-contributions matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Ganesh Mohane· Dec 16, 2024

    Useful defaults in open-source-contributions — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Mei Martinez· Dec 16, 2024

    Useful defaults in open-source-contributions — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Mei Menon· Nov 15, 2024

    Keeps context tight: open-source-contributions is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Rahul Santra· Nov 7, 2024

    open-source-contributions has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Ishan Verma· Nov 7, 2024

    open-source-contributions has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Pratham Ware· Oct 26, 2024

    Solid pick for teams standardizing on skills: open-source-contributions is focused, and the summary matches what you get after install.

  • Ishan Menon· Oct 26, 2024

    Solid pick for teams standardizing on skills: open-source-contributions is focused, and the summary matches what you get after install.

  • Zara Diallo· Oct 6, 2024

    open-source-contributions is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • James Khan· Sep 25, 2024

    open-source-contributions fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

showing 1-10 of 50

1 / 5