用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Abd0r/porcupineai --skill github-auth命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Write code that does not look like AI output. Reject low-evidence and low-signal TypeScript patterns (chained assertions, unknown/object widening, Reflect, runtime typeof, module mocks) in favor of typed, boundary-checked code.
Control a Home Assistant smart home through its MCP server. Query sensor and entity states read-only, then act on devices (lights, switches, climate) via call_service with explicit user approval. Use for "turn off the living room lights", "what is the thermostat set to", "set bedroom temp", or any Home Assistant entity/device task.
Produce clear, accessible diagrams and charts (architecture, flow, sequence, ER, state, org, Gantt, timeline) as Mermaid or polished self-contained SVG. Covers picking the right diagram type, a consistent visual system, and accessibility. Use whenever you need to explain a system, a flow, data, or a process in a README, doc, benchmark report, plan, or launch graphic.
基于 SOC 职业分类
正在显示 SKILL.md
| name | github-auth |
| description | Set up GitHub auth via gh CLI, HTTPS token, or SSH. |
| stack | vcs |
| tags | ["github","auth","gh","git","ssh","token"] |
Any GitHub work before PRs, issues, authenticated clone, or API calls.
bash for gh, git, ssh, curlgit --version
command -v gh >/dev/null && gh --version || echo "gh not installed"
gh auth status 2>/dev/null || echo "gh not authenticated"
test -n "${GH_TOKEN:-${GITHUB_TOKEN:-}}" && echo "token env set" || echo "no GH_TOKEN/GITHUB_TOKEN"
Decision:
gh auth status OK → use gh for everythinggh installed, not authed → Method Agh → Method B (git + token) or Method C (SSH)# Interactive device login (user completes in browser)
gh auth login -h github.com -p https -w
# Or token from env (do not echo the token back into chat)
# printf '%s\n' "$GH_TOKEN" | gh auth login --with-token
gh auth status
gh api user --jq .login
Useful scopes: repo, read:org, workflow (Actions), gist optional.
User creates classic PAT at https://github.com/settings/tokens
Scopes: repo (+ workflow if Actions, read:org for org repos).
git config --global credential.helper store
# First remote op prompts once: username = GitHub login, password = PAT
git ls-remote https://github.com/<user>/<repo>.git
Env fallback for API without gh:
: "${GITHUB_TOKEN:=${GH_TOKEN:-}}"
# Optional one-key load from Porcupine home (never dump the whole file):
# set -a; source <(grep -E '^(GH_TOKEN|GITHUB_TOKEN)=' ~/.porcupine/agent/.env 2>/dev/null); set +a
curl -sS -H "Authorization: Bearer $GITHUB_TOKEN" \
-H "Accept: application/vnd.github+json" \
https://api.github.com/user
test -f ~/.ssh/id_ed25519.pub || ssh-keygen -t ed25519 -C "porcupine" -f ~/.ssh/id_ed25519 -N ""
cat ~/.ssh/id_ed25519.pub
# User adds key at https://github.com/settings/keys
ssh -T git@github.com
git remote set-url origin git@github.com:OWNER/REPO.git
bash (not Hermes terminal)~/.porcupine/agent/ (not ~/.hermes)gh auth status 2>/dev/null || true
git ls-remote origin HEAD 2>/dev/null | head -1