Skip to content

Add ambulnz-github-app-auth skill#6

Closed
vigo-agent[bot] wants to merge 2 commits into
mainfrom
feat/ambulnz-github-app-skill
Closed

Add ambulnz-github-app-auth skill#6
vigo-agent[bot] wants to merge 2 commits into
mainfrom
feat/ambulnz-github-app-skill

Conversation

@vigo-agent

@vigo-agent vigo-agent Bot commented May 20, 2026

Copy link
Copy Markdown

Summary

Adds the ambulnz-github-app-auth skill so agents can authenticate as the Vigo (Agent) GitHub App for any work against github.com/AmbulnzLLC/... repos.

What's in it

  • SKILL.md (~5k chars) — slim trigger doc. When to use, usage examples, App scopes table, common pitfalls, verification checklist. Intentionally short: the body points at the bundled script rather than re-encoding the JWT/minting procedure inline.
  • scripts/get-token.sh — wrapper that fetches the App private key from AWS Secrets Manager, signs a 10-min JWT, exchanges it for a ~1h installation token, prints ghs_... to stdout, and caches at ~/.cache/ambulnz-gh-token.json (mode 0600) with auto-refresh when within 5 min of expiry. Diagnostics on stderr; safe to call on every operation.

Why a script, not just docs

Future agents needing AmbulnzLLC access just need to run something. The script encodes all the gotchas (secret-as-JSON-not-PEM, literal \n vs real newline normalization, JWT clock skew, x-access-token username) as code instead of prose, so they don't have to load the full SKILL.md to do the right thing.

Verified

  • scripts/get-token.sh mints a live token and curl https://api.github.com/repos/AmbulnzLLC/datalake-jobs returns 200
  • Second invocation reuses the cache (reusing cached token (expires in ...s) on stderr)
  • Cache file is 0600, owner-only
  • Frontmatter validates against tools/skill_manager_tool.py::_validate_frontmatter

Adds a skill plus bundled wrapper script for authenticating to AmbulnzLLC
GitHub repos as the Vigo (Agent) GitHub App.

- skills/github/ambulnz-github-app-auth/SKILL.md
  Slim trigger doc (~5k chars). When/why, usage examples, App scopes,
  pitfalls, verification checklist. Body points at the bundled script
  rather than re-encoding the minting procedure.

- skills/github/ambulnz-github-app-auth/scripts/get-token.sh
  Wrapper that fetches the App private key from AWS Secrets Manager,
  signs a JWT, exchanges it for a ~1h installation token, and caches at
  ~/.cache/ambulnz-gh-token.json (mode 0600) with auto-refresh near
  expiry. Stdout = token; diagnostics on stderr; safe to call on every
  operation. Defends against literal-\\n vs real-newline secrets.

Effect: agents needing AmbulnzLLC repo access run the script and get a
live ghs_... token — no need to load the full skill into context.
@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown

🔎 Lint report: feat/ambulnz-github-app-skill vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 8344 on HEAD, 8344 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 4351 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

SKILL.md goes from ~4.8k to ~2.8k by relocating pitfalls, configuration,
and the verification checklist into references/troubleshooting.md.

The slim SKILL.md keeps only the always-resident bits:
- Trigger and don't-use cases
- The one command + 3 usage examples
- App scope table (so 403s are recognized as permission gaps)
- The literal x-access-token git username gotcha (1 line, prevents
  100% of git clone 401s)
- Symptom-indexed pointer to references/troubleshooting.md

troubleshooting.md is symptom-indexed: HTTP 401, 403, 404, InvalidKeyError,
AccessDeniedException, hangs, missing cache. Each section explains what
the symptom means and how to fix it. Only loaded when the agent hits
a problem — most successful runs never read it.
@vigo-agent

vigo-agent Bot commented May 20, 2026

Copy link
Copy Markdown
Author

Superseded by AmbulnzLLC/hermes-shared-skills#7 (https://github.com/AmbulnzLLC/hermes-shared-skills/pull/7).

This skill belongs in the hermes-shared-skills repo (the canonical home for org-wide skills), not in Hermes-agent. The full content of this PR has been moved over byte-identical (SKILL.md, references/troubleshooting.md, scripts/get-token.sh). Closing in favor of the new PR.

@vigo-agent vigo-agent Bot closed this May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants