Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计提醒

github-contributionGitHub contribution 浏览器

Agent Skill

用于围绕 GitHub 仓库、Issue、Pull Request、分支、提交和代码协作流程提供辅助能力。它适合让 Agent 查询项目状态、整理变更、辅助创建或检查协作事项,并把仓库中的信息转成可执行的下一步。使用时需要区分只读查询和写入操作;涉及创建 PR、修改 Issue、推送分支或访问私有仓库时,应确认 token 权限、目标仓库范围和用户授权。

总安装

23,380

周安装

984

GitHub Stars

公开资料未说明

下载量

8,187
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:github-contribution(GitHub contribution 浏览器)
来源仓库:https://github.com/linux2010/github-contribution
安装命令:
openclaw skills install github-contribution
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install github-contribution

简介

GitHub 开源项目代码贡献完整的工作流程。使用场景:当需要为开源项目解决问题或 bug 时,提供从 fork、同步、开发到提交 PR 的完整指导。包含 Chrome 浏览器 PR 提交支持。

SKILL.md

GitHub Contribution Skill

Purpose

Automated GitHub contribution workflow that handles fork synchronization, branch creation, and PR submission while maintaining clean fork state.

Core Features

1. Fork Protection & Synchronization

  • Main Branch Protection: Never commit directly to main branch
  • Automatic Sync: Regularly sync fork main with upstream official repository
  • Clean State Enforcement: Ensure fork main branch matches official repository exactly
  • Pollution Prevention: Prevent local work files from contaminating main branch

2. Automated Contribution Workflow

  • Fork Setup: Automatically configure upstream remote if not exists
  • Branch Creation: Create feature branches based on latest official code
  • PR Submission: Handle pull request creation with proper templates
  • Issue Integration: Link fixes to relevant GitHub issues

3. Safety Measures

  • Pre-flight Validation: Verify fork cleanliness before starting
  • Atomic Operations: All changes happen in isolated feature branches
  • Rollback Support: Easy recovery if something goes wrong
  • Permission Handling: Work within GitHub token permission constraints

Usage

Basic Command

./github-contribution.sh <username> <owner/repo> <issue-number> <branch-name> [projects-root]

Examples

# Fix issue #123 in openclaw/openclaw
./github-contribution.sh Linux2010 openclaw/openclaw 123 fix/issue-description

# Specify custom project root
./github-contribution.sh Linux2010 openclaw/openclaw 456 fix/bug-fix /custom/path

Fork Protection Best Practices

Main Branch Rules

  1. Never commit directly to fork's main branch
  2. Always sync first before creating new branches
  3. Use feature branches for all development work
  4. Regular cleanup of local pollution files

Safe Synchronization Script

#!/bin/bash
# sync-fork.sh - Safe fork synchronization

git checkout main
git fetch upstream
git reset --hard upstream/main
git clean -fdx  # Remove all untracked files

# Verify clean state
if [[ $(git status --porcelain) ]]; then
    echo "❌ Warning: Working tree not clean"
    exit 1
fi
echo "✅ Fork synchronized successfully"

Local Git Configuration

# Prevent accidental main branch pushes
git config branch.main.pushRemote no_push

# Set safe push default
git config push.default nothing

Workflow Steps

Step 1: Fork Validation

  • Check if fork exists and is accessible
  • Verify upstream remote configuration
  • Validate current fork state cleanliness

Step 2: Synchronization

  • Fetch latest from upstream official repository
  • Reset local main branch to match upstream exactly
  • Clean any untracked/local pollution files
  • Push synchronized state to fork (if permissions allow)

Step 3: Feature Branch Creation

  • Create new branch from clean main
  • Apply necessary changes and fixes
  • Commit with proper semantic format
  • Push feature branch to fork

Step 4: PR Creation

  • Generate PR with complete template
  • Link to relevant issue numbers
  • Include proper change type and scope
  • Add security impact assessment

