Synchronisez les issues, les pull requests et les commentaires GitHub en utilisant des runners de type pull, push et activity avec une autorité limitée.
- Étoiles GitHub
- 103
- Fichiers
- 6
- Dernier commit
- 8 nov. 2026
- Licence
- Apache-2.0
- Outils autorisés
- —
Que fait la skill github ?
github est une agent skill. Synchronisez les issues, les pull requests et les commentaires GitHub en utilisant des runners de type pull, push et activity avec une autorité limitée.
Résumé généré à partir du SKILL.md de la skill.
À propos du skill github
Les développeurs qui gèrent des workflows de dépôts peuvent synchroniser les issues, les pull requests et les commentaires GitHub grâce à un système structuré d'opérations de pull et de push. Ce SKILL permet à un agent d'inspecter des enregistrements spécifiques en fournissant le nom d'un dépôt et le type de ressource, comme les issues ou les commentaires, ou d'exécuter des changements prédéterminés via la méthode sync. Il prend en charge le batching de jusqu'à vingt mutations dans un seul push, comme la création de nouvelles issues ou la mise à jour de pull requests existantes, tout en garantissant que chaque modification est vérifiée par une lecture de contrôle indépendante.
Lorsqu'un agent doit résumer les changements récents, l'outil activity fournit une vue compacte de tout ce qui a été mis à jour dans un dépôt depuis un horodatage spécifique. Cela est utile pour générer des résumés quotidiens sans avoir à traiter l'intégralité des enregistrements GitHub. Le SKILL s'appuie sur une session ou un token GitHub existant et nécessite des identifiants de dépôt explicites pour fonctionner. Il distingue la planification d'un changement de son exécution, garantissant qu'aucun effet à distance ne se produit tant qu'un push n'est pas explicitement déclenché.
Ce qu'un agent peut faire avec
- 1Résumer les changements récents du dépôtUn agent peut récupérer une liste compacte de toutes les issues et pull requests mises à jour depuis un moment précis pour créer un rapport de synthèse.
- 2Exécuter des mises à jour d'issues par lotsUn développeur peut envoyer une commande unique pour appliquer jusqu'à vingt mutations différentes, comme la fermeture de plusieurs issues simultanément.
- 3Vérifier les changements par lecture de contrôleLe système garantit que les changements poussés sont réellement appliqués en effectuant une lecture indépendante de l'élément après la mise à jour.
- 4Planifier des tâches de synchronisation complexesLes utilisateurs peuvent générer un plan sans effet pour voir exactement ce qu'une opération de pull ou de push a l'intention de faire avant qu'un état distant ne soit modifié.
Rédigé à partir du SKILL.md du skill. Chaque cas d'utilisation est vérifié par rapport à une citation de celui-ci.
Comment installer la skill github
Chaque commande copie le dossier de la skill dans le répertoire des skills du client. Redémarrez le client ou démarrez une nouvelle session pour la charger.Installer la skill github dans Claude Code
~/.claude/skills/github/SKILL.md
$ npx degit runxhq/runx/skills/github ~/.claude/skills/githubInstaller la skill github dans Claude Code (project)
.claude/skills/github/SKILL.md
$ npx degit runxhq/runx/skills/github .claude/skills/githubInstaller la skill github dans Codex
~/.agents/skills/github/SKILL.md
$ npx degit runxhq/runx/skills/github ~/.agents/skills/githubInstaller la skill github dans Gemini CLI
~/.gemini/skills/github/SKILL.md
$ npx degit runxhq/runx/skills/github ~/.gemini/skills/githubInstaller la skill github dans Claude.ai
npx degit runxhq/runx/skills/github github && zip -r github.zip github # claude.ai → Customize → Skills → + → Create skill → Upload a skill → github.zip
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →A réussi nos vérifications automatiques. Ce n'est pas un audit de sécurité : lisez les scripts avant de laisser un agent les exécuter. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessiblerunxhq/runx/skills/github is public and reachablegithub.com/runxhq/runx/tree/HEAD/skills/github ↗Réussi
- Licence open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit 2026-11-08github.com/runxhq/runx/commits ↗Réussi
- Aucun téléchargement-exécution ni vol d'identifiants dans les scripts2 scripts read; no download-and-run, remote eval, base64 execution or credential uploadRéussi
- Aucune instruction cachée dans SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/runxhq/runx/blob/HEAD/skills/github/SKILL.md ↗Réussi
- Les outils préautorisés sont limitésNo pre-approved tools; the agent asks before using onegithub.com/runxhq/runx/blob/HEAD/skills/github/SKILL.md ↗Réussi
- SKILL.md respecte le format Agent Skillsthe description does not say when to use the skillgithub.com/runxhq/runx/blob/HEAD/skills/github/SKILL.md ↗Faille
SKILL.md
Voir sur GitHubGitHub
Read actual GitHub issues, pull requests and comments with the selected account,
or apply exact already-decided changes and confirm them independently. For a
normal read, give repo and optionally kind, number, page and limit.
The read authority is selected by the existing native operation; callers do not
need to construct synchronization direction or scope just to inspect an issue.
The default github runner reads one bounded page or exact numbered record.
kind is issues (the shared GitHub issue feed, including PRs), pull_requests
or comments. Comments are issue/PR conversation comments; review diff comments
are a different capability. comments requires the issue or PR number. Exact
numbered reads return the actual current record; state/label filters are for
list queries. Raw provider records and the original native operation evidence
are preserved. A bounded page never establishes complete conversation/history
coverage, including when filtering PRs out of an issue-feed page.
The explicit sync runner performs the requested advanced pull or push. plan
is the explicit no-effect runner; pull and push remain explicit execution
lanes for compatible callers. Pulls are bounded reads. A push carries one to
twenty typed mutations per call that one GitHub operation applies, and returns each
item's outcome. It closes only on an independent GitHub readback of every
applied item. An item whose outcome is unknown holds the push for
reconciliation and is never silently retried. activity reads what changed
in a repository since a time, compact enough to summarise. No GitHub token
enters this package.
When to use it
Use the default for actual bounded records. Resolve an omitted repository in the host with ordinary git remote/context tools, verify the exact owner/name, and pass it explicitly. Do not guess a repository, treat a folder name as one, or introduce a separate repository/cursor state store.
Use sync when an operator needs a reproducible pull or push contract for
issues, pull requests, or threads, especially when cursor state must survive
across runs. Use plan only when the requested outcome is a plan. Use pull
for an explicitly selected read lane. Use activity to learn what changed in
a repository since a time, such as since the last check of a daily summary:
it reads issues and pull requests together and returns the fields a reader
needs rather than GitHub's whole records. Use push for already-decided issue,
pull-request, or comment changes of one kind. A call accepts up to twenty changes, matching the connector's batch contract; split larger work into separate calls and retain each result. Batches are bounded and
best-effort, not atomic: a refused item does not stop the rest, the result
identifies each item, and the operator reconciles before retrying. Use github-issue-triage to decide what an issue means
and github-issue-to-pr to govern an implementation lane.
Do not use a plan as evidence that remote state was read or changed. Only the
native runx.provider.operation.v1 result from pull or push is provider
evidence. Do not silently turn a denied push into a pull.
How it works
- Validate the exact
owner/namerepository, direction, resource kind, bounded filters, maximum result count, and requested scope. - A
pullplan requires read scope and records the exact resources a provider may fetch. - A
pushplan requires write scope and one to twenty typed mutations per call that one GitHub operation applies:issues.create,issues.update,pullrequests.update,comments.create, orcomments.update. It rejects unknown fields, oversized content, and mixed kinds, then returnsready_for_execution; planning itself does not grant provider authority. - Optional
plan_and_append_cursorcalls the store'sevents.appendandprojection.readto append the bounded plan and read the projection back. That proves local cursor persistence, not GitHub synchronization; this package does not own a second cursor database or storage adapter. - The explicit
syncrunner selects the same bounded read or write path from the validated direction.pullcalls the planned read (issues.list,issues.read,pullrequests.list,pullrequests.read, orcomments.list) withrepo.read.pushcalls the planned write once underrepo.writefor issue and pull-request changes orissue.commentfor comment changes: the runtime sends each item, records each outcome, and reads every applied item back before the push closes. Both run under the GitHub instance selected here: the signed-inghsession or a stored token. activitycallsissues.listwithrepo.readfor one page of 100 of everything updated at or aftersince, open or closed. GitHub's listing holds pull requests too, so one read finds both. The result keeps each item's number, kind, title, state (mergedfor a merged pull request), whether it was opened at or aftersince, its author and whether that is a bot, its times, labels, assignees, comment count and link, and the first 600 characters of its body with the count left out. The provider is queried in updated/descending order, then the page is projected in that order; a full page names a possiblenext_page.
Inputs and result
repois exactlyowner/name.- The default needs only
repo: e.g.{repo: "runxhq/runx", kind: "pull_requests", number: 554}reads that exact PR. To continue comments usekind: comments, itsnumber, and the nextpage, retaining the same query and original provider receipt. directionispullorpushfor the explicitsyncand planning phases.resourcescontains the issue, PR, thread, orbatchselector and a limit no greater than 100. A push has one to twentymutationsentries withpath,op, and an exact typedpayload. Issue and PR changes useop: update; a new issue usespath: issuesandop: create; new thread comments useop: comment. Bodies are capped at 65,536 characters. Pulls return GitHub's records whole.scopeis the requested read or write scope.activitytakesrepo,since(RFC 3339) and an optionalpage, and returnsactivity: the repository,since, the page, its items, andnext_pagewhen more may follow. Its provider evidence is the read'srunx.provider.operation.v1, kept in the run's record.
The runx/github.sync_plan.v1 plan records exact direction, provider operation,
scope, filters, blockers, authority posture, cursor state when used, and the
explicit absence of remote effects. Execution additionally emits the native
provider-operation packet; it does not rewrite the planning packet to imply a
remote effect.
Stop conditions
- Refuse malformed repositories, unknown resource kinds, unbounded selectors, limits above the contract, more than twenty mutations in one call, unknown mutation fields, or content beyond the declared bounds.
- Refuse push when write scope is missing; do not degrade silently.
- Do not treat local cursor persistence as remote provider readback.
- Refuse a push that mixes new issues, issue, pull-request, and comment changes; send each kind as its own push.
- Refuse when no GitHub instance is selected, or the selected one lacks the scope. Never treat an available instance as evidence of the intended repository.
- Do not claim comments, labels, issues, or PRs were read or changed until the native provider operation proves the expected access, operation, and readback.
Example
A caller wants to pull the next 50 open issues after cursor 2. Planning can
persist that cursor locally; pull then performs issues.list through the
selected instance and returns the provider result. To close issue 241, a push
carries path: issues/241, op: update, and
payload: {state: closed, state_reason: completed}. Runx applies only that
issue update through issues.update under repo.write, and reads issue 241
back. A morning summary calls activity with since set to its last check
and reports the items that are new, or changed by someone else.
For composition, consume the returned native provider-operation packet directly.
Pass already read issue fields to github-issue-triage respond, preserving
repository, exact number, title, state, full relevant body and original source
link/receipt. This path does not fetch or post again. pull and push retain
their complete typed selectors for power users; the common reader does not
replace them. Local cursor persistence remains the explicit store-owned phase.
Fichiers de cette skill
6Questions sur la skill github
Comment installer la skill github dans Claude Code ?
Exécutez npx degit runxhq/runx/skills/github ~/.claude/skills/github. Claude Code charge les skills depuis ~/.claude/skills (tous les projets) ou .claude/skills (un seul projet) et utilise une skill lorsque sa description correspond à la tâche.
Quels clients peuvent utiliser la skill github ?
Tout client qui lit le format Agent Skills : Claude Code, Codex, Gemini CLI et claude.ai (envoi sous forme de ZIP). Les scripts de la skill ne s'exécutent que si le client autorise l'exécution de code.
Que peut faire l'activity runner ?
L'activity runner analyse les changements effectués dans un dépôt depuis un moment précis, fournissant un résumé compact des issues et des pull requests.
Combien de mutations peuvent être incluses dans un seul appel push ?
Un seul appel push peut contenir entre une et vingt mutations typées.
Puis-je mélanger différents types de changements dans une seule opération push ?
Non, vous ne pouvez pas mélanger de nouvelles issues, des pull requests et des changements de commentaires dans un seul push ; chaque type doit être envoyé via son propre push.