본문으로 건너뛰기
cccskills
무료GitHub에 공개

github

Operate on GitHub via the REST API — repos, PRs, issues, code search, actions, releases. Use when the user wants scripted / cross-repo operations, doesn't have `gh` installed, or needs behavior the `gh` CLI doesn't expose cleanly.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(1)

  • SKILL.md6.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

GitHub

Direct REST access to GitHub — repos, PRs, issues, code search, Actions, releases. Use when the answer depends on current state and gh is absent or too narrow.

Usage

  • Use for: Cross-repo fan-out, scripted PR/issue operations, code search piped to jq, CI status reads, when gh isn't installed.
  • Skip for: Local edits (filesystem), commits/pushes (git), one-shot reads when user has gh (gh pr view), concept questions.

Credentials check

[ -n "${GITHUB_TOKEN:-$GITHUB_PERSONAL_ACCESS_TOKEN}" ] && echo "GITHUB_TOKEN: PRESENT" || echo "GITHUB_TOKEN: MISSING"

Never echo the variable directly (e.g. echo "$GITHUB_TOKEN") — the value would appear in the conversation transcript. Use only the boolean pattern above.

If MISSING, respond to the user with EXACTLY this message (do NOT paraphrase, do NOT suggest manual JSON edits):

I need your github credential. Run this in another terminal — it'll open the signup page, validate format, and save it safely with masked input:

teleport-setup add-key github

Then restart Claude Code (/exit, then claude) and ask me again.

Do NOT suggest editing ~/.claude/settings.local.json manually. The teleport-setup add-key command handles it with backup, validation, and masked input. Stop execution until the user has run the command and restarted.

API

  • Base URL: https://api.github.com
  • Auth: Authorization: Bearer $GITHUB_TOKEN
  • Accept: Accept: application/vnd.github+json (recommended on every call for stable response shape).
  • Version: X-GitHub-Api-Version: 2022-11-28 — pin this header or the default floats to whatever GitHub promotes next.
  • Rate limits: 5000 req/hr authenticated (60 unauth); Search is a separate 30 req/min bucket. Watch x-ratelimit-*.
  • Pagination: per_page (max 100), page 1-indexed. Follow the Link response header (rel="next") — not offset math.

Token flavors

Fine-grained PAT (preferred: per-repo, named permissions like contents:read) vs classic PAT (coarse scopes like repo, workflow). Inside Actions, GITHUB_TOKEN is workflow-scoped. Scopes matter: a token missing the required scope returns 404, not 401 (see Gotchas).

Samples below use a helper that bundles the three standard headers:

