opencode-skills-collection 4.0.1 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +8 -1
- package/bundled-skills/ad-campaign-analyzer/SKILL.md +382 -0
- package/bundled-skills/anywrite/SKILL.md +106 -0
- package/bundled-skills/competitor-ad-intelligence/SKILL.md +394 -0
- package/bundled-skills/diagnose-android-overheating/SKILL.md +198 -0
- package/bundled-skills/diagnose-android-overheating/agents/openai.yaml +4 -0
- package/bundled-skills/diagnose-android-overheating/references/evidence-and-interpretation.md +168 -0
- package/bundled-skills/ditto/SKILL.md +173 -0
- package/bundled-skills/docs/contributors/quality-bar.md +1 -1
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/merge-batch.md +6 -5
- package/bundled-skills/docs/maintainers/pr-autonomy.md +4 -2
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/faq.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +4 -4
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/finishing-a-development-branch/SKILL.md +7 -1
- package/bundled-skills/git-pr-workflows-git-workflow/SKILL.md +87 -111
- package/bundled-skills/git-pushing/SKILL.md +3 -1
- package/bundled-skills/github-automation/SKILL.md +76 -218
- package/bundled-skills/optim-agent/SKILL.md +78 -0
- package/bundled-skills/repo-maintainer/SKILL.md +67 -426
- package/bundled-skills/sshepherd/SKILL.md +107 -0
- package/package.json +2 -2
- package/skills_index.json +235 -4
|
@@ -1,148 +1,124 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: git-pr-workflows-git-workflow
|
|
3
|
-
description: "Orchestrate
|
|
3
|
+
description: "Orchestrate review, tests, commits, branch pushes, and pull-request creation with parallel agents. Use when completed changes must move through validation into a PR or guarded merge."
|
|
4
4
|
risk: critical
|
|
5
5
|
source: community
|
|
6
6
|
date_added: "2026-02-27"
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
#
|
|
9
|
+
# Guarded Git Pull Request Workflow
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Move completed changes from local review to a verified pull request without bypassing repository policy or branch protection.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
## When to Use
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Use for completed implementation work that must be reviewed, tested, committed, pushed to a topic branch, and opened as a pull request. Use the repository's dedicated maintainer or release workflow instead when one is mandatory.
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
- Needing guidance, best practices, or checklists for complete git workflow with multi-agent orchestration
|
|
17
|
+
## Policy Gate
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
Before mutation:
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
1. Read `AGENTS.md`, contribution guidance, maintainer docs, and relevant nested instructions.
|
|
22
|
+
2. Inspect the current branch, worktree, remotes, upstream, and effective target-branch protection.
|
|
23
|
+
3. Discover repository-native validation, commit, PR, merge, and release commands.
|
|
24
|
+
4. Preserve unrelated dirty and staged files.
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
Repository policy wins over flags and user shorthand. Trunk-based development does not imply a direct push: when the target is protected, use a short-lived branch and pull request. If a repository defines a mandatory maintainer skill or guarded merge command, hand off merge and release actions to it. In `agentic-awesome-skills`, use `antigravity-maintainer-batch-release` and `npm run merge:batch`.
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
- Apply relevant best practices and validate outcomes.
|
|
29
|
-
- Provide actionable steps and verification.
|
|
30
|
-
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
28
|
+
## Inputs
|
|
31
29
|
|
|
32
|
-
|
|
30
|
+
Resolve these from the request and repository:
|
|
33
31
|
|
|
34
|
-
|
|
32
|
+
- target branch, defaulting to the repository default branch;
|
|
33
|
+
- intended changed files and excluded user work;
|
|
34
|
+
- required test, lint, security, build, and documentation checks;
|
|
35
|
+
- branch naming and commit-message conventions;
|
|
36
|
+
- draft or ready-for-review PR state;
|
|
37
|
+
- required reviewers, labels, issue links, and merge method.
|
|
35
38
|
|
|
36
|
-
|
|
37
|
-
- `--skip-tests`: Skip automated test execution (use with caution)
|
|
38
|
-
- `--draft-pr`: Create PR as draft for work-in-progress
|
|
39
|
-
- `--no-push`: Perform all checks but don't push to remote
|
|
40
|
-
- `--squash`: Squash commits before pushing
|
|
41
|
-
- `--conventional`: Enforce Conventional Commits format strictly
|
|
42
|
-
- `--trunk-based`: Use trunk-based development workflow
|
|
43
|
-
- `--feature-branch`: Use feature branch workflow (default)
|
|
39
|
+
Ask only when a missing choice changes the result materially.
|
|
44
40
|
|
|
45
|
-
##
|
|
41
|
+
## Workflow
|
|
46
42
|
|
|
47
|
-
### 1.
|
|
48
|
-
- Use Task tool with subagent_type="code-reviewer"
|
|
49
|
-
- Prompt: "Review all uncommitted changes for code quality issues. Check for: 1) Code style violations, 2) Security vulnerabilities, 3) Performance concerns, 4) Missing error handling, 5) Incomplete implementations. Generate a detailed report with severity levels (critical/high/medium/low) and provide specific line-by-line feedback. Output format: JSON with {issues: [], summary: {critical: 0, high: 0, medium: 0, low: 0}, recommendations: []}"
|
|
50
|
-
- Expected output: Structured code review report for next phase
|
|
43
|
+
### 1. Capture the exact change
|
|
51
44
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
45
|
+
```bash
|
|
46
|
+
git status --short --branch
|
|
47
|
+
git diff --stat
|
|
48
|
+
git diff --cached --stat
|
|
49
|
+
git branch --show-current
|
|
50
|
+
git remote -v
|
|
51
|
+
```
|
|
57
52
|
|
|
58
|
-
|
|
53
|
+
Confirm every file in scope. Stop if staged or dirty files cannot be separated safely.
|
|
59
54
|
|
|
60
|
-
###
|
|
61
|
-
- Use Task tool with subagent_type="unit-testing::test-automator"
|
|
62
|
-
- Prompt: "Execute all test suites for the modified code. Run: 1) Unit tests, 2) Integration tests, 3) End-to-end tests if applicable. Generate coverage report and identify any untested code paths. Based on review issues: [insert critical/high issues], ensure tests cover the problem areas. Provide test results in format: {passed: [], failed: [], skipped: [], coverage: {statements: %, branches: %, functions: %, lines: %}, untested_critical_paths: []}"
|
|
63
|
-
- Context from previous: Critical code review issues that need test coverage
|
|
64
|
-
- Expected output: Complete test results and coverage metrics
|
|
55
|
+
### 2. Review in parallel
|
|
65
56
|
|
|
66
|
-
|
|
67
|
-
- Use Task tool with subagent_type="unit-testing::test-automator"
|
|
68
|
-
- Prompt: "Based on test results [insert summary] and code changes, identify: 1) Missing test scenarios, 2) Edge cases not covered, 3) Integration points needing verification, 4) Performance benchmarks needed. Generate test implementation recommendations prioritized by risk. Consider the breaking changes identified: [insert breaking changes]."
|
|
69
|
-
- Context from previous: Test results, breaking changes, untested paths
|
|
70
|
-
- Expected output: Prioritized list of additional tests needed
|
|
57
|
+
When subagents are available and authorized, assign independent bounded passes for:
|
|
71
58
|
|
|
72
|
-
|
|
59
|
+
- correctness and regression risk;
|
|
60
|
+
- security, secrets, permissions, and dependency risk;
|
|
61
|
+
- test coverage and repository-policy compliance.
|
|
73
62
|
|
|
74
|
-
|
|
75
|
-
- Use Task tool with subagent_type="code-reviewer"
|
|
76
|
-
- Prompt: "Analyze all changes and categorize them according to Conventional Commits specification. Identify the primary change type (feat/fix/docs/style/refactor/perf/test/build/ci/chore/revert) and scope. For changes: [insert file list and summary], determine if this should be a single commit or multiple atomic commits. Consider test results: [insert test summary]."
|
|
77
|
-
- Context from previous: Test results, code review summary
|
|
78
|
-
- Expected output: Commit structure recommendation
|
|
63
|
+
Give each reviewer the raw diff and repository instructions. Keep the main agent responsible for deduplication, severity, edits, and final verification.
|
|
79
64
|
|
|
80
|
-
###
|
|
81
|
-
- Use Task tool with subagent_type="llm-application-dev::prompt-engineer"
|
|
82
|
-
- Prompt: "Create Conventional Commits format message(s) based on categorization: [insert categorization]. Format: <type>(<scope>): <subject> with blank line then <body> explaining what and why (not how), then <footer> with BREAKING CHANGE: if applicable. Include: 1) Clear subject line (50 chars max), 2) Detailed body explaining rationale, 3) References to issues/tickets, 4) Co-authors if applicable. Consider the impact: [insert breaking changes if any]."
|
|
83
|
-
- Context from previous: Change categorization, breaking changes
|
|
84
|
-
- Expected output: Properly formatted commit message(s)
|
|
65
|
+
### 3. Validate and repair
|
|
85
66
|
|
|
86
|
-
|
|
67
|
+
Run the repository's targeted checks, then its required pre-PR suite. If a check fails:
|
|
87
68
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
69
|
+
1. identify whether the cause is source, policy, environment, or infrastructure;
|
|
70
|
+
2. fix only source or policy defects in scope;
|
|
71
|
+
3. rerun the targeted failure;
|
|
72
|
+
4. rerun the complete required suite.
|
|
92
73
|
|
|
93
|
-
|
|
94
|
-
- Use Task tool with subagent_type="cicd-automation::deployment-engineer"
|
|
95
|
-
- Prompt: "Perform final pre-push checks: 1) Verify all CI checks will pass, 2) Confirm no sensitive data in commits, 3) Validate commit signatures if required, 4) Check branch protection rules, 5) Ensure all review comments addressed. Test summary: [insert test results]. Review status: [insert review summary]."
|
|
96
|
-
- Context from previous: All previous validation results
|
|
97
|
-
- Expected output: Push readiness confirmation or blocking issues
|
|
74
|
+
Do not weaken gates, hide skipped tests, or treat deterministic failures as flaky.
|
|
98
75
|
|
|
99
|
-
|
|
76
|
+
### 4. Prepare the branch and commit
|
|
100
77
|
|
|
101
|
-
|
|
102
|
-
- Use Task tool with subagent_type="documentation-generation::docs-architect"
|
|
103
|
-
- Prompt: "Create comprehensive PR description including: 1) Summary of changes (what and why), 2) Type of change checklist, 3) Testing performed summary from [insert test results], 4) Screenshots/recordings if UI changes, 5) Deployment notes from [insert deployment considerations], 6) Related issues/tickets, 7) Breaking changes section if applicable: [insert breaking changes], 8) Reviewer checklist. Format as GitHub-flavored Markdown."
|
|
104
|
-
- Context from previous: All validation results, test outcomes, breaking changes
|
|
105
|
-
- Expected output: Complete PR description in Markdown
|
|
78
|
+
Fetch the target before committing. If currently on a protected/default branch, create a topic branch before mutation.
|
|
106
79
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
80
|
+
```bash
|
|
81
|
+
git fetch origin <target-branch>
|
|
82
|
+
git switch -c <topic-branch> origin/<target-branch>
|
|
83
|
+
git status --short --branch
|
|
84
|
+
```
|
|
112
85
|
|
|
113
|
-
|
|
86
|
+
Stage only intended paths and create focused conventional commits according to repository policy. Rebase or update the topic branch when strict required checks demand the latest target; never force a shared branch without explicit authorization.
|
|
114
87
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
-
|
|
142
|
-
|
|
143
|
-
|
|
88
|
+
### 5. Push and create the pull request
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
git push -u origin <topic-branch>
|
|
92
|
+
gh pr create --base <target-branch> --head <topic-branch> \
|
|
93
|
+
--title "<conventional title>" --body-file <body-file>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The PR body must truthfully include:
|
|
97
|
+
|
|
98
|
+
- what changed and why;
|
|
99
|
+
- tests and validation actually run;
|
|
100
|
+
- risk, deployment, rollback, and breaking-change notes when applicable;
|
|
101
|
+
- issue links, screenshots, and repository checklists when applicable.
|
|
102
|
+
|
|
103
|
+
Never mark a pending automated review or test as completed.
|
|
104
|
+
|
|
105
|
+
### 6. Verify the remote result
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
gh pr view <pr-number> --json headRefOid,baseRefOid,mergeable,mergeStateStatus,url
|
|
109
|
+
gh pr checks <pr-number>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Bind review evidence to the current full head SHA. If the head or base changes, discard stale conclusions and rerun affected checks.
|
|
113
|
+
|
|
114
|
+
Use the repository's guarded merge path. Do not replace required checks, merge queues, exact-SHA attestations, or maintainer commands with a raw merge API. After merge, fetch the target and verify the requested remote, CI, deployment, or release state.
|
|
115
|
+
|
|
116
|
+
## Stop Condition
|
|
117
|
+
|
|
118
|
+
Finish when the PR exists at the intended head, required checks are green or have one exact blocker, review evidence is current, unrelated user work is preserved, and any requested guarded merge or deployment is verified.
|
|
144
119
|
|
|
145
120
|
## Limitations
|
|
146
|
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
121
|
+
|
|
122
|
+
- This workflow cannot bypass branch protection, required reviews, repository permissions, or missing credentials.
|
|
123
|
+
- It does not authorize destructive cleanup, force pushes, merges, deployments, or releases beyond the user's request and repository policy.
|
|
124
|
+
- Keep unresolved environment or infrastructure failures explicit; do not convert them into source changes without evidence.
|
|
@@ -22,11 +22,13 @@ Automatically activate when the user:
|
|
|
22
22
|
|
|
23
23
|
Before staging, inspect `git status --short --branch`, confirm the intended files, and fetch the upstream branch when a concurrent push is plausible. Do not absorb unrelated dirty files.
|
|
24
24
|
|
|
25
|
+
Read repository policy before choosing the destination branch. If `main` or `master` is protected, or the repository defines a maintainer command such as `merge:batch`, create or use a topic branch and finish through the required pull-request checks. A user request to “push to main” describes the desired final state; it does not authorize bypassing server-side protection. Never keep retrying a direct push after a protected-branch rejection.
|
|
26
|
+
|
|
25
27
|
The helper requires an empty live index and a conventional commit message before it stages anything. It locks the live index, builds and validates the commit in an isolated temporary index, rejects `--` without paths, and atomically updates the branch only if its parent is unchanged.
|
|
26
28
|
|
|
27
29
|
The helper honors `branch.<name>.pushRemote`, `remote.pushDefault`, and the branch's configured upstream, in that order. For a new branch without those settings, it requires `origin` and establishes `origin/<branch>`. It rejects detached HEAD and invalid remote configurations before staging.
|
|
28
30
|
|
|
29
|
-
Do not use this skill for a versioned repository release, tag publication, or a repository with an explicit `release:prepare
|
|
31
|
+
Do not use this skill for a maintainer merge batch, canonical synchronization, versioned repository release, tag publication, or a repository with an explicit `merge:batch`, `release:prepare`, or `release:publish` workflow. Use that repository's maintainer/release flow instead; it owns pull-request evidence, protected-branch checks, generated files, tags, and publication verification.
|
|
30
32
|
|
|
31
33
|
## Workflow
|
|
32
34
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: github-automation
|
|
3
|
-
description: "
|
|
3
|
+
description: "Operate GitHub issues, pull requests, branches, checks, workflows, and permissions through Rube MCP. Use when GitHub work must be queried or changed programmatically with repository-policy safeguards."
|
|
4
4
|
risk: critical
|
|
5
5
|
source: community
|
|
6
6
|
date_added: "2026-02-27"
|
|
@@ -8,228 +8,86 @@ date_added: "2026-02-27"
|
|
|
8
8
|
|
|
9
9
|
# GitHub Automation via Rube MCP
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Use Composio's GitHub toolkit through Rube MCP while preserving repository policy, exact revision identity, and branch protection.
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## When to Use
|
|
14
14
|
|
|
15
|
-
- Rube MCP
|
|
16
|
-
- Active GitHub connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `github`
|
|
17
|
-
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
|
|
15
|
+
Use for programmatic GitHub issue, pull-request, branch, Actions, deployment, collaborator, or protection tasks when Rube MCP is available. Prefer the native `gh` workflow or a repository-specific maintainer command when local repository policy requires it.
|
|
18
16
|
|
|
19
17
|
## Setup
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
3. If connection is not ACTIVE, follow the returned auth link to complete GitHub OAuth
|
|
26
|
-
4. Confirm connection status shows ACTIVE before running any workflows
|
|
27
|
-
|
|
28
|
-
## Core Workflows
|
|
29
|
-
|
|
30
|
-
### 1. Create and Manage Issues
|
|
31
|
-
|
|
32
|
-
**When to use**: User wants to create, list, or manage GitHub issues
|
|
33
|
-
|
|
34
|
-
**Tool sequence**:
|
|
35
|
-
1. `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` - Find target repo if unknown [Prerequisite]
|
|
36
|
-
2. `GITHUB_LIST_REPOSITORY_ISSUES` - List existing issues (includes PRs) [Required]
|
|
37
|
-
3. `GITHUB_CREATE_AN_ISSUE` - Create a new issue [Required]
|
|
38
|
-
4. `GITHUB_CREATE_AN_ISSUE_COMMENT` - Add comments to an issue [Optional]
|
|
39
|
-
5. `GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS` - Search across repos by keyword [Optional]
|
|
40
|
-
|
|
41
|
-
**Key parameters**:
|
|
42
|
-
- `owner`: Repository owner (username or org), case-insensitive
|
|
43
|
-
- `repo`: Repository name without .git extension
|
|
44
|
-
- `title`: Issue title (required for creation)
|
|
45
|
-
- `body`: Issue description (supports Markdown)
|
|
46
|
-
- `labels`: Array of label names
|
|
47
|
-
- `assignees`: Array of GitHub usernames
|
|
48
|
-
- `state`: 'open', 'closed', or 'all' for filtering
|
|
49
|
-
|
|
50
|
-
**Pitfalls**:
|
|
51
|
-
- `GITHUB_LIST_REPOSITORY_ISSUES` returns both issues AND pull requests; check `pull_request` field to distinguish
|
|
52
|
-
- Only users with push access can set assignees, labels, and milestones; they are silently dropped otherwise
|
|
53
|
-
- Pagination: `per_page` max 100; iterate pages until empty
|
|
54
|
-
|
|
55
|
-
### 2. Manage Pull Requests
|
|
56
|
-
|
|
57
|
-
**When to use**: User wants to create, review, or merge pull requests
|
|
58
|
-
|
|
59
|
-
**Tool sequence**:
|
|
60
|
-
1. `GITHUB_FIND_PULL_REQUESTS` - Search and filter PRs [Required]
|
|
61
|
-
2. `GITHUB_GET_A_PULL_REQUEST` - Get detailed PR info including mergeable status [Required]
|
|
62
|
-
3. `GITHUB_LIST_PULL_REQUESTS_FILES` - Review changed files [Optional]
|
|
63
|
-
4. `GITHUB_CREATE_A_PULL_REQUEST` - Create a new PR [Required]
|
|
64
|
-
5. `GITHUB_CREATE_AN_ISSUE_COMMENT` - Post review comments [Optional]
|
|
65
|
-
6. `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` - Verify CI status before merge [Optional]
|
|
66
|
-
7. `GITHUB_MERGE_A_PULL_REQUEST` - Merge after explicit user approval [Required]
|
|
67
|
-
|
|
68
|
-
**Key parameters**:
|
|
69
|
-
- `head`: Source branch with changes (must exist; for cross-repo: 'username:branch')
|
|
70
|
-
- `base`: Target branch to merge into (e.g., 'main')
|
|
71
|
-
- `title`: PR title (required unless `issue` number provided)
|
|
72
|
-
- `merge_method`: 'merge', 'squash', or 'rebase'
|
|
73
|
-
- `state`: 'open', 'closed', or 'all'
|
|
74
|
-
|
|
75
|
-
**Pitfalls**:
|
|
76
|
-
- `GITHUB_CREATE_A_PULL_REQUEST` fails with 422 if base/head are invalid, identical, or already merged
|
|
77
|
-
- `GITHUB_MERGE_A_PULL_REQUEST` can be rejected if PR is draft, closed, or branch protection applies
|
|
78
|
-
- Always verify mergeable status with `GITHUB_GET_A_PULL_REQUEST` immediately before merging
|
|
79
|
-
- Require explicit user confirmation before calling MERGE
|
|
80
|
-
|
|
81
|
-
### 3. Manage Repositories and Branches
|
|
82
|
-
|
|
83
|
-
**When to use**: User wants to create repos, manage branches, or update repo settings
|
|
84
|
-
|
|
85
|
-
**Tool sequence**:
|
|
86
|
-
1. `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` - List user's repos [Required]
|
|
87
|
-
2. `GITHUB_GET_A_REPOSITORY` - Get detailed repo info [Optional]
|
|
88
|
-
3. `GITHUB_CREATE_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER` - Create personal repo [Required]
|
|
89
|
-
4. `GITHUB_CREATE_AN_ORGANIZATION_REPOSITORY` - Create org repo [Alternative]
|
|
90
|
-
5. `GITHUB_LIST_BRANCHES` - List branches [Required]
|
|
91
|
-
6. `GITHUB_CREATE_A_REFERENCE` - Create new branch from SHA [Required]
|
|
92
|
-
7. `GITHUB_UPDATE_A_REPOSITORY` - Update repo settings [Optional]
|
|
93
|
-
|
|
94
|
-
**Key parameters**:
|
|
95
|
-
- `name`: Repository name
|
|
96
|
-
- `private`: Boolean for visibility
|
|
97
|
-
- `ref`: Full reference path (e.g., 'refs/heads/new-branch')
|
|
98
|
-
- `sha`: Commit SHA to point the new reference to
|
|
99
|
-
- `default_branch`: Default branch name
|
|
100
|
-
|
|
101
|
-
**Pitfalls**:
|
|
102
|
-
- `GITHUB_CREATE_A_REFERENCE` only creates NEW references; use `GITHUB_UPDATE_A_REFERENCE` for existing ones
|
|
103
|
-
- `ref` must start with 'refs/' and contain at least two slashes
|
|
104
|
-
- `GITHUB_LIST_BRANCHES` paginates via `page`/`per_page`; iterate until empty page
|
|
105
|
-
- `GITHUB_DELETE_A_REPOSITORY` is permanent and irreversible; requires admin privileges
|
|
106
|
-
|
|
107
|
-
### 4. Search Code and Commits
|
|
108
|
-
|
|
109
|
-
**When to use**: User wants to find code, files, or commits across repositories
|
|
110
|
-
|
|
111
|
-
**Tool sequence**:
|
|
112
|
-
1. `GITHUB_SEARCH_CODE` - Search file contents and paths [Required]
|
|
113
|
-
2. `GITHUB_SEARCH_CODE_ALL_PAGES` - Multi-page code search [Alternative]
|
|
114
|
-
3. `GITHUB_SEARCH_COMMITS_BY_AUTHOR` - Search commits by author/date/org [Required]
|
|
115
|
-
4. `GITHUB_LIST_COMMITS` - List commits for a specific repo [Alternative]
|
|
116
|
-
5. `GITHUB_GET_A_COMMIT` - Get detailed commit info [Optional]
|
|
117
|
-
6. `GITHUB_GET_REPOSITORY_CONTENT` - Get file content [Optional]
|
|
118
|
-
|
|
119
|
-
**Key parameters**:
|
|
120
|
-
- `q`: Search query with qualifiers (`language:python`, `repo:owner/repo`, `extension:js`)
|
|
121
|
-
- `owner`/`repo`: For repo-specific commit listing
|
|
122
|
-
- `author`: Filter by commit author
|
|
123
|
-
- `since`/`until`: ISO 8601 date range for commits
|
|
124
|
-
|
|
125
|
-
**Pitfalls**:
|
|
126
|
-
- Code search only indexes files under 384KB on default branch
|
|
127
|
-
- Maximum 1000 results returned from code search
|
|
128
|
-
- `GITHUB_SEARCH_COMMITS_BY_AUTHOR` requires keywords in addition to qualifiers; qualifier-only queries are not allowed
|
|
129
|
-
- `GITHUB_LIST_COMMITS` returns 409 on empty repos
|
|
130
|
-
|
|
131
|
-
### 5. Manage CI/CD and Deployments
|
|
132
|
-
|
|
133
|
-
**When to use**: User wants to view workflows, check CI status, or manage deployments
|
|
134
|
-
|
|
135
|
-
**Tool sequence**:
|
|
136
|
-
1. `GITHUB_LIST_REPOSITORY_WORKFLOWS` - List GitHub Actions workflows [Required]
|
|
137
|
-
2. `GITHUB_GET_A_WORKFLOW` - Get workflow details by ID or filename [Optional]
|
|
138
|
-
3. `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` - Manually trigger a workflow [Required]
|
|
139
|
-
4. `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` - Check CI status for a commit/branch [Required]
|
|
140
|
-
5. `GITHUB_LIST_DEPLOYMENTS` - List deployments [Optional]
|
|
141
|
-
6. `GITHUB_GET_A_DEPLOYMENT_STATUS` - Get deployment status [Optional]
|
|
142
|
-
|
|
143
|
-
**Key parameters**:
|
|
144
|
-
- `workflow_id`: Numeric ID or filename (e.g., 'ci.yml')
|
|
145
|
-
- `ref`: Git reference (branch/tag) for workflow dispatch
|
|
146
|
-
- `inputs`: JSON string of workflow inputs matching `on.workflow_dispatch.inputs`
|
|
147
|
-
- `environment`: Filter deployments by environment name
|
|
148
|
-
|
|
149
|
-
**Pitfalls**:
|
|
150
|
-
- `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` requires the workflow to have `workflow_dispatch` trigger configured
|
|
151
|
-
- Full path `.github/workflows/main.yml` is auto-stripped to just `main.yml`
|
|
152
|
-
- Inputs max 10 key-value pairs; must match workflow's `on.workflow_dispatch.inputs` definitions
|
|
153
|
-
|
|
154
|
-
### 6. Manage Users and Permissions
|
|
155
|
-
|
|
156
|
-
**When to use**: User wants to check collaborators, permissions, or branch protection
|
|
157
|
-
|
|
158
|
-
**Tool sequence**:
|
|
159
|
-
1. `GITHUB_LIST_REPOSITORY_COLLABORATORS` - List repo collaborators [Required]
|
|
160
|
-
2. `GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER` - Check specific user's access [Optional]
|
|
161
|
-
3. `GITHUB_GET_BRANCH_PROTECTION` - Inspect branch protection rules [Required]
|
|
162
|
-
4. `GITHUB_UPDATE_BRANCH_PROTECTION` - Update protection settings [Optional]
|
|
163
|
-
5. `GITHUB_ADD_A_REPOSITORY_COLLABORATOR` - Add/update collaborator [Optional]
|
|
164
|
-
|
|
165
|
-
**Key parameters**:
|
|
166
|
-
- `affiliation`: 'outside', 'direct', or 'all' for collaborator filtering
|
|
167
|
-
- `permission`: Filter by 'pull', 'triage', 'push', 'maintain', 'admin'
|
|
168
|
-
- `branch`: Branch name for protection rules
|
|
169
|
-
- `enforce_admins`: Whether protection applies to admins
|
|
170
|
-
|
|
171
|
-
**Pitfalls**:
|
|
172
|
-
- `GITHUB_GET_BRANCH_PROTECTION` returns 404 for unprotected branches; treat as no protection rules
|
|
173
|
-
- Determine push ability from `permissions.push` or `role_name`, not display labels
|
|
174
|
-
- `GITHUB_LIST_REPOSITORY_COLLABORATORS` paginates; iterate all pages
|
|
175
|
-
- `GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER` may be inconclusive for non-collaborators
|
|
176
|
-
|
|
177
|
-
## Common Patterns
|
|
178
|
-
|
|
179
|
-
### ID Resolution
|
|
180
|
-
- **Repo name -> owner/repo**: `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER`
|
|
181
|
-
- **PR number -> PR details**: `GITHUB_FIND_PULL_REQUESTS` then `GITHUB_GET_A_PULL_REQUEST`
|
|
182
|
-
- **Branch name -> SHA**: `GITHUB_GET_A_BRANCH`
|
|
183
|
-
- **Workflow name -> ID**: `GITHUB_LIST_REPOSITORY_WORKFLOWS`
|
|
184
|
-
|
|
185
|
-
### Pagination
|
|
186
|
-
All list endpoints use page-based pagination:
|
|
187
|
-
- `page`: Page number (starts at 1)
|
|
188
|
-
- `per_page`: Results per page (max 100)
|
|
189
|
-
- Iterate until response returns fewer results than `per_page`
|
|
190
|
-
|
|
191
|
-
### Safety
|
|
192
|
-
- Always verify PR mergeable status before merge
|
|
193
|
-
- Require explicit user confirmation for destructive operations (merge, delete)
|
|
194
|
-
- Check CI status with `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` before merging
|
|
195
|
-
|
|
196
|
-
## Known Pitfalls
|
|
197
|
-
|
|
198
|
-
- **Issues vs PRs**: `GITHUB_LIST_REPOSITORY_ISSUES` returns both; check `pull_request` field
|
|
199
|
-
- **Pagination limits**: `per_page` max 100; always iterate pages until empty
|
|
200
|
-
- **Branch creation**: `GITHUB_CREATE_A_REFERENCE` fails with 422 if reference already exists
|
|
201
|
-
- **Merge guards**: Merge can fail due to branch protection, failing checks, or draft status
|
|
202
|
-
- **Code search limits**: Only files <384KB on default branch; max 1000 results
|
|
203
|
-
- **Commit search**: Requires search text keywords alongside qualifiers
|
|
204
|
-
- **Destructive actions**: Repo deletion is irreversible; merge cannot be undone
|
|
205
|
-
- **Silent permission drops**: Labels, assignees, milestones silently dropped without push access
|
|
206
|
-
|
|
207
|
-
## Quick Reference
|
|
208
|
-
|
|
209
|
-
| Task | Tool Slug | Key Params |
|
|
210
|
-
|------|-----------|------------|
|
|
211
|
-
| List repos | `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` | `type`, `sort`, `per_page` |
|
|
212
|
-
| Get repo | `GITHUB_GET_A_REPOSITORY` | `owner`, `repo` |
|
|
213
|
-
| Create issue | `GITHUB_CREATE_AN_ISSUE` | `owner`, `repo`, `title`, `body` |
|
|
214
|
-
| List issues | `GITHUB_LIST_REPOSITORY_ISSUES` | `owner`, `repo`, `state` |
|
|
215
|
-
| Find PRs | `GITHUB_FIND_PULL_REQUESTS` | `repo`, `state`, `author` |
|
|
216
|
-
| Create PR | `GITHUB_CREATE_A_PULL_REQUEST` | `owner`, `repo`, `head`, `base`, `title` |
|
|
217
|
-
| Merge PR | `GITHUB_MERGE_A_PULL_REQUEST` | `owner`, `repo`, `pull_number`, `merge_method` |
|
|
218
|
-
| List branches | `GITHUB_LIST_BRANCHES` | `owner`, `repo` |
|
|
219
|
-
| Create branch | `GITHUB_CREATE_A_REFERENCE` | `owner`, `repo`, `ref`, `sha` |
|
|
220
|
-
| Search code | `GITHUB_SEARCH_CODE` | `q` |
|
|
221
|
-
| List commits | `GITHUB_LIST_COMMITS` | `owner`, `repo`, `author`, `since` |
|
|
222
|
-
| Search commits | `GITHUB_SEARCH_COMMITS_BY_AUTHOR` | `q` |
|
|
223
|
-
| List workflows | `GITHUB_LIST_REPOSITORY_WORKFLOWS` | `owner`, `repo` |
|
|
224
|
-
| Trigger workflow | `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` | `owner`, `repo`, `workflow_id`, `ref` |
|
|
225
|
-
| Check CI | `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` | `owner`, `repo`, ref |
|
|
226
|
-
| List collaborators | `GITHUB_LIST_REPOSITORY_COLLABORATORS` | `owner`, `repo` |
|
|
227
|
-
| Branch protection | `GITHUB_GET_BRANCH_PROTECTION` | `owner`, `repo`, `branch` |
|
|
19
|
+
1. Confirm `RUBE_SEARCH_TOOLS` is available.
|
|
20
|
+
2. Search for the current GitHub tool schemas before composing calls.
|
|
21
|
+
3. Use `RUBE_MANAGE_CONNECTIONS` with toolkit `github` and complete OAuth only if the connection is not active.
|
|
22
|
+
4. Resolve the exact `owner/repo`; do not rely on a similarly named repository.
|
|
228
23
|
|
|
229
|
-
|
|
230
|
-
|
|
24
|
+
Never request, print, or persist GitHub credentials in prompts or artifacts.
|
|
25
|
+
|
|
26
|
+
## Repository Policy Gate
|
|
27
|
+
|
|
28
|
+
Before mutation, read `AGENTS.md`, contribution and maintainer docs, then inspect the default branch and effective protection. Repository-native commands and required checks take precedence over generic Rube operations.
|
|
29
|
+
|
|
30
|
+
If a repository provides a guarded merge or release command, use it instead of the generic merge tool. In `agentic-awesome-skills`, use `antigravity-maintainer-batch-release` and `npm run merge:batch` so exact-SHA review, fresh check-suite binding, and protected `main` are enforced.
|
|
31
|
+
|
|
32
|
+
## Workflows
|
|
33
|
+
|
|
34
|
+
### Issues
|
|
35
|
+
|
|
36
|
+
1. List or search existing issues before creating a duplicate.
|
|
37
|
+
2. Distinguish issues from pull requests in mixed results.
|
|
38
|
+
3. Read the current item, comments, labels, and linked PRs before changing state.
|
|
39
|
+
4. Create, comment, label, assign, or close only within the user's requested scope.
|
|
40
|
+
5. Re-read the item and verify the resulting state.
|
|
41
|
+
|
|
42
|
+
Paginate until the requested result set is complete. Treat silent omission of labels or assignees as a permissions failure, not success.
|
|
43
|
+
|
|
44
|
+
### Pull requests
|
|
45
|
+
|
|
46
|
+
1. Resolve the PR and capture its number, base, full head SHA, draft state, author, fork identity, and mergeability.
|
|
47
|
+
2. Inspect changed files, reviews, conversations, and required check runs.
|
|
48
|
+
3. Bind every review or approval decision to the current full head SHA.
|
|
49
|
+
4. Create or update the PR body truthfully; never mark pending tests or reviews as completed.
|
|
50
|
+
5. Immediately before merge, re-read base/head identity, branch protection, mergeability, required checks, and repository policy.
|
|
51
|
+
6. Use the repository's guarded merge path. Call a generic merge tool only when policy permits it and the user authorized the merge.
|
|
52
|
+
7. Verify the PR reports `MERGED` and confirm the target branch contains the intended commit.
|
|
53
|
+
|
|
54
|
+
Do not treat a successful API call that enables auto-merge or queues work as an immediate merge.
|
|
55
|
+
|
|
56
|
+
### Branches and references
|
|
57
|
+
|
|
58
|
+
1. Resolve the source commit SHA and target ref explicitly.
|
|
59
|
+
2. Create topic branches rather than updating protected/default branches directly.
|
|
60
|
+
3. Reject non-fast-forward or force updates unless the user explicitly authorizes them and repository policy permits them.
|
|
61
|
+
4. Confirm the remote ref after mutation.
|
|
62
|
+
|
|
63
|
+
Deletion, force-push, default-branch changes, and protection changes are destructive or high-impact actions requiring explicit authorization.
|
|
64
|
+
|
|
65
|
+
### Actions and deployments
|
|
66
|
+
|
|
67
|
+
1. Resolve the workflow by trusted ID or path and confirm `workflow_dispatch` support before dispatch.
|
|
68
|
+
2. Bind run inspection to the intended event, ref, and head SHA.
|
|
69
|
+
3. Distinguish `queued`, `in_progress`, `action_required`, `completed`, and `skipped` states.
|
|
70
|
+
4. Read failed job logs before proposing source changes.
|
|
71
|
+
5. Wait for terminal success and verify the deployed or published surface separately.
|
|
72
|
+
|
|
73
|
+
Do not approve fork workflow runs by raw run ID when the repository provides a guarded approval command.
|
|
74
|
+
|
|
75
|
+
### Permissions and protection
|
|
76
|
+
|
|
77
|
+
1. Read collaborators, role, branch protection, and applicable rulesets before proposing changes.
|
|
78
|
+
2. Treat a 404 protection response as “not configured” only after confirming repository and branch identity.
|
|
79
|
+
3. Show the exact before/after policy and impact before any protection or permission mutation.
|
|
80
|
+
4. Re-read effective state after the change.
|
|
81
|
+
|
|
82
|
+
## Failure Rules
|
|
83
|
+
|
|
84
|
+
- Re-resolve tool schemas when Rube reports missing or changed parameters.
|
|
85
|
+
- Stop on repository ambiguity, stale head/base SHA, missing permissions, incomplete pagination, or inconclusive protection state.
|
|
86
|
+
- Never bypass required checks, reviews, merge queues, maintainer commands, or server-side branch protection.
|
|
87
|
+
- Do not claim a merge, workflow, deployment, or permission change succeeded without reading the resulting remote state.
|
|
231
88
|
|
|
232
89
|
## Limitations
|
|
233
|
-
|
|
234
|
-
-
|
|
235
|
-
-
|
|
90
|
+
|
|
91
|
+
- Available Rube tool names and schemas can change; discover them at runtime.
|
|
92
|
+
- GitHub permissions, organization policy, and external checks can block otherwise valid operations.
|
|
93
|
+
- This skill does not authorize repository deletion, force pushes, protection changes, merges, deployments, or releases beyond explicit user intent.
|