← Back to Skills Marketplace
darinrowe

Github Private Repo SSH Routing

by DarinRowe · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ Security Clean
312
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install github-private-repo-ssh-routing
Description
Diagnose and manage SSH keys, host aliases, and Git remotes for GitHub private repositories in multi-repo environments. Use when deploy keys collide, a machi...
README (SKILL.md)

GitHub Deploy Key Routing

Treat GitHub private repo access as a routing problem, not just a Git problem.

Core rules

  • Use one deploy key per private repository unless a machine user is intentionally chosen.
  • Use one SSH host alias per key.
  • Point each repo remote at the correct alias explicitly.
  • Do not rely on a catch-all Host github.com when multiple deploy keys exist.
  • Verify SSH first, then Git, then push.
  • If automation is involved, fix both the live repo remote and the config/script source that writes it.

Canonical pattern

Host github.com-backup
    HostName github.com
    User git
    IdentityFile ~/.ssh/openclaw_backup_ed25519
    IdentitiesOnly yes
git remote set-url origin [email protected]:OWNER/REPO.git

Use this skill when the machine has more than one private GitHub repo, more than one SSH key, or any recurring GitHub automation.

Quick triage

If you need the fastest route:

  1. Read references/symptoms.md and match the exact error.
  2. Read references/patterns.md and compare the current alias + remote layout.
  3. Read references/decision-guide.md only if the identity model itself is still undecided.
  4. Read references/openclaw-automation.md only when a script, backup flow, or config value may be rewriting the remote.

Workflow

1. Identify the repo + remote actually in use

Check the local repo path, current remotes, and whether the failing action came from:

  • an interactive repo command
  • a backup/sync script
  • a config file that stores the repo URL
  • a cron/automation job

If the repo path and the config source differ, do not treat them as the same fix.

2. Identify the key-routing layer

Read references/patterns.md for the standard alias layout. Read references/key-storage-by-system.md when OS-specific key locations or mixed Windows/WSL/macOS behavior may matter.

Ask:

  • Which SSH alias is the repo using now?
  • Which key does that alias select?
  • Is that key actually authorized for this repo?
  • Is a broad Host github.com rule hijacking traffic?

3. Diagnose by symptom

Read references/symptoms.md and match the exact failure string before changing anything.

4. Choose the right identity model

Read references/decision-guide.md when the user is deciding between:

  • deploy key
  • personal SSH key
  • machine user

Read references/identity-model-boundaries.md when the question is really about where SSH routing ends and GitHub API authority begins — especially for PR merge automation, release creation, or fine-grained PAT vs deploy key decisions.

5. Check automation-specific drift

Read references/openclaw-automation.md when the repo is used by OpenClaw backup/restore, plugins, cron jobs, or config-driven workflows.

6. Fix in the safe order

  1. Fix or add the SSH alias.
  2. Verify with ssh -G \x3Calias>.
  3. Test with ssh -T git@\x3Calias>.
  4. Update the repo remote URL.
  5. Update any config/script source that still writes the old remote.
  6. Verify with git ls-remote origin.
  7. Only then push or pull.

Minimal command set

ls -la ~/.ssh
sed -n '1,200p' ~/.ssh/config
git remote -v
ssh -G \x3Chost-alias> | sed -n '1,40p'
ssh -T git@\x3Chost-alias>
git ls-remote origin

Bundled script

For a read-only audit of one local repo, run:

scripts/audit-routing.sh /path/to/repo

The script summarizes:

  • repo remotes
  • inferred SSH alias from origin
  • ~/.ssh files and permissions
  • ~/.ssh/config preview
  • ssh -G summary for the detected alias

Use the script to inspect before editing.

What to report

  • Root cause in one sentence
  • Whether the failure is local config, GitHub permission, or both
  • The minimal fix
  • Exactly what changed
Usage Guidance
This skill appears to do what it says: local, read-only diagnosis of SSH aliases, keys, and Git remotes. Before running anything: (1) review the audit output yourself — it will list ~./ssh filenames and permissions which are sensitive (don’t paste them in public), (2) run the bundled script only on machines you control, (3) expect the script to require git and ssh on PATH (the metadata omission is just documentation), and (4) follow the SKILL.md advice to inspect before editing remotes or config files (fixing remotes without checking automation sources can lead to config drift). If you need higher assurance, open the script and reference files locally to confirm there are no network calls or hidden write actions (they are not present).
Capability Analysis
Type: OpenClaw Skill Name: github-private-repo-ssh-routing Version: 1.0.1 The skill bundle is a legitimate tool designed to help an AI agent diagnose and manage SSH key routing for GitHub repositories. It includes a diagnostic script (scripts/audit-routing.sh) and comprehensive documentation (SKILL.md, references/*.md) that focus on standard troubleshooting steps like inspecting git remotes and SSH configurations. No evidence of data exfiltration, malicious execution, or harmful prompt injection was found.
Capability Assessment
Purpose & Capability
The name/description, README guidance, reference docs, and bundled audit script all focus on SSH alias, key, and Git remote diagnosis for GitHub private repos. The actions (ls ~/.ssh, sed ~/.ssh/config, git remote, ssh -G, ssh -T, git ls-remote) are appropriate for that purpose. Minor metadata omission: the skill metadata lists no required binaries even though the script expects git and ssh; this is an implementation documentation gap, not a functional mismatch.
Instruction Scope
SKILL.md and the script limit themselves to local, read-only inspection and diagnostic commands. They reference only local SSH files, permissions, and git metadata and do not instruct sending data to external endpoints. The script prints filenames and permission info (which is sensitive but relevant to diagnosis); overall the scope stays within the stated troubleshooting domain.
Install Mechanism
There is no install spec (instruction-only with a helper script included), so nothing is downloaded or installed. This minimizes install-time risk.
Credentials
The skill does not request environment variables, credentials, or config paths beyond reading standard SSH and repo files under the user's home directory. Example text references OpenClaw config for context but the skill does not demand access to unrelated secrets or services.
Persistence & Privilege
The skill is not always-enabled and is user-invocable. It does not request persistent installation nor modify other skills or global agent settings. The workflow recommends manual edits by the user; the provided script performs only read-only auditing.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install github-private-repo-ssh-routing
  3. After installation, invoke the skill by name or use /github-private-repo-ssh-routing
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
Add guidance for deploy key vs fine-grained PAT boundaries, PR/release automation decisions, and OpenClaw-specific identity model selection.
v1.0.0
Initial release: Diagnose and manage SSH keys, host aliases, and Git remotes for GitHub private repositories, focused on multi-repo environments. - Documents a canonical SSH host alias and remote pattern for routing deploy keys. - Includes step-by-step troubleshooting and workflow guidance for permission errors and automation scripts. - Provides quick triage instructions and symptom-based diagnosis. - Bundles a script for local SSH/Git/remote/key configuration audit. - Outlines reporting standards and minimal command set for investigation.
Metadata
Slug github-private-repo-ssh-routing
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Github Private Repo SSH Routing?

Diagnose and manage SSH keys, host aliases, and Git remotes for GitHub private repositories in multi-repo environments. Use when deploy keys collide, a machi... It is an AI Agent Skill for Claude Code / OpenClaw, with 312 downloads so far.

How do I install Github Private Repo SSH Routing?

Run "/install github-private-repo-ssh-routing" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Github Private Repo SSH Routing free?

Yes, Github Private Repo SSH Routing is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Github Private Repo SSH Routing support?

Github Private Repo SSH Routing is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Github Private Repo SSH Routing?

It is built and maintained by DarinRowe (@darinrowe); the current version is v1.0.1.

💬 Comments