agentleFS
the-open-agentthe-open-agent/openagent/skills/github/SKILL.md

github

Skill5.7k starsChanged 37 days agoApache-2.0View on GitHub

Use when interacting with GitHub repositories, authentication, remotes, pushes, or repository creation through the GitHub CLI and related git workflows.

  • Reads credentials

166 other projects use a version of this.

Trending

Quiet since September.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 1 mentionMay 2026: 15 mentionsJun 2026: 3 mentionsJul 2026: 5 mentionsAug 2026: 3 mentionsSep 2026: 3 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the the-open-agent/openagent repository that our weekly crawl found. There is no adoption data for this file yet.

Most recently taken up by

Who's talking about the-open-agent/openagent

The biggest 5 of 30 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 30

Talked about on GitHub and Bluesky (30 times).

On GitHub · 26

21 more on GitHub

On Bluesky · 4

Used with

Projects with it also use discord-e2e, openclaw-repair-sweep and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • molt-botSkill

    discord-e2e

    Test Discord with Convex-leased QA bots: check credentials without a Gateway, exercise owned messages, or prove OpenClaw replies, files, threads, reactions, streaming, and typing. Distinguish API and Gateway evidence from manual user interactions.

    Also in 10 projects that use this

  • molt-botSkill

    openclaw-repair-sweep

    Run scoped OpenClaw issue/PR repair campaigns: coordinate workers, prove root causes, and land or close verified work under the requested authority.

    Also in 10 projects that use this

  • clawdbotSkill

    openclaw-performance

    Performance work in OpenClaw: a slow or heavy flow (latency, CPU, memory, SQL, RPC, renders), writing or reviewing a perf PR, or adding a cache. Count the work, delete waste first, cache last.

    Also in 7 projects that use this

  • clawdbotSkill

    plugin-sdk-impact

    Count Plugin SDK consumers across live ClawHub releases and bundled OpenClaw plugins before deprecation, removal, or behavior changes; supports public release-date filters.

    Also in 7 projects that use this

  • +2 more from molt-bot

The file

Show its rules and text

We split this skill into the rules it gives an agent

