lov-gh-access

lov-gh-access is a skill for Claude Code, Codex from lovstudio/skills. It costs 151 tokens per session (2,393 once invoked), scanned A, original, MIT.

A GitHub access tool for sharing a private repository with named people without making it public. It accepts GitHub usernames or email addresses and supports granting, revoking, and listing access.

In plain words
What is it for?
Use it to invite contractors or external clients, remove collaborators, or check who can access a private GitHub repository.
Why use it?
It avoids manually looking up collaborators and helps prevent giving more access than intended by using read-only access as the default.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/lovstudio/skills/gh-access
Any agent
npx skills add lovstudio/skills --skill gh-access
Clone the repo
git clone --depth 1 https://github.com/lovstudio/skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for lov-gh-access

README.md
[![agentmods](https://agentmods.dev/badge/skills/lovstudio/skills/gh-access.svg)](https://agentmods.dev/skills/lovstudio/skills/gh-access)
Your own site
<a href="https://agentmods.dev/skills/lovstudio/skills/gh-access"><img src="https://agentmods.dev/badge/skills/lovstudio/skills/gh-access.svg" alt="Measured on agentmods" height="20"></a>
Per session 151 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,393 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00151 $0.02393
Opus 5 $0.00076 $0.01196
Sonnet 5 $0.00030 $0.00479
Haiku 4.5 $0.00015 $0.00239

Measured 4d ago against content hash 3dc42b50d9de, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

lov-gh-access scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/gh-access/SKILL.md · 232 lines

How it starts

The opening of the file, as written. The whole thing — 232 lines — stays where its author put it; the contents beside it link to each section on GitHub.

lov-gh-access

Grant, revoke, and audit collaborator access on private GitHub repos — by username or email, with read-only as the safe default.

Prerequisites

  • gh CLI authenticated (gh auth status) with a token that has:
    • repo scope (always)
    • admin:org scope (if the target repo is org-owned; caller must be org owner or repo admin)
  • The target repo exists and is accessible to the caller.

Subcommands

This skill has three modes. Pick based on the user's intent:

User intent Subcommand
"开权限 / share / invite / grant" grant
"撤销 / remove / revoke / 踢出" revoke
"谁有权限 / who has access / list" list

If intent is unclear, use AskUserQuestion to disambiguate.

Workflow

Step 0: Collect inputs via AskUserQuestion

ALWAYS collect the following BEFORE touching the API:

  1. Target repo<owner>/<repo> (e.g. skill-publisher/private-demo). If the user is inside a git repo, pre-fill from gh repo view --json nameWithOwner -q .nameWithOwner.
  2. Subcommand — grant / revoke / list.
  3. (grant/revoke only) Identifiers — a whitespace- or comma-separated list of GitHub usernames and/or email addresses. Mixed is fine.
  4. (grant only) Permission level — default pull (read-only). Offer:
    • pull — read + issues + PRs (recommended default)
    • triage — read + can label/close issues & PRs, no code write
    • push — write access (⚠ confirm explicitly)
    • maintain / admin — block unless user explicitly insists

Never silently escalate. If the user just says "给他权限" without specifying level, default to pull and state that clearly.

Step 1: Resolve identifiers → GitHub usernames

For each identifier in the list, follow this resolution chain and record the outcome per identifier (for the final summary report):

identifier → classify → resolve

Classification rule: an identifier containing @ is treated as an email, otherwise as a GitHub username.

Case A — looks like a username

Read the full file on GitHub · 232 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 232 lines · 151 tokens per session scan A 3dc42b50d9de

Subscribe to this mod's changes

lov-gh-access is a skill published in the GitHub repository lovstudio/skills (64 stars, last pushed yesterday), licensed MIT. It adds 151 tokens to every session and 2,393 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

dokploy-deploy

This skill should be used when user asks to "deploy with Dokploy", "use Dokploy Cloud", "manage self-hosted Dokploy", "deploy Docker Compose on Dokploy", "manage Dokploy databases", "configure Dokploy domains", or "look up Dokploy CLI commands".

fcakyon/claude-codex-settings · 63 tokens

resolve-pr-comments

This skill should be used when user asks to "address PR comments", "resolve PR feedback", "handle review comments", "fix PR issues", "respond to PR review", or explicitly invokes "resolve-pr-comments".

fcakyon/claude-codex-settings · 47 tokens

update-pr-summary

This skill should be used when user asks to "update PR summary", "update PR description", "rewrite PR body", "refresh PR title and body", or explicitly invokes "update-pr-summary".

fcakyon/claude-codex-settings · 43 tokens

sdd

Execute the Liatrio Spec-Driven Development (SDD) workflow when explicitly invoked by the user. NOTE: this skill is NOT intended to be dynamically loaded or automatically triggered; it should only ever be explicitly called by the user.

liatrio-labs/spec-driven-workflow · 50 tokens

tmux-ui-tripwire

Write or debug tmux-driven end-to-end TUI tests ("tripwires") for the ainb terminal app. Use when the user asks to "write a tmux test", "add a tripwire", "verify the TUI in tmux", "test feature X by pressing key Y", "validate plugin Z renders", or when editing any file under crates/ainb-core/tests/tripwire.rs.…

stevengonsalvez/agents-in-a-box · 185 tokens

ainb-fleet:daemon

Long-running watcher that scans every claude session every 5s and auto-sends continue to any session whose recent tmux pane buffer matches a known API-error regex (ratelimited, overloadederror, internalservererror, requesttimeout, sockethangup, fetchfailed, ECONNRESET). Use this when you want unattended recovery from…

stevengonsalvez/agents-in-a-box · 89 tokens