Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate GitHub repositories, issues, pull requests, branches, CI/CD, and permissions via Rube MCP (Composio). Manage code workflows, review PRs, search code, and handle deployments programmatically.
.claude/skills/lingxling-github-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-18 | ✗→✓ | ▲ Improved | 119% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 39% | 0% |
| case-11 | ✓→✗ | ▼ Worse | 222% | 0% |
| case-12 | ✓→✗ | ▼ Worse | 229% | 0% |
| case-17 | ✓→✓ | = Same ✓ | 594% | 0% |
Automate GitHub repository management, issue tracking, pull request workflows, branch operations, and CI/CD through Composio's GitHub toolkit.
RUBE_MANAGE_CONNECTIONS with toolkit githubRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit githubWhen to use: User wants to create, list, or manage GitHub issues
Tool sequence:
GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER - Find target repo if unknown Prerequisite]GITHUB_LIST_REPOSITORY_ISSUES - List existing issues (includes PRs) Required]GITHUB_CREATE_AN_ISSUE - Create a new issue Required]GITHUB_CREATE_AN_ISSUE_COMMENT - Add comments to an issue Optional]GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS - Search across repos by keyword Optional]Key parameters:
owner: Repository owner (username or org), case-insensitiverepo: Repository name without .git extensiontitle: Issue title (required for creation)body: Issue description (supports Markdown)labels: Array of label namesassignees: Array of GitHub usernamesstate: 'open', 'closed', or 'all' for filteringPitfalls:
GITHUB_LIST_REPOSITORY_ISSUES returns both issues AND pull requests; check pull_request field to distinguishper_page max 100; iterate pages until emptyWhen to use: User wants to create, review, or merge pull requests
Tool sequence:
GITHUB_FIND_PULL_REQUESTS - Search and filter PRs Required]GITHUB_GET_A_PULL_REQUEST - Get detailed PR info including mergeable status Required]GITHUB_LIST_PULL_REQUESTS_FILES - Review changed files Optional]GITHUB_CREATE_A_PULL_REQUEST - Create a new PR Required]GITHUB_CREATE_AN_ISSUE_COMMENT - Post review comments Optional]GITHUB_LIST_CHECK_RUNS_FOR_A_REF - Verify CI status before merge Optional]GITHUB_MERGE_A_PULL_REQUEST - Merge after explicit user approval Required]Key parameters:
head: Source branch with changes (must exist; for cross-repo: 'username:branch')base: Target branch to merge into (e.g., 'main')title: PR title (required unless issue number provided)merge_method: 'merge', 'squash', or 'rebase'state: 'open', 'closed', or 'all'Pitfalls:
GITHUB_CREATE_A_PULL_REQUEST fails with 422 if base/head are invalid, identical, or already mergedGITHUB_MERGE_A_PULL_REQUEST can be rejected if PR is draft, closed, or branch protection appliesGITHUB_GET_A_PULL_REQUEST immediately before mergingWhen to use: User wants to create repos, manage branches, or update repo settings
Tool sequence:
GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER - List user's repos Required]GITHUB_GET_A_REPOSITORY - Get detailed repo info Optional]GITHUB_CREATE_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER - Create personal repo Required]GITHUB_CREATE_AN_ORGANIZATION_REPOSITORY - Create org repo Alternative]GITHUB_LIST_BRANCHES - List branches Required]GITHUB_CREATE_A_REFERENCE - Create new branch from SHA Required]GITHUB_UPDATE_A_REPOSITORY - Update repo settings Optional]Key parameters:
name: Repository nameprivate: Boolean for visibilityref: Full reference path (e.g., 'refs/heads/new-branch')sha: Commit SHA to point the new reference todefault_branch: Default branch namePitfalls:
GITHUB_CREATE_A_REFERENCE only creates NEW references; use GITHUB_UPDATE_A_REFERENCE for existing onesref must start with 'refs/' and contain at least two slashesGITHUB_LIST_BRANCHES paginates via page/per_page; iterate until empty pageGITHUB_DELETE_A_REPOSITORY is permanent and irreversible; requires admin privilegesWhen to use: User wants to find code, files, or commits across repositories
Tool sequence:
GITHUB_SEARCH_CODE - Search file contents and paths Required]GITHUB_SEARCH_CODE_ALL_PAGES - Multi-page code search Alternative]GITHUB_SEARCH_COMMITS_BY_AUTHOR - Search commits by author/date/org Required]GITHUB_LIST_COMMITS - List commits for a specific repo Alternative]GITHUB_GET_A_COMMIT - Get detailed commit info Optional]GITHUB_GET_REPOSITORY_CONTENT - Get file content Optional]Key parameters:
q: Search query with qualifiers (language:python, repo:owner/repo, extension:js)owner/repo: For repo-specific commit listingauthor: Filter by commit authorsince/until: ISO 8601 date range for commitsPitfalls:
GITHUB_SEARCH_COMMITS_BY_AUTHOR requires keywords in addition to qualifiers; qualifier-only queries are not allowedGITHUB_LIST_COMMITS returns 409 on empty reposWhen to use: User wants to view workflows, check CI status, or manage deployments
Tool sequence:
GITHUB_LIST_REPOSITORY_WORKFLOWS - List GitHub Actions workflows Required]GITHUB_GET_A_WORKFLOW - Get workflow details by ID or filename Optional]GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT - Manually trigger a workflow Required]GITHUB_LIST_CHECK_RUNS_FOR_A_REF - Check CI status for a commit/branch Required]GITHUB_LIST_DEPLOYMENTS - List deployments Optional]GITHUB_GET_A_DEPLOYMENT_STATUS - Get deployment status Optional]Key parameters:
workflow_id: Numeric ID or filename (e.g., 'ci.yml')ref: Git reference (branch/tag) for workflow dispatchinputs: JSON string of workflow inputs matching on.workflow_dispatch.inputsenvironment: Filter deployments by environment namePitfalls:
GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT requires the workflow to have workflow_dispatch trigger configured.github/workflows/main.yml is auto-stripped to just main.ymlon.workflow_dispatch.inputs definitionsWhen to use: User wants to check collaborators, permissions, or branch protection
Tool sequence:
GITHUB_LIST_REPOSITORY_COLLABORATORS - List repo collaborators Required]GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER - Check specific user's access Optional]GITHUB_GET_BRANCH_PROTECTION - Inspect branch protection rules Required]GITHUB_UPDATE_BRANCH_PROTECTION - Update protection settings Optional]GITHUB_ADD_A_REPOSITORY_COLLABORATOR - Add/update collaborator Optional]Key parameters:
affiliation: 'outside', 'direct', or 'all' for collaborator filteringpermission: Filter by 'pull', 'triage', 'push', 'maintain', 'admin'branch: Branch name for protection rulesenforce_admins: Whether protection applies to adminsPitfalls:
GITHUB_GET_BRANCH_PROTECTION returns 404 for unprotected branches; treat as no protection rulespermissions.push or role_name, not display labelsGITHUB_LIST_REPOSITORY_COLLABORATORS paginates; iterate all pagesGITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER may be inconclusive for non-collaboratorsGITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USERGITHUB_FIND_PULL_REQUESTS then GITHUB_GET_A_PULL_REQUESTGITHUB_GET_A_BRANCHGITHUB_LIST_REPOSITORY_WORKFLOWSAll list endpoints use page-based pagination:
page: Page number (starts at 1)per_page: Results per page (max 100)per_pageGITHUB_LIST_CHECK_RUNS_FOR_A_REF before mergingGITHUB_LIST_REPOSITORY_ISSUES returns both; check pull_request fieldper_page max 100; always iterate pages until emptyGITHUB_CREATE_A_REFERENCE fails with 422 if reference already exists| Task | Tool Slug | Key Params | |------|-----------|------------| | List repos | GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER | type, sort, per_page | | Get repo | GITHUB_GET_A_REPOSITORY | owner, repo | | Create issue | GITHUB_CREATE_AN_ISSUE | owner, repo, title, body | | List issues | GITHUB_LIST_REPOSITORY_ISSUES | owner, repo, state | | Find PRs | GITHUB_FIND_PULL_REQUESTS | repo, state, author | | Create PR | GITHUB_CREATE_A_PULL_REQUEST | owner, repo, head, base, title | | Merge PR | GITHUB_MERGE_A_PULL_REQUEST | owner, repo, pull_number, merge_method | | List branches | GITHUB_LIST_BRANCHES | owner, repo | | Create branch | GITHUB_CREATE_A_REFERENCE | owner, repo, ref, sha | | Search code | GITHUB_SEARCH_CODE | q | | List commits | GITHUB_LIST_COMMITS | owner, repo, author, since | | Search commits | GITHUB_SEARCH_COMMITS_BY_AUTHOR | q | | List workflows | GITHUB_LIST_REPOSITORY_WORKFLOWS | owner, repo | | Trigger workflow | GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT | owner, repo, workflow_id, ref | | Check CI | GITHUB_LIST_CHECK_RUNS_FOR_A_REF | owner, repo, ref | | List collaborators | GITHUB_LIST_REPOSITORY_COLLABORATORS | owner, repo | | Branch protection | GITHUB_GET_BRANCH_PROTECTION | owner, repo, branch |
This skill is applicable to execute the workflow or actions described in the overview.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 17,106 | 6,779 | -60% | 1 | 1 | 0% | 3,106 | 3,722 | +20% | 0 | 0 | — |
case-02 | fail→fail | 7,230 | 6,467 | -11% | 1 | 1 | 0% | 433 | 3,657 | +745% | 0 | 0 | — |
case-03 | fail→fail | 9,363 | 5,328 | -43% | 1 | 1 | 0% | 709 | 3,602 | +408% | 0 | 0 | — |
case-04 | fail→fail | 3,987 | 7,524 | +89% | 1 | 1 | 0% | 765 | 4,672 | +511% | 0 | 0 | — |
case-05 | fail→fail | 10,839 | 8,273 | -24% | 1 | 1 | 0% | 1,906 | 4,628 | +143% | 0 | 0 | — |
case-06 | fail→fail | 19,211 | 9,233 | -52% | 1 | 1 | 0% | 3,124 | 4,676 | +50% | 0 | 0 | — |
case-07 | fail→fail | 4,619 | 6,591 | +43% | 1 | 1 | 0% | 721 | 3,529 | +389% | 0 | 0 | — |
case-08 | fail→fail | 18,516 | 21,828 | +18% | 1 | 1 | 0% | 720 | 3,636 | +405% | 0 | 0 | — |
case-09 | pass→fail | 17,861 | 6,150 | -66% | 1 | 1 | 0% | 2,526 | 3,520 | +39% | 0 | 0 | — |
case-10 | fail→fail | 2,494 | 5,634 | +126% | 1 | 1 | 0% | 420 | 3,594 | +756% | 0 | 0 | — |
case-11 | pass→fail | 5,055 | 6,297 | +25% | 1 | 1 | 0% | 1,087 | 3,504 | +222% | 0 | 0 | — |
case-12 | pass→fail | 9,400 | 5,756 | -39% | 1 | 1 | 0% | 1,041 | 3,422 | +229% | 0 | 0 | — |
case-13 | fail→fail | 5,928 | 4,261 | -28% | 1 | 1 | 0% | 315 | 3,426 | +988% | 0 | 0 | — |
case-14 | fail→fail | 10,642 | 4,175 | -61% | 1 | 1 | 0% | 1,997 | 3,356 | +68% | 0 | 0 | — |
case-15 | fail→fail | 7,608 | 2,553 | -66% | 1 | 1 | 0% | 1,243 | 3,596 | +189% | 0 | 0 | — |
case-16 | fail→fail | 16,717 | 5,824 | -65% | 1 | 1 | 0% | 2,849 | 4,105 | +44% | 0 | 0 | — |
case-17 | pass→pass | 3,043 | 8,431 | +177% | 1 | 1 | 0% | 599 | 4,155 | +594% | 0 | 0 | — |
case-18 | fail→pass | 10,425 | 4,019 | -61% | 1 | 1 | 0% | 1,782 | 3,895 | +119% | 0 | 0 | — |
case-19 | pass→pass | 13,901 | 8,665 | -38% | 1 | 1 | 0% | 2,254 | 4,887 | +117% | 0 | 0 | — |
case-20 | pass→pass | 6,885 | 5,039 | -27% | 1 | 1 | 0% | 1,318 | 4,228 | +221% | 0 | 0 | — |
case-21 | pass→pass | 5,355 | 3,014 | -44% | 1 | 1 | 0% | 872 | 3,701 | +324% | 0 | 0 | — |
case-22 | pass→pass | 10,345 | 5,579 | -46% | 1 | 1 | 0% | 1,884 | 4,180 | +122% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 11 counted toward the lift figure. The other 11 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -9 percentage points is the difference between those two pass rates over the 11 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.