74 rules. 0 are common, 53 are distinctive, and 21 are very specific to this project.

  • 0

    Common

    Most of the 150 edited versions we read keep these.

  • 53

    Distinctive

    This author's own choices. Worth a look.

  • 21

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    Prefer gh for all GitHub operations.

    line 15
  2. Distinctive:

    Never ask the user to manually perform a long GitHub setup if the agent can check, reuse, or finish it directly.

    line 17
  3. Very specific:

    Prefer gh over raw GitHub API calls.

    line 21
  4. Distinctive:

    Prefer existing authenticated state over asking for new credentials.

    line 22
  5. Distinctive:

    Prefer non-interactive checks before prompting the user.

    line 23
  6. Distinctive:

    Prefer the smallest unblock request:

    line 24
  7. Very specific:

    Do not ask the user to manually create the repository if gh can do it.

    line 29
  8. Distinctive:

    Do not ask the user to manually add remotes, initialize Git, or push if the agent can do it.

    line 30
  9. Distinctive:

    Never print, echo, log, summarize, or restate secrets.

    line 31
  10. Distinctive:

    Never store secrets in files, commits, repo config, docs, examples, or chat summaries.

    line 32
  11. Distinctive:

    Never switch credential strategy unless the current one actually fails.

    line 33
  12. Very specific:

    When using gh auth login through a shell session, do not assume the browser login step has started after the first prompt or after sending …

    line 37
  13. Distinctive:

    keep polling the session after each input

    line 48
  14. Very specific:

    use minimal inputs such as enter, arrow keys, y, n, or short submitted text as needed

    line 50
  15. Distinctive:

    do not stop after only one successful prompt response

    line 51
  16. Distinctive:

    do not tell the user that the browser has opened unless the command output explicitly indicates that a browser login or web flow has started

    line 52
  17. Distinctive:

    do not tell the user that login is complete unless the command output explicitly indicates success

    line 53
  18. Distinctive:

    If the shell session remains running but only shows that an earlier prompt was answered, continue polling instead of summarizing the state …

    line 62
  19. Distinctive:

    Only ask the user to act when the output clearly shows an external action is now required.

    line 64
  20. Very specific:

    When the user says they completed browser or device authorization, do not start a new gh auth login flow immediately.

    line 66
  21. Distinctive:

    wait for explicit success or failure from that same session

    line 71
  22. Very specific:

    only if that session has exited or is unrecoverable, then check gh auth status

    line 72
  23. Distinctive:

    only start a brand-new login flow if the previous login session has clearly failed or been closed

    line 73
  24. Distinctive:

    If the shell output contains prompts like:

    line 75
  25. Distinctive:

    Do not stop at that prompt.

    line 83
  26. Distinctive:

    Do not ask the user to confirm completion yet.

    line 84
  27. Distinctive:

    Do not start a new login flow while this session is still running.

    line 85
  28. Very specific:

    Check whether gh exists and is already authenticated.

    line 91
  29. Distinctive:

    Use this path when possible:

    line 93
  30. Distinctive:

    if authenticated, continue directly with:

    line 96
  31. Very specific:

    If gh is authenticated, do not ask the user for tokens, passwords, SSH keys, or browser login.

    line 102
  32. Very specific:

    If gh is installed but not authenticated, use gh auth login directly and continue the GitHub flow after login succeeds.

    line 106
  33. Very specific:

    do not switch away from gh login unless it actually fails

    line 116
  34. Distinctive:

    do not ask the user to manually create repositories or configure git

    line 117
  35. Distinctive:

    do not ask the user to perform a long GitHub setup outside the login itself

    line 118
  36. Distinctive:

    When login requires user interaction:

    line 121
  37. Distinctive:

    ask for only the smallest possible action

    line 123
  38. Distinctive:

    After login succeeds, continue directly with:

    line 129
  39. Very specific:

    If gh is missing:

    line 138
  40. Distinctive:

    prefer non-interactive installation methods when available

    line 141
  41. Very specific:

    after installation, re-check whether gh exists and continue with the normal gh-first flow

    line 142
  42. Very specific:

    only fall back away from gh if installation actually fails, is blocked by the environment, or would require disproportionate user effort

    line 143
  43. Very specific:

    do not ask the user to install gh manually before you have tried a reasonable automatic install path

    line 153
  44. Very specific:

    do not switch to a different credential strategy just because gh is missing initially

    line 154
  45. Distinctive:

    if installation fails, summarize the blocker briefly and then continue to the fallback path below

    line 155
  46. Distinctive:

    prefer existing Git credential helpers or existing SSH authentication

    line 162
  47. Distinctive:

    Check for likely reusable auth:

    line 165
  48. Distinctive:

    Only if those paths fail should the user be asked for one minimal credential input.

    line 172
  49. Distinctive:

    When user input is required, ask for only one concrete item at a time.

    line 176
  50. Distinctive:

    Treat PATs, device codes, auth tokens, cookies, and SSH private keys as secrets.

    line 194
  51. Distinctive:

    Never echo secrets back to the user.

    line 195
  52. Distinctive:

    Never include secrets in command output summaries.

    line 196
  53. Distinctive:

    Never write secrets into repo files or examples.

    line 197
  54. Very specific:

    Never commit .env, token files, or copied credentials.

    line 198
  55. Distinctive:

    If a command might expose a secret in stdout/stderr, avoid reproducing that output verbatim.

    line 199
  56. Distinctive:

    If the user gives a token, use it only for the current task unless explicitly told otherwise.

    line 200
  57. Distinctive:

    Check in this order:

    line 206
  58. Very specific:

    If not using gh, does Git already have usable auth?

    line 212
  59. Distinctive:

    If the repo already has a valid GitHub remote and push access works:

    line 216
  60. Distinctive:

    do not recreate the repo

    line 218
  61. Distinctive:

    do not replace auth

    line 219
  62. Very specific:

    create the GitHub repo with gh repo create

    line 226
  63. Distinctive:

    Only ask the user for:

    line 230
  64. Distinctive:

    Do the setup directly:

    line 238
  65. Distinctive:

    create initial commit if needed

    line 242
  66. Distinctive:

    Do not ask the user to perform these steps manually.

    line 247
  67. Very specific:

    When gh is available and authenticated, prefer commands in this shape:

    line 251
  68. Very specific:

    Use plain Git only for local repository operations or when gh cannot complete the GitHub-side action.

    line 259
  69. Distinctive:

    Only use this fallback when:

    line 263
  70. Distinctive:

    If PAT is required:

    line 283
  71. Distinctive:

    ask only for a token with the minimum needed scope, usually repo write access

    line 285
  72. Distinctive:

    use it only to complete the push flow

    line 286
  73. Distinctive:

    avoid leaving it in shell history, files, process args, or remote URLs when possible

    line 287
  74. Distinctive:

    no secret was exposed or persisted unsafely

    line 299

