AgentStack
SKILL verified BSD-3-Clause Self-run

Github App Auth

skill-boettiger-lab-agent-skills-github-app-auth · by boettiger-lab

Authenticate to GitHub using the boettiger-lab-llm-agent GitHub App. Covers minting installation tokens from an age-encrypted private key, git push/pull via credential helper, gh CLI usage, and the full session workflow. TRIGGER when an agent needs to: push to GitHub, create/comment on PRs or issues, use gh CLI, or perform any GitHub API operation in the boettiger-lab org.

No reviews yet
0 installs
4 views
0.0% view→install

Install

$ agentstack add skill-boettiger-lab-agent-skills-github-app-auth

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Github App Auth? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

GitHub App Authentication: boettiger-lab-llm-agent

Agents in the boettiger-lab org authenticate as the boettiger-lab-llm-agent GitHub App. After the human has run gh-agent-unlock, use git and gh exactly as you normally would — credential injection and token refresh are fully automatic.

Session commands (human runs)

gh-agent-unlock   # YubiKey PIN + touch; decrypts key to /dev/shm → all git/gh uses App identity
gh-agent-lock     # wipe key from /dev/shm → all git/gh reverts to personal gh credentials

Scope: The App only has access to boettiger-lab org. When unlocked, pushes to any other org (e.g. espm-288, UCB-R-Users) will fail. Run gh-agent-lock to revert to personal auth.

After gh-agent-unlock, git push, git pull, gh pr create, gh issue comment, etc. all just work. No token exports, no per-repo setup, no credential flags needed.

What the App cannot do — ask the human instead

The App token does not have admin/org-level permissions. Operations that require them will fail with a GraphQL or 403 error. When this happens, ask the human to do it directly — do not ask them to run gh-agent-unlock, as that won't help.

| Operation | Why it fails | What to ask | |---|---|---| | gh repo create | Requires org admin or user OAuth scope | "Please create the repo boettiger-lab/ on GitHub, then I'll push." | | Changing repo visibility | Requires admin permission | Ask human to change via GitHub UI | | Managing org members/teams | Org admin only | Ask human directly |

In general: repo creation, deletion, and org settings always require the human.

App identity

Actions appear as boettiger-lab-llm-agent[bot] in the GitHub audit log.

| Field | Value | |---|---| | App name | boettiger-lab-llm-agent | | App ID | 3047595 | | Organization | boettiger-lab |

Troubleshooting

Can't push to a non-boettiger-lab org (e.g. espm-288) — the App key is unlocked and intercepting auth. Run gh-agent-lock to revert to personal credentials. Check with:

ls /dev/shm/github-app-private-key.pem   # exists → locked; missing → personal auth active

Auth fails for boettiger-lab — ask the human to run gh-agent-unlock (requires physical YubiKey).

Stale token in remote URL — if a remote URL contains x-access-token:ghs_..., fix it:

git remote set-url origin https://github.com/boettiger-lab/repo.git

Never embed tokens in remote URLs; always use clean https://github.com/... URLs.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.