Skip to content
cccskills
FreePublished on GitHub

github-gitlab

Inspect GitHub and GitLab repositories, issues, and proposed code changes, then prepare small fixes with tests and review summaries. Uses existing command-line authentication and requires approval before publishing changes or modifying repository records.

OriginalShow the original description

Work with GitHub and GitLab repositories through resident gh/glab/git auth on the agent computer.

Works withGitHubGitLab
See how to install

Good for

  • Review open issues and proposed code changes
  • Summarize changes using commit history
  • Prepare and test a small code fix
  • Monitor GitHub CI checks before merging

Files included (2)

  • SKILL.md6.0 KB
  • scripts/watch-ci.mjs6.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

GitHub / GitLab

Use this skill when the user asks to inspect repos, issues, pull requests, merge requests, code history, branches, or to make a small code change in a hosted repo.

Choose the account deliberately

Use the current credential manifest to choose an account authorized for this conversation that fits the user's intent. Run commands with execute and an explicit sandbox_id; keep that ID throughout checkout, edits, checks, and push. Personal and shared accounts are both valid choices; neither is an automatic fallback when the other fails. If the intended account is unclear before a write, ask. Do not infer permission from a login merely being present on the computer.

  • Personal login: use the authorized gh, glab, or Git login. Check the active provider account (for example, gh api user --jq .login) and the Git transport's auth configuration; a CLI API identity alone does not prove which account Git will use.
  • Shared org credential: if listed in the prompt, select its slug and use the core-hosted smart HTTP remote in the use-shared-credential skill. This uses the configured shared account, even when a personal OAuth connector is live. Its name is an admin label, not a verified upstream username.
  • Connected app: use only advertised capabilities. API access does not by itself establish native Git transport access or configure the CLI's active login.

For an existing checkout, inspect the remote and applicable credential-helper, SSH, proxy, and HTTP-header configuration. A reused checkout may still select a previous account. Commit author metadata is separate from transport identity. Resolve an unknown identity before a write; do not probe access by pushing.

Logging in

Use the native login only after an explicit authentication rejection. A TLS timeout, connection reset, rate limit, or GitHub server error is not evidence of logout or permission expiry. Do not consume another credential grant to repair transport.

For a confirmed missing or expired GitHub or GitLab login, follow the interactive-login skill: it runs gh auth login / glab auth login in a temporary home as a background job, relays the code and URL, and saves the login to the keychain so later commands use it through execute.credentials.

Read-only work

Check auth and inspect repo state:

gh auth status
gh repo view OWNER/REPO --json name,description,url,defaultBranchRef
gh issue list --repo OWNER/REPO --state open --limit 20
gh pr list --repo OWNER/REPO --state open --limit 20

For GitLab:

glab auth status
glab repo view GROUP/PROJECT
glab issue list --repo GROUP/PROJECT
glab mr list --repo GROUP/PROJECT

Use git log, git show, and git diff for codebase-change summaries. Cite commit hashes, PR/MR numbers, and links.

Checkout and edits

Clone or fetch only the repo the user asked for:

gh repo clone OWNER/REPO repo
cd repo
git checkout -b codex/small-change

Keep changes scoped. Run the repo's tests. If a push or PR/MR creation is requested, prepare the branch and summary first.

Writes require approval

Pushing branches, creating PRs/MRs, merging, closing issues, editing labels, changing repo settings, releases, or workflows are writes. Ask for approval before running the write command.

After approval:

git push -u origin codex/small-change
gh pr create --repo OWNER/REPO --title "..." --body-file pr.md

For GitLab:

git push -u origin codex/small-change
glab mr create --repo GROUP/PROJECT --title "..." --description-file mr.md

Report the final URL and leave enough context for review.

Wait for GitHub CI

Use the bundled helper instead of a bare gh pr checks --watch or a handwritten shell loop. Use the absolute directory reported by the skill read in place of <skill dir>. It is one blocking watcher process, not repeated agent turns:

