AgentStack
SKILL verified MIT Self-run

Mint Gh Token

skill-louloulibs-claude-skills-mint-gh-token · by LouLouLibs

Mint a short-lived GitHub App installation access token for HTTPS git/gh authentication. Use when GH_TOKEN is unset inside a VM or sandbox that authenticates via a GitHub App (.pem key in GH_APP_KEY), when git push or gh fails with 401/403 against github.com, or when the user asks to mint or refresh a GitHub token.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-louloulibs-claude-skills-mint-gh-token

✓ 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 Used
  • 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-louloulibs-claude-skills-mint-gh-token)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
29d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Mint Gh Token? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

mint-gh-token — GitHub App installation tokens

Mints a short-lived (1 hour) GitHub App installation access token and prints it on stdout. Replaces the per-repo src/scripts/mint_gh_token.py copies.

export GH_TOKEN=$(mint-gh-token)

Diagnostics go to stderr; stdout carries the bare token and nothing else.

Install

Check command -v mint-gh-token first. If missing, download the release binary (the repo is public — no token needed; VMs that allow github.com / release-assets.githubusercontent.com egress can fetch it):

mkdir -p ~/.local/bin
curl -fsSL -o ~/.local/bin/mint-gh-token \
  "https://github.com/LouLouLibs/claude-skills/releases/latest/download/mint-gh-token-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)"
chmod +x ~/.local/bin/mint-gh-token

Assets: mint-gh-token-linux-x86_64 (static musl — runs on any Linux, including NixOS microVM guests) and mint-gh-token-darwin-arm64. Runtime requirement: curl on PATH (HTTPS is delegated to it).

Environment

| Variable | Meaning | |----------|---------| | GH_APP_KEY | PEM private key content of the GitHub App (usually injected by the VM launcher) | | GH_APP_KEY_FILE | Path to the .pem file (used when GH_APP_KEY is unset) | | GH_APP_ID | Numeric App ID (or the App's Client ID) | | GH_APP_OWNER | Owner of a repo the App is installed on | | GH_APP_REPO | Name of that repo (installation lookup target) | | GH_TOKEN_CACHE | Cache file path (default $TMPDIR/mint_gh_token.cache.json) | | GH_API_URL | API base URL override (default https://api.github.com) |

Flags: --no-cache forces a fresh mint; --help.

Caching

Tokens are cached and reused until < 5 minutes of life remain. If the cache path is unwritable (e.g. read-only /tmp in a VM), the token is still printed — you only lose reuse across shells. Set GH_TOKEN_CACHE to a writable path to fix the warning. Recover a cached token in a later shell:

export GH_TOKEN=$(jq -r .token "$GH_TOKEN_CACHE")

Using the token

export GH_TOKEN=$(mint-gh-token)        # gh CLI picks up $GH_TOKEN

# git push when the global gitconfig blocks github.com (token-in-URL —
# credential-helper lines in GIT_CONFIG_GLOBAL files can trip config parsing):
git push "https://x-access-token:${GH_TOKEN}@github.com/${GH_APP_OWNER}/${GH_APP_REPO}.git" BRANCH

Scope gotchas (App installation tokens, not PATs):

  • The token only works on repos the App is installed on; other repos 404.
  • Some API endpoints claim to be unavailable to App tokens in their docs —

that is the user-model view; actual writes work.

  • The App cannot approve its own PRs; a human merges by hand.

Building from source

Source lives in src/ (single-file OCaml, dune project). CI (.github/workflows/mint-gh-token.yml) builds and releases on tags matching mint-gh-token-v*. Local build:

# With an opam switch that has the deps (x509, base64, yojson, ptime,
# mirage-crypto-rng), just:
cd src && dune build

# On NixOS, use the committed flake devShell (flake.nix), which pins the
# full library closure — including `logs`, without which
# mirage-crypto-rng.unix fails to link:
nix develop -c dune build --root src
# or, with direnv: `direnv allow` once, then plain `dune build` in src/.

# The test suite additionally needs openssl + python3 (the RSA key and the
# stub GitHub API server); curl is already in the devShell:
nix shell nixpkgs#openssl -c nix develop -c \
  ./test/run_test.sh src/_build/default/mint_gh_token.exe

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.