“Common” is measured: kept by at least 6 in 10 of the 150 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

GitHub

Overview

Prefer gh for all GitHub operations. The default goal is to complete the full GitHub flow with the least possible user effort: detect existing authentication first, reuse it if available, and only ask the user for the smallest missing step.

Never ask the user to manually perform a long GitHub setup if the agent can check, reuse, or finish it directly.

Core Rules

  • Prefer gh over raw GitHub API calls.
  • Prefer existing authenticated state over asking for new credentials.
  • Prefer non-interactive checks before prompting the user.
  • Prefer the smallest unblock request:
    • paste a one-time code
    • confirm browser login
    • provide a PAT
    • confirm repository visibility
  • Do not ask the user to manually create the repository if gh can do it.
  • Do not ask the user to manually add remotes, initialize Git, or push if the agent can do it.
  • Never print, echo, log, summarize, or restate secrets.
  • Never store secrets in files, commits, repo config, docs, examples, or chat summaries.
  • Never switch credential strategy unless the current one actually fails.

Interactive login driving rules

When using gh auth login through a shell session, do not assume the browser login step has started after the first prompt or after sending one key.

You must continue driving the interactive flow until there is explicit evidence of one of these states:

  1. GitHub CLI has clearly started browser/device authentication
  2. GitHub CLI is explicitly waiting for the user to complete external authentication
  3. GitHub CLI reports that authentication succeeded
  4. GitHub CLI reports a real error and cannot continue

While driving the login flow:

  • keep polling the session after each input
  • handle intermediate prompts such as protocol selection, SSH/HTTPS choice, credential helper confirmation, browser/device flow confirmation, or similar setup questions
  • use minimal inputs such as enter, arrow keys, y, n, or short submitted text as needed
  • do not stop after only one successful prompt response
  • do not tell the user that the browser has opened unless the command output explicitly indicates that a browser login or web flow has started
  • do not tell the user that login is complete unless the command output explicitly indicates success

Acceptable evidence that browser or external auth has actually started includes output such as:

  • a message that a browser is being opened
  • a URL to visit
  • a device code to enter
  • explicit wording that GitHub authentication is waiting for completion

If the shell session remains running but only shows that an earlier prompt was answered, continue polling instead of summarizing the state prematurely.

Only ask the user to act when the output clearly shows an external action is now required.

When the user says they completed browser or device authorization, do not start a new gh auth login flow immediately.

Instead:

  1. continue polling the existing shell session if it is still running
  2. wait for explicit success or failure from that same session
  3. only if that session has exited or is unrecoverable, then check gh auth status
  4. only start a brand-new login flow if the previous login session has clearly failed or been closed

If the shell output contains prompts like:

  • "Press Enter to open ..."
  • "Press Enter to continue"
  • similar one-step local confirmation prompts

then send enter automatically and continue polling the same session.

Do not stop at that prompt. Do not ask the user to confirm completion yet. Do not start a new login flow while this session is still running.

Credential Handling Priority

1. Reuse gh authentication first

Check whether gh exists and is already authenticated.

Use this path when possible:

  • gh auth status
  • if authenticated, continue directly with:
    • repo detection
    • gh repo create
    • remote setup
    • push

If gh is authenticated, do not ask the user for tokens, passwords, SSH keys, or browser login.

2. If gh exists but is not authenticated, log in with gh directly

If gh is installed but not authenticated, use gh auth login directly and continue the GitHub flow after login succeeds.

Preferred order:

  1. browser/web login via gh auth login -h github.com -w
  2. standard interactive gh auth login -h github.com
  3. PAT-based login only if the normal gh login path is unavailable or fails

Rules:

  • do not switch away from gh login unless it actually fails
  • do not ask the user to manually create repositories or configure git
  • do not ask the user to perform a long GitHub setup outside the login itself
  • continue automatically as soon as login succeeds

When login requires user interaction:

  • ask for only the smallest possible action
  • examples:
    • “Please complete the GitHub browser login that just opened.”
    • “Please finish the GitHub CLI login prompts.”
    • “Please paste a GitHub PAT with repo access.”

After login succeeds, continue directly with:

  • repo detection
  • gh repo create
  • remote setup
  • push