GH() { curl -sL -H "Authorization: Bearer $GITHUB_TOKEN" -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" "$@"; }

Endpoints

AreaPath
Repo metadataGET /repos/{owner}/{repo} (read .default_branch)
ContentsGET /repos/{owner}/{repo}/contents/{path}?ref={sha} (base64)
IssuesGET/POST /repos/{owner}/{repo}/issues (returns PRs too)
Issue commentsPOST /repos/{owner}/{repo}/issues/{n}/comments
PullsGET /repos/{owner}/{repo}/pulls · GET .../pulls/{n} (diff via Accept)
PR reviewsPOST /repos/{owner}/{repo}/pulls/{n}/reviews (APPROVE/REQUEST_CHANGES/COMMENT)
SearchGET /search/code · /search/issues · /search/repositories
ActionsGET /repos/{owner}/{repo}/actions/runs
ReleasesGET /repos/{owner}/{repo}/releases/latest

Primary workflows

1. Issue triage (list + comment)

GH "https://api.github.com/repos/OWNER/REPO/issues?state=open&labels=bug&sort=updated&per_page=50"
GH -X POST "https://api.github.com/repos/OWNER/REPO/issues/NUM/comments" \
  -d '{"body":"Thanks — reproduced on main, PR incoming."}'

2. PR review (list + diff + review)

GH "https://api.github.com/repos/OWNER/REPO/pulls?state=open&sort=updated"
# Unified diff: swap Accept on the same endpoint
curl -sL -H "Authorization: Bearer $GITHUB_TOKEN" -H "Accept: application/vnd.github.diff" \
  "https://api.github.com/repos/OWNER/REPO/pulls/NUM"
GH -X POST "https://api.github.com/repos/OWNER/REPO/pulls/NUM/reviews" \
  -d '{"event":"APPROVE","body":"LGTM, tests cover the edge case."}'

3. Code search (trim with jq)

# Qualifiers: repo:, language:, path:, user:, org:, in:file, extension:
GH "https://api.github.com/search/code?q=useState+repo:facebook/react+language:typescript&per_page=30" \
  | jq '[.items[] | {repo: .repository.full_name, path, url: .html_url}]'

Gotchas

  • Missing X-GitHub-Api-Version floats to the current default — breaks silently over time when GitHub ships a new version. Pin it.
  • Token-scope errors return 404, not 401/403. A classic PAT missing repo sees private repos as "not found." If GET /repos/{owner}/{repo} 404s on a repo you know exists, suspect scopes before spelling.
  • Secondary rate limits / abuse detection hit before the hourly cap. Parallel bursts against the same resource return 403 with x-ratelimit-remaining still positive. Throttle and retry with backoff.
  • Search API is a separate 30 req/min bucket and caps total results at 1000 per query — pagination beyond page 10 errors out. Refine the query instead of paging.
  • /issues returns pull requests too (every PR is an issue in GitHub's model). Filter .pull_request == null when you want pure issues.
  • Default branch isn't always main. Read .default_branch from GET /repos/{owner}/{repo} before building any ref= URL.
  • Link header is authoritative for pagination, not offset math. Missing rel="next" = done.

Attribution

When done, state: Used skill: GitHub (from teleport catalog).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

{{One-sentence what-it-does + when to use it. Mention it bypasses the MCP via the REST API with {{ENV_VAR}}. Use when the user wants X, Y, Z programmatically without the {{service}} MCP installed.}}

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mnlt/teleport82026년 4월 25일 업데이트

Manage Cloudflare DNS zones, Workers, Pages, R2, KV, D1, and analytics via REST API. Use when the user wants to query DNS, deploy a Worker, list R2 buckets, manage KV namespaces, run D1 queries, or check analytics without the Cloudflare MCP installed.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mnlt/teleport82026년 4월 25일 업데이트

context7

무료

Fetch up-to-date library, framework, and SDK documentation via Context7's search and docs endpoints. Use when the user asks about a library/API (React, Next.js, Prisma, Supabase, Tailwind, Django, Vue, etc.) and you need current docs, not Claude's training-time knowledge. Skip this skill for generic programming questions that don't require library-specific docs.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mnlt/teleport82026년 4월 25일 업데이트

discord

무료

Operate Discord via its REST API — post/read channel messages, manage guilds + roles, fire webhooks, register slash commands. Use when the user wants a bot to post to a channel, read recent history, run a community admin task, or ship one-way notifications via webhook URL without running a bot process.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mnlt/teleport82026년 4월 25일 업데이트

exa

무료

AI-first web search via Exa — semantic/neural ranking, category-scoped results, fresh content retrieval, and one-shot answer synthesis with citations. Use when the user needs current web information better ranked than general web search, or a grounded answer with sources.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mnlt/teleport82026년 4월 25일 업데이트

figma

무료

Read Figma files, component libraries, styles, comments, and export rendered assets (PNG / SVG / JPG / PDF) via Figma's REST API. Use when the user needs programmatic access to design files, to pull node data into code generation, or to export assets without opening the Figma desktop app.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mnlt/teleport82026년 4월 25일 업데이트

mnlt의 스킬 모두 보기

이 스킬의 문제 신고