🩺 Bug Fix Module: Change Plan

Before fixing any bug, always write a change plan first. This ensures minimal, safe changes and makes PR review easier.

The 5-Point Analysis

Answer these 5 questions in plain language before writing any code:

#QuestionPurpose
1Observed behaviorWhat's broken? (What the user sees)
2Expected behaviorWhat should happen? (Correct behavior)
3Suspected root causeWhere's the bug? (Specific code location)
4Safest seam to modifyMinimal change location? (Narrowest fix)
5Risk surfaceWhat else could break? (Impact scope)

Change Plan Template

## Change Plan for Issue #<number>

1. **Observed behavior**:
   <Describe what's broken - the user-visible symptom>

2. **Expected behavior**:
   <Describe what should happen instead>

3. **Suspected root cause**:
   <Point to specific file/line/function that causes the bug>

4. **Safest seam to modify**:
   <Identify the minimal code change location - smallest safe fix>

5. **Risk surface**:
   <List what could be affected by this change>

Example: Issue #5968

## Change Plan for Issue #5968

1. **Observed behavior**:
   `extract_content_or_reasoning()` crashes when `response.choices` is None, missing, or empty list.

2. **Expected behavior**:
   Function should return empty string gracefully when no usable choices exist.

3. **Suspected root cause**:
   Line `msg = response.choices[0].message` in `agent/auxiliary_client.py` assumes choices is always non-empty.

4. **Safest seam to modify**:
   Add a guard at the top of `extract_content_or_reasoning()` before accessing choices:
   `if not getattr(response, "choices", None): return ""`

5. **Risk surface**:
   Minimal - only affects edge cases where API response is malformed.

When to Use Change Plan

ScenarioRequired?
Bug fix✅ Always
Paper-cut UX improvement✅ Always
Feature addition❌ Use feature spec instead
Refactoring❌ Use refactor plan instead
Documentation fix❌ Not needed

Benefits of Change Plan

BenefitWhy It Matters
Forces understandingCan't fix what you don't understand
Defines boundariesPrevents scope creep and "opportunistic" changes
Reduces riskIdentifies potential side effects upfront
Speeds reviewMaintainer can understand intent in 20 seconds
Enables rollbackClear what was changed and why

Change Plan Checklist

Before coding:

  • [ ] Can you describe the bug in one sentence?
  • [ ] Can you point to the exact line causing it?
  • [ ] Is your fix the smallest possible change?
  • [ ] Have you identified what else could break?
  • [ ] Will this change need a regression test?

If you answered "no" to any question, do more investigation before coding.


Error Handling

Common Issues & Solutions

Fork Not Clean

  • Problem: Local main branch has extra commits/files
  • Solution: Force reset to upstream and clean untracked files

Permission Denied (Workflow Scope)

  • Problem: Token lacks workflow permissions
  • Solution: Use web-based PR creation or update token permissions

Upstream Not Configured

  • Problem: Missing upstream remote
  • Solution: Auto-add upstream remote pointing to official repository

Branch Already Exists

  • Problem: Feature branch already exists
  • Solution: Use unique branch naming or delete existing branch

Security Considerations

Token Permissions

  • Minimum Required: repo scope
  • Optional: workflow scope (for full automation)
  • Never Grant: Excessive permissions beyond contribution needs

Local Security

  • File Cleanup: Always clean working directory after contributions
  • Credential Management: Use secure credential storage
  • Audit Trail: Maintain logs of all contribution activities

Integration with Other Skills

PR Advocacy Skill

  • Hand off created PRs to PR Advocacy for monitoring
  • Share PR tracking information for continuous follow-up
  • Coordinate review response and maintenance

Document Spell Check Skill

  • Pre-validate documentation changes before PR creation
  • Ensure all text content passes spell checking
  • Maintain documentation quality standards

High-Quality PR Best Practices (Maximize Merge Success Rate)