3. If gh is unavailable, try to install it first

If gh is missing:

  • first try to install gh automatically using the platform's normal package manager or a reasonable official installation path
  • prefer non-interactive installation methods when available
  • after installation, re-check whether gh exists and continue with the normal gh-first flow
  • only fall back away from gh if installation actually fails, is blocked by the environment, or would require disproportionate user effort

Acceptable install attempts include examples like:

  • Homebrew on macOS
  • apt, dnf, or similar package managers on Linux
  • winget or other normal package-manager paths on Windows

Rules:

  • do not ask the user to install gh manually before you have tried a reasonable automatic install path
  • do not switch to a different credential strategy just because gh is missing initially
  • if installation fails, summarize the blocker briefly and then continue to the fallback path below

4. If gh is still unavailable, fall back to Git

If gh is missing:

  • continue with plain git
  • prefer existing Git credential helpers or existing SSH authentication
  • inspect the environment before asking for credentials

Check for likely reusable auth:

  • existing origin remote
  • existing Git credential helper
  • working SSH auth to GitHub
  • existing authenticated HTTPS remote behavior

Only if those paths fail should the user be asked for one minimal credential input.

Minimal-Interruption Prompting

When user input is required, ask for only one concrete item at a time.

Good prompts:

  • “Please confirm whether the repo should be public or private.”
  • “Please complete the GitHub login in your browser.”
  • “Please paste a GitHub PAT with repo access.”
  • “Please confirm the GitHub owner/org name.”

Bad prompts:

  • asking the user to manually create a repo
  • asking the user to configure Git from scratch without first checking
  • asking for multiple credentials at once
  • asking the user to inspect local config manually if the agent can inspect it

Safe Credential Rules

  • Treat PATs, device codes, auth tokens, cookies, and SSH private keys as secrets.
  • Never echo secrets back to the user.
  • Never include secrets in command output summaries.
  • Never write secrets into repo files or examples.
  • Never commit .env, token files, or copied credentials.
  • If a command might expose a secret in stdout/stderr, avoid reproducing that output verbatim.
  • If the user gives a token, use it only for the current task unless explicitly told otherwise.

Standard Execution Flow

A. Detect environment

Check in this order:

  1. Is this already a Git repo?
  2. Is there already a remote?
  3. Is gh installed?
  4. Is gh authenticated?
  5. If not using gh, does Git already have usable auth?

B. If already connected to GitHub

If the repo already has a valid GitHub remote and push access works:

  • do not recreate the repo
  • do not replace auth
  • just push

C. If Git repo exists but no GitHub repo exists yet

Preferred:

  • create the GitHub repo with gh repo create
  • set or update origin
  • push the current branch

Only ask the user for:

  • owner/org if ambiguous
  • public vs private if not specified
  • authentication only if required

D. If not a Git repo yet

Do the setup directly:

  • initialize Git
  • add files
  • create initial commit if needed
  • create GitHub repo
  • add remote
  • push

Do not ask the user to perform these steps manually.

gh-First Behavior

When gh is available and authenticated, prefer commands in this shape:

  • inspect auth
  • create repo
  • set remote if needed
  • push branch
  • optionally enable features like description/homepage/topics later

Use plain Git only for local repository operations or when gh cannot complete the GitHub-side action.

Git / API Fallback Behavior

Only use this fallback when:

  • gh is not installed and cannot be installed reasonably
  • or gh is installed but unusable for the required operation
  • or the environment blocks the normal gh flow in a way that cannot be resolved with minimal user input

Fallback order:

  1. direct GitHub API + local git
  2. plain git with existing SSH or credential-helper auth
  3. HTTPS + PAT only if no better reusable auth exists

Fallback rules:

  • still minimize user effort
  • still prefer reusing existing credentials
  • still never ask the user to create the repository manually if the agent can do it through the API
  • still avoid exposing or persisting secrets
  • still continue automatically once the minimal missing credential or confirmation is provided

If PAT is required:

  • ask only for a token with the minimum needed scope, usually repo write access
  • use it only to complete the push flow
  • avoid leaving it in shell history, files, process args, or remote URLs when possible

Success Criteria

A successful run means:

  • the local project is a valid Git repo if needed
  • the GitHub repo exists
  • the correct remote is configured
  • the current branch is pushed
  • credentials were reused when possible
  • user involvement was limited to the smallest truly necessary action
  • no secret was exposed or persisted unsafely

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.