GitHub Automation via Rube MCP
Automate GitHub repository management, issue tracking, pull request workflows, branch operations, and CI/CD through Composio's GitHub toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active GitHub connection via
RUBE_MANAGE_CONNECTIONS with toolkit github
- Always call
RUBE_SEARCH_TOOLS first to get current tool schemas
Setup
Get 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.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit github
- If connection is not ACTIVE, follow the returned auth link to complete GitHub OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create and Manage Issues
When 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-insensitive
repo: Repository name without .git extension
title: Issue title (required for creation)
body: Issue description (supports Markdown)
labels: Array of label names
assignees: Array of GitHub usernames
state: 'open', 'closed', or 'all' for filtering
Pitfalls:
GITHUB_LIST_REPOSITORY_ISSUES returns both issues AND pull requests; check pull_request field to distinguish
- Only users with push access can set assignees, labels, and milestones; they are silently dropped otherwise
- Pagination:
per_page max 100; iterate pages until empty
2. Manage Pull Requests
When 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 merged
GITHUB_MERGE_A_PULL_REQUEST can be rejected if PR is draft, closed, or branch protection applies
- Always verify mergeable status with
GITHUB_GET_A_PULL_REQUEST immediately before merging
- Require explicit user confirmation before calling MERGE
3. Manage Repositories and Branches
When 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 name
private: Boolean for visibility
ref: Full reference path (e.g., 'refs/heads/new-branch')
sha: Commit SHA to point the new reference to
default_branch: Default branch name
Pitfalls:
GITHUB_CREATE_A_REFERENCE only creates NEW references; use GITHUB_UPDATE_A_REFERENCE for existing ones
ref must start with 'refs/' and contain at least two slashes
GITHUB_LIST_BRANCHES paginates via page/per_page; iterate until empty page
GITHUB_DELETE_A_REPOSITORY is permanent and irreversible; requires admin privileges
4. Search Code and Commits
When 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 listing
author: Filter by commit author
since/until: ISO 8601 date range for commits
Pitfalls:
- Code search only indexes files under 384KB on default branch
- Maximum 1000 results returned from code search
GITHUB_SEARCH_COMMITS_BY_AUTHOR requires keywords in addition to qualifiers; qualifier-only queries are not allowed
GITHUB_LIST_COMMITS returns 409 on empty repos
5. Manage CI/CD and Deployments
When 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 dispatch
inputs: JSON string of workflow inputs matching on.workflow_dispatch.inputs
enprojectnment: Filter deployments by enprojectnment name
Pitfalls:
GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT requires the workflow to have workflow_dispatch trigger configured
- Full path
.github/workflows/main.yml is auto-stripped to just main.yml
- Inputs max 10 key-value pairs; must match workflow's
on.workflow_dispatch.inputs definitions
6. Manage Users and Permissions
When 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 filtering
permission: Filter by 'pull', 'triage', 'push', 'maintain', 'admin'
branch: Branch name for protection rules
enforce_admins: Whether protection applies to admins
Pitfalls:
GITHUB_GET_BRANCH_PROTECTION returns 404 for unprotected branches; treat as no protection rules
- Determine push ability from
permissions.push or role_name, not display labels
GITHUB_LIST_REPOSITORY_COLLABORATORS paginates; iterate all pages
GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER may be inconclusive for non-collaborators
Common Patterns
ID Resolution
- Repo name -> owner/repo:
GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER
- PR number -> PR details:
GITHUB_FIND_PULL_REQUESTS then GITHUB_GET_A_PULL_REQUEST
- Branch name -> SHA:
GITHUB_GET_A_BRANCH
- Workflow name -> ID:
GITHUB_LIST_REPOSITORY_WORKFLOWS
Pagination
All list endpoints use page-based pagination:
page: Page number (starts at 1)
per_page: Results per page (max 100)
- Iterate until response returns fewer results than
per_page
Safety
- Always verify PR mergeable status before merge
- Require explicit user confirmation for destructive operations (merge, delete)
- Check CI status with
GITHUB_LIST_CHECK_RUNS_FOR_A_REF before merging
Known Pitfalls
- Issues vs PRs:
GITHUB_LIST_REPOSITORY_ISSUES returns both; check pull_request field
- Pagination limits:
per_page max 100; always iterate pages until empty
- Branch creation:
GITHUB_CREATE_A_REFERENCE fails with 422 if reference already exists
- Merge guards: Merge can fail due to branch protection, failing checks, or draft status
- Code search limits: Only files <384KB on default branch; max 1000 results
- Commit search: Requires search text keywords alongside qualifiers
- Destructive actions: Repo deletion is irreversible; merge cannot be undone
- Silent permission drops: Labels, assignees, milestones silently dropped without push access
Quick Reference
| 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 |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for enprojectnment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
1---2name: github-automation3description: 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.4---56# GitHub Automation via Rube MCP78Automate GitHub repository management, issue tracking, pull request workflows, branch operations, and CI/CD through Composio's GitHub toolkit.910## Prerequisites1112- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)13- Active GitHub connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `github`14- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1516## Setup1718**Get 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.19201. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds212. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `github`223. If connection is not ACTIVE, follow the returned auth link to complete GitHub OAuth234. Confirm connection status shows ACTIVE before running any workflows2425## Core Workflows2627### 1. Create and Manage Issues2829**When to use**: User wants to create, list, or manage GitHub issues3031**Tool sequence**:321. `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` - Find target repo if unknown [Prerequisite]332. `GITHUB_LIST_REPOSITORY_ISSUES` - List existing issues (includes PRs) [Required]343. `GITHUB_CREATE_AN_ISSUE` - Create a new issue [Required]354. `GITHUB_CREATE_AN_ISSUE_COMMENT` - Add comments to an issue [Optional]365. `GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS` - Search across repos by keyword [Optional]3738**Key parameters**:39- `owner`: Repository owner (username or org), case-insensitive40- `repo`: Repository name without .git extension41- `title`: Issue title (required for creation)42- `body`: Issue description (supports Markdown)43- `labels`: Array of label names44- `assignees`: Array of GitHub usernames45- `state`: 'open', 'closed', or 'all' for filtering4647**Pitfalls**:48- `GITHUB_LIST_REPOSITORY_ISSUES` returns both issues AND pull requests; check `pull_request` field to distinguish49- Only users with push access can set assignees, labels, and milestones; they are silently dropped otherwise50- Pagination: `per_page` max 100; iterate pages until empty5152### 2. Manage Pull Requests5354**When to use**: User wants to create, review, or merge pull requests5556**Tool sequence**:571. `GITHUB_FIND_PULL_REQUESTS` - Search and filter PRs [Required]582. `GITHUB_GET_A_PULL_REQUEST` - Get detailed PR info including mergeable status [Required]593. `GITHUB_LIST_PULL_REQUESTS_FILES` - Review changed files [Optional]604. `GITHUB_CREATE_A_PULL_REQUEST` - Create a new PR [Required]615. `GITHUB_CREATE_AN_ISSUE_COMMENT` - Post review comments [Optional]626. `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` - Verify CI status before merge [Optional]637. `GITHUB_MERGE_A_PULL_REQUEST` - Merge after explicit user approval [Required]6465**Key parameters**:66- `head`: Source branch with changes (must exist; for cross-repo: 'username:branch')67- `base`: Target branch to merge into (e.g., 'main')68- `title`: PR title (required unless `issue` number provided)69- `merge_method`: 'merge', 'squash', or 'rebase'70- `state`: 'open', 'closed', or 'all'7172**Pitfalls**:73- `GITHUB_CREATE_A_PULL_REQUEST` fails with 422 if base/head are invalid, identical, or already merged74- `GITHUB_MERGE_A_PULL_REQUEST` can be rejected if PR is draft, closed, or branch protection applies75- Always verify mergeable status with `GITHUB_GET_A_PULL_REQUEST` immediately before merging76- Require explicit user confirmation before calling MERGE7778### 3. Manage Repositories and Branches7980**When to use**: User wants to create repos, manage branches, or update repo settings8182**Tool sequence**:831. `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` - List user's repos [Required]842. `GITHUB_GET_A_REPOSITORY` - Get detailed repo info [Optional]853. `GITHUB_CREATE_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER` - Create personal repo [Required]864. `GITHUB_CREATE_AN_ORGANIZATION_REPOSITORY` - Create org repo [Alternative]875. `GITHUB_LIST_BRANCHES` - List branches [Required]886. `GITHUB_CREATE_A_REFERENCE` - Create new branch from SHA [Required]897. `GITHUB_UPDATE_A_REPOSITORY` - Update repo settings [Optional]9091**Key parameters**:92- `name`: Repository name93- `private`: Boolean for visibility94- `ref`: Full reference path (e.g., 'refs/heads/new-branch')95- `sha`: Commit SHA to point the new reference to96- `default_branch`: Default branch name9798**Pitfalls**:99- `GITHUB_CREATE_A_REFERENCE` only creates NEW references; use `GITHUB_UPDATE_A_REFERENCE` for existing ones100- `ref` must start with 'refs/' and contain at least two slashes101- `GITHUB_LIST_BRANCHES` paginates via `page`/`per_page`; iterate until empty page102- `GITHUB_DELETE_A_REPOSITORY` is permanent and irreversible; requires admin privileges103104### 4. Search Code and Commits105106**When to use**: User wants to find code, files, or commits across repositories107108**Tool sequence**:1091. `GITHUB_SEARCH_CODE` - Search file contents and paths [Required]1102. `GITHUB_SEARCH_CODE_ALL_PAGES` - Multi-page code search [Alternative]1113. `GITHUB_SEARCH_COMMITS_BY_AUTHOR` - Search commits by author/date/org [Required]1124. `GITHUB_LIST_COMMITS` - List commits for a specific repo [Alternative]1135. `GITHUB_GET_A_COMMIT` - Get detailed commit info [Optional]1146. `GITHUB_GET_REPOSITORY_CONTENT` - Get file content [Optional]115116**Key parameters**:117- `q`: Search query with qualifiers (`language:python`, `repo:owner/repo`, `extension:js`)118- `owner`/`repo`: For repo-specific commit listing119- `author`: Filter by commit author120- `since`/`until`: ISO 8601 date range for commits121122**Pitfalls**:123- Code search only indexes files under 384KB on default branch124- Maximum 1000 results returned from code search125- `GITHUB_SEARCH_COMMITS_BY_AUTHOR` requires keywords in addition to qualifiers; qualifier-only queries are not allowed126- `GITHUB_LIST_COMMITS` returns 409 on empty repos127128### 5. Manage CI/CD and Deployments129130**When to use**: User wants to view workflows, check CI status, or manage deployments131132**Tool sequence**:1331. `GITHUB_LIST_REPOSITORY_WORKFLOWS` - List GitHub Actions workflows [Required]1342. `GITHUB_GET_A_WORKFLOW` - Get workflow details by ID or filename [Optional]1353. `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` - Manually trigger a workflow [Required]1364. `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` - Check CI status for a commit/branch [Required]1375. `GITHUB_LIST_DEPLOYMENTS` - List deployments [Optional]1386. `GITHUB_GET_A_DEPLOYMENT_STATUS` - Get deployment status [Optional]139140**Key parameters**:141- `workflow_id`: Numeric ID or filename (e.g., 'ci.yml')142- `ref`: Git reference (branch/tag) for workflow dispatch143- `inputs`: JSON string of workflow inputs matching `on.workflow_dispatch.inputs`144- `enprojectnment`: Filter deployments by enprojectnment name145146**Pitfalls**:147- `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` requires the workflow to have `workflow_dispatch` trigger configured148- Full path `.github/workflows/main.yml` is auto-stripped to just `main.yml`149- Inputs max 10 key-value pairs; must match workflow's `on.workflow_dispatch.inputs` definitions150151### 6. Manage Users and Permissions152153**When to use**: User wants to check collaborators, permissions, or branch protection154155**Tool sequence**:1561. `GITHUB_LIST_REPOSITORY_COLLABORATORS` - List repo collaborators [Required]1572. `GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER` - Check specific user's access [Optional]1583. `GITHUB_GET_BRANCH_PROTECTION` - Inspect branch protection rules [Required]1594. `GITHUB_UPDATE_BRANCH_PROTECTION` - Update protection settings [Optional]1605. `GITHUB_ADD_A_REPOSITORY_COLLABORATOR` - Add/update collaborator [Optional]161162**Key parameters**:163- `affiliation`: 'outside', 'direct', or 'all' for collaborator filtering164- `permission`: Filter by 'pull', 'triage', 'push', 'maintain', 'admin'165- `branch`: Branch name for protection rules166- `enforce_admins`: Whether protection applies to admins167168**Pitfalls**:169- `GITHUB_GET_BRANCH_PROTECTION` returns 404 for unprotected branches; treat as no protection rules170- Determine push ability from `permissions.push` or `role_name`, not display labels171- `GITHUB_LIST_REPOSITORY_COLLABORATORS` paginates; iterate all pages172- `GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER` may be inconclusive for non-collaborators173174## Common Patterns175176### ID Resolution177- **Repo name -> owner/repo**: `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER`178- **PR number -> PR details**: `GITHUB_FIND_PULL_REQUESTS` then `GITHUB_GET_A_PULL_REQUEST`179- **Branch name -> SHA**: `GITHUB_GET_A_BRANCH`180- **Workflow name -> ID**: `GITHUB_LIST_REPOSITORY_WORKFLOWS`181182### Pagination183All list endpoints use page-based pagination:184- `page`: Page number (starts at 1)185- `per_page`: Results per page (max 100)186- Iterate until response returns fewer results than `per_page`187188### Safety189- Always verify PR mergeable status before merge190- Require explicit user confirmation for destructive operations (merge, delete)191- Check CI status with `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` before merging192193## Known Pitfalls194195- **Issues vs PRs**: `GITHUB_LIST_REPOSITORY_ISSUES` returns both; check `pull_request` field196- **Pagination limits**: `per_page` max 100; always iterate pages until empty197- **Branch creation**: `GITHUB_CREATE_A_REFERENCE` fails with 422 if reference already exists198- **Merge guards**: Merge can fail due to branch protection, failing checks, or draft status199- **Code search limits**: Only files <384KB on default branch; max 1000 results200- **Commit search**: Requires search text keywords alongside qualifiers201- **Destructive actions**: Repo deletion is irreversible; merge cannot be undone202- **Silent permission drops**: Labels, assignees, milestones silently dropped without push access203204## Quick Reference205206| Task | Tool Slug | Key Params |207|------|-----------|------------|208| List repos | `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` | `type`, `sort`, `per_page` |209| Get repo | `GITHUB_GET_A_REPOSITORY` | `owner`, `repo` |210| Create issue | `GITHUB_CREATE_AN_ISSUE` | `owner`, `repo`, `title`, `body` |211| List issues | `GITHUB_LIST_REPOSITORY_ISSUES` | `owner`, `repo`, `state` |212| Find PRs | `GITHUB_FIND_PULL_REQUESTS` | `repo`, `state`, `author` |213| Create PR | `GITHUB_CREATE_A_PULL_REQUEST` | `owner`, `repo`, `head`, `base`, `title` |214| Merge PR | `GITHUB_MERGE_A_PULL_REQUEST` | `owner`, `repo`, `pull_number`, `merge_method` |215| List branches | `GITHUB_LIST_BRANCHES` | `owner`, `repo` |216| Create branch | `GITHUB_CREATE_A_REFERENCE` | `owner`, `repo`, `ref`, `sha` |217| Search code | `GITHUB_SEARCH_CODE` | `q` |218| List commits | `GITHUB_LIST_COMMITS` | `owner`, `repo`, `author`, `since` |219| Search commits | `GITHUB_SEARCH_COMMITS_BY_AUTHOR` | `q` |220| List workflows | `GITHUB_LIST_REPOSITORY_WORKFLOWS` | `owner`, `repo` |221| Trigger workflow | `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` | `owner`, `repo`, `workflow_id`, `ref` |222| Check CI | `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` | `owner`, `repo`, ref |223| List collaborators | `GITHUB_LIST_REPOSITORY_COLLABORATORS` | `owner`, `repo` |224| Branch protection | `GITHUB_GET_BRANCH_PROTECTION` | `owner`, `repo`, `branch` |225226## When to Use227This skill is applicable to execute the workflow or actions described in the overview.228229## Limitations230- Use this skill only when the task clearly matches the scope described above.231- Do not treat the output as a substitute for enprojectnment-specific validation, testing, or expert review.232- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.