🎯 Merge Success Rate Formula (Based on 30+ Merged PRs Analysis)

Merge Success Rate = 
  (PR Description Completeness × 0.2) +
  (Review Response Speed × 0.25) +
  (Test Coverage × 0.2) +
  (Conflict Resolution Status × 0.15) +
  (Review Resolution Rate × 0.2)

Target: > 80% success rate

✅ 10 Success Characteristics (Must Follow 100%)

  1. Complete PR Description - Use template, fill ALL required fields
  2. Fast Review Response - < 30 minutes average response time
  3. Small Focused Commits - 1 commit solves 1 problem
  4. 100% Test Coverage - Include edge cases and regression tests
  5. Zero Conflicts - Daily rebase upstream, keep CLEAN
  6. Changelog Updated - All user-visible changes
  7. Security Checklist - 5 required security questions
  8. Human Verification Statement - Manual test content + untested areas
  9. Review Conversations Resolved - 100% resolve bot review comments
  10. Rollback Plan - Rollback steps + known issues

📋 Pre-Submission Checklist

Before pushing PR:

Code Quality:

  • [ ] Title format: type(scope): description
  • [ ] Commit message: includes "what" + "why"
  • [ ] At least 1 new test case
  • [ ] CHANGELOG.md updated
  • [ ] 4-7 meaningful commits

CI Pre-flight (MUST pass locally):

  • [ ] pnpm protocol:check - Protocol validation
  • [ ] pnpm test - All tests pass
  • [ ] pnpm lint - No lint errors
  • [ ] pnpm tsc --noEmit - TypeScript compilation

Review Readiness:

  • [ ] Ready to respond within 24h
  • [ ] Greptile/Aisle Security comments addressed
  • [ ] Security questions answered (5 required)

📊 High Success Rate PR Patterns