node "<skill dir>/scripts/watch-ci.mjs" --repo OWNER/REPO --pr NUMBER --head REVIEWED_HEAD_SHA

Capture the full head SHA from gh pr view NUMBER --repo OWNER/REPO --json headRefOid before review. Use that same SHA for the watcher and the final merge gate. Start the watcher with execute using the selected sandbox_id and background:true, then subscribe with background action watch and its returned process_id. Keep one watcher per PR. Set the process lifetime longer than the helper's 30-minute deadline; use --timeout-ms for a different bounded deadline. Use only credentials authorized for that background process; a live foreground grant does not authorize background work.

The helper polls GitHub internally and emits JSON status records. It retries only recognized transient transport/server errors with bounded backoff. Pending checks remain pending. Real CI failures, authentication/authorization failures, changed heads, unknown errors, exhausted retries, and deadline expiry all stop with nonzero status. Explicit API rate limits stop as rate_limited, not authentication errors. Empty check sets, skipped checks, and cancelled checks are not successful evidence. Do not interpret an exit code alone as "checks concluded": read the status record. Do not suppress a nonzero exit or print a success marker after it. Keep set -e.

Success means the checks observed for the expected head passed, not permission to merge. Re-read checks and review threads immediately before merging. Wait for async reviewers on that exact head; resolve findings and obtain a fresh-context adversarial review. After any push or head change, discard old success/review evidence and repeat. Only merge when all gates pass, with GitHub's atomic head guard:

gh pr merge NUMBER --repo OWNER/REPO --squash --match-head-commit REVIEWED_HEAD_SHA

Never use auto-merge or bypass repository gates. This helper does not retry GitLab commands or change their authentication behavior.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

admin

FreeSummary

Help QM organization admins inspect settings, stored memory, conversations, files, and operational records across the organization. It also supports confirmed configuration changes and external user management, while keeping admin grant changes in the dashboard.

  • Check whether the requester is an organization admin
  • Inspect or update organization and channel settings
  • Investigate agent behavior using transcripts and captured prompts
yc-software/qm15.4KUpdated Oct 18, 2026

browse

FreeSummary

Carry out website tasks in a remote browser, including expense submissions, authorized orders, and retrieving data behind a login. Personal browser profiles preserve sign-ins, while users handle login and verification screens themselves.

  • Submit an expense with a receipt attachment
  • Order food within an agreed budget
  • Retrieve data from a signed-in website
yc-software/qm15.4KUpdated Oct 18, 2026

cloud-cli

FreeSummary

Sign in to a cloud provider’s command-line tool using a verification URL and one-time code approved on the user’s device. Check installation and account identity, save the login, and run commands within that user’s permissions.

  • Sign in to a cloud CLI from a separate device
  • Check whether required CLIs and helpers are installed
  • Verify the cloud account before running commands
yc-software/qm15.4KUpdated Oct 18, 2026

composio

FreeSummary

Help users discover and connect apps, then run available app tools through QM’s authenticated backend. It checks connection status, presents consent options, and keeps Composio project keys out of user-facing setup.

  • Browse available app integrations
  • Connect an app needed for a task
  • Reopen app connection setup
yc-software/qm15.4KUpdated Oct 18, 2026

connect-apps

FreeSummary

Connect supported work apps through browser consent without sharing passwords with the agent. The skill checks available connection methods, provides a single-use authorization link when appropriate, and guides personal Slack account linking.

  • Connect an administrator-enabled work app
  • Authorize an app through a browser consent link
  • Link a personal Slack account
yc-software/qm15.4KUpdated Oct 18, 2026

define-loop

FreeSummary

Set up recurring agent work for issues, tickets, or small fixes. The skill tests one real item first, then defines a repeatable procedure, tracks work to prevent duplicates, and holds outputs for human review.

  • Recurring preparation of fixes for Sentry issues
  • Drafting replies to Front tickets
  • Preparing small performance improvement PRs
yc-software/qm15.4KUpdated Oct 18, 2026

See all skills by yc-software

Report a problem with this skill