Pattern 1: Security Fix Response (vincentkoc #44437)

7 commits in same day:
1. Main fix implementation
2. Changelog update
3. Merge main (resolve conflicts)
4. Tests: add coverage for review comments
5. Fix: address Greptile suggestions
6. Extra hardening (defensive programming)
7. Merge main (final sync)

Key Learnings:

  • ✅ Separate commits for review responses
  • ✅ Tests and docs as separate commits
  • ✅ Frequent merge main to resolve conflicts
  • ✅ Extra hardening shows professionalism

Pattern 2: Security Report Response (gumadeiras #44176)

When Aisle Security reports issues:

1. Quote SECURITY.md to explain why it's out of scope
2. But still fix it (defensive programming)
3. List specific hardening done
4. Provide verification commands

Key Learnings:

  • ✅ Respond to security reports first
  • ✅ Explain scope判断 basis
  • ✅ Still fix it (show cooperation)
  • ✅ Provide verification method

⚠️ Common Mistakes That Reduce Merge Rate

MistakeImpactSolution
❌ Missing Changelog-20%Always update CHANGELOG.md
❌ Slow review response (>24h)-25%Respond within 24h, ideally <30min
❌ Incomplete test coverage-20%Add tests for edge cases
❌ Merge conflicts-15%Daily rebase upstream
❌ Unresolved bot reviews-20%100% resolve all comments
❌ CI failuresAutomatic rejectPre-flight check locally

🎯 Quality Metrics

MetricTargetCurrent Best Practice
Greptile Score≥ 4/5Address all P1/P2 issues
Aisle Security0 unresolvedRespond or fix all
Test Coverage≥ 1 new testInclude edge cases
CI Pass Rate100%Pre-check locally
Behind upstream0 commitsDaily rebase
Response Time< 24hSame day preferred

📝 PR Template Best Practices

Title Format:

✅ fix(hooks): fail closed on unreadable loader paths
✅ feat(context-engine): plumb sessionKey into all methods
✅ docs: codify American English spelling convention
✅ security: include accountId in session keys

Commit Message Structure:

First line: What was done (concise description)

Second paragraph: Why (problem background, impact)

Optional: Regeneration-Prompt / AI assistance notes

Example (#44411):

fix(ci): restore generated protocol swift outputs

Regenerate the Swift protocol models so PushTestResult keeps the 
transport field required by the current gateway schema, and update 
protocol:check to diff both generated Swift destinations because 
the generator writes both files.

Regeneration-Prompt: |
  Investigate the protocol CI failure on current origin/main...

Best Practices

For Contributors

  • Always start from clean, synchronized main branch
  • Use descriptive branch names following convention
  • Fill complete PR templates with all required fields
  • Test changes locally before pushing
  • Always rebase on the original PR branch (never create new branches for rebase)
  • Follow High-Quality PR Best Practices (see section above)

PR Rebase Best Practices (Critical!)

Golden Rule: Always rebase on the original PR branch, never create a new branch.

Correct Rebase Workflow

# 1. Confirm current branch
git branch --show-current

# 2. Confirm PR's branch name
gh pr view <PR-number> --json headRefName --jq .headRefName

# 3. Switch to correct branch if needed
git checkout <PR-branch-name>

# 4. Rebase on the SAME branch (do NOT create new branch)
git fetch upstream
git rebase upstream/main

# 5. Push to the SAME branch
git push -f origin <same-branch-name>

Common Mistakes to Avoid

❌ Wrong✅ Correct
git checkout -b new-branch then rebaseStay on original branch, rebase there
Switch to different branch for rebaseRebase on PR's own branch
Skip branch confirmationAlways run git branch --show-current first
Don't verify PR branch nameUse gh pr view to confirm

Why This Matters?

  1. Clean branch history - No duplicate branches created
  2. Avoid confusion - PR always linked to same branch
  3. Reduce errors - Won't push to wrong branch
  4. Easy management - All changes in one place

Pre-Rebase Checklist

Before rebasing:

  • [ ] Run git branch --show-current to confirm current branch
  • [ ] Run gh pr view <num> --json headRefName to confirm PR branch
  • [ ] Ensure both names match before proceeding
  • [ ] If mismatch, git checkout <PR-branch> first

Post-Rebase Checklist

After rebasing:

  • [ ] Run git log --oneline -3 to verify commits
  • [ ] Run pnpm test or relevant tests
  • [ ] Run git push -f origin <branch> to update PR

Example: Rebase PR #48568

# Check current branch
$ git branch --show-current
fix/47752-final  # ✅ Correct!

# Confirm PR branch
$ gh pr view 48568 --json headRefName --jq .headRefName
fix/47752-final  # ✅ Matches!

# Rebase on same branch
git fetch upstream
git rebase upstream/main

# Test
pnpm test src/infra/heartbeat-runner.timeout.test.ts

# Push to same branch
git push -f origin fix/47752-final

Troubleshooting

Problem: Accidentally created new branch during rebase

Solution:

# Go back to original branch
git checkout <original-branch>

# Rebase there instead
git rebase upstream/main

# Delete the accidental branch
git branch -D <accidental-branch>

# Push to original branch
git push -f origin <original-branch>

For Maintainers

  • Regularly audit fork cleanliness
  • Update synchronization scripts as needed
  • Monitor token permissions and security
  • Document contribution workflows for team members

Limitations

GitHub Fork Restrictions

  • Cannot set full branch protection rules on forks
  • Limited automation capabilities without workflow permissions
  • Manual intervention sometimes required for complex scenarios

Workarounds

  • Use local git hooks for additional protection
  • Implement manual verification steps in workflow
  • Leverage GitHub web interface for final PR creation when needed

Maintenance

Updates

  • Regular script updates for new GitHub API changes
  • Security patches for authentication methods
  • Performance improvements for large repositories

Monitoring

  • Track success/failure rates of contribution attempts
  • Monitor GitHub API rate limit usage
  • Collect user feedback for workflow improvements

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

91.58%
按下载量换算7,498

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills