skills/dev-read-gh-public-repo/SKILL.md
Read files from a PUBLIC GitHub repo that the Claude Code web/remote environment reports as out-of-scope for its GitHub MCP tools. Use when (1) running in the web/remote container (claude.ai/code, NOT a local Mac/terminal session), AND (2) a `mcp__github__*` call fails with "Access denied: repository ... is not configured for this session", AND (3) the repo is public. Triggers: "can't see that repo", "access denied repository not configured", "read a public repo that's not in scope", "clone a public repo to read it".
npx skillsauth add takazudo/claude-resources dev-read-gh-public-repoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
In the Claude Code web/remote environment, the GitHub MCP tools (mcp__github__*)
are locked to an allow-list of repos chosen when the session was created. Reading any
other repo — even a public one — fails like this:
Access denied: repository "owner/name" is not configured for this session.
Allowed repositories: <only-the-scoped-ones>
Call the platform's add_repo tool (mcp__Claude_Code_Remote__add_repo in this
container) with the owner/repo — this is the supported way to widen scope
mid-session (see github-ops.md, "Repo scope": "For
cross-repo work, add the target repo via the platform's add_repo"). On success it
returns a clone command; run it, then call register_repo_root so the harness picks
up the new repo. After that, the normal mcp__github__* tools / Read / Grep work
against it like any in-scope repo — full read access (issues, PRs, file contents),
not just a one-off file dump.
If add_repo is unavailable in this session, or the call is denied
(authorization/policy error, GitHub App not installed for the repo), fall through
to step 2.
Fetch a tarball over plain HTTPS instead of using git — the same bootstrap
pattern dev-setup-webenv uses to pull claude-resources into a web session:
cd /tmp && curl -fsSL "https://github.com/<owner>/<repo>/archive/refs/heads/<branch>.tar.gz" -o repo.tar.gz \
&& mkdir -p <repo> && tar -xzf repo.tar.gz -C <repo> --strip-components=1
# now Read / Grep files under /tmp/<repo>
Try the actual default branch first (commonly main, then master if that 404s).
git clone — verify before relying on itcd /tmp && git clone --depth 1 https://github.com/<owner>/<repo>.git
Whether this works depends on how this session's git proxy is scoped, and that has
been observed to vary: some container configurations reject git clone/git ls-remote of an out-of-scope repo with a 403 (the assumption documented in
dev-setup-webenv), while a plain git clone of a public, out-of-scope repo has
also been observed to succeed outright in-container. Don't assume either outcome —
check first with git ls-remote --exit-code https://github.com/<owner>/<repo> HEAD
(expect a commit hash, not an error) before depending on it. Steps 1–2 above don't
depend on this uncertain behavior, so prefer them.
HTTPS only — SSH fails. There is no ssh binary in the container, so
git clone [email protected]:owner/repo.git dies with ssh: not found. Always use
the https://github.com/... URL (or the codeload tarball URL).
No auth needed for public repos over HTTPS — the fetch just works, assuming
the environment's outbound network policy allows github.com /
codeload.github.com.
Clone/extract outside the working repo (/tmp, or any path that isn't the
user's project) so the checkout stays ephemeral and never gets committed by accident.
--depth 1 (or the tarball, which has no history at all) keeps it fast; only
fetch full history if you actually need it.
Reading only. This is for research: reading a doc/spec, copying a pattern. It
grants no write access and is not a substitute for proper repo scope.
Public repos only. Private repos still require adding the repo to the session
scope via add_repo (or real auth) — a plain HTTPS clone/tarball fetch will 404
or prompt for credentials and fail.
Web/remote env only. On a normal local session, just use gh or an existing
checkout instead — don't reach for this.
tools
Acceptance gate for a branch produced by an OpenAI Codex CLI run — usually Codex implementing a /big-plan epic that was handed off to it. Codex reports the work 'done' (or the user flags it WIP with corrections); this skill confirms the branch actually fulfils the original spec, fixes what falls short, and routes larger discoveries into GitHub issues. Use when: (1) User says '/finalize-codex-work', 'finalize codex work', 'confirm the codex work', 'check the codex branch', or 'codex said it's done', (2) A branch is the result of a Codex CLI session and needs verification against its spec issue/PR, (3) After assigning a /big-plan epic to Codex CLI. Pass -m/--merge to run /pr-complete -c at the end.
tools
Read a Figma design node directly from a share URL via the Figma REST API — no Dev Mode subscription, no MCP, no desktop app. Renders the node to PNG and dumps its full style/layout JSON so the design can be described, compared, or implemented. Use whenever the user gives a Figma design URL (figma.com/design/... or /file/...) and wants to see, read, inspect, reference, or implement that node — including `/fig-url-refer <url>`. This is the URL-based counterpart to `/figrefer` (which needs a Dev-plan desktop MCP); prefer this one when the input is a URL rather than a live desktop selection.
tools
Sync the user's Claude Code workflow skills into the OpenAI Codex CLI settings repo ($HOME/.codex) as Codex-native ports, fix the Codex .gitignore for new local state, then commit and push. Use when: (1) user says '/dev-codex-sync-settings-from-claude', 'sync codex settings', 'sync claude skills to codex', 'port skills to codex', or 'update codex from claude'; (2) after updating ~/.claude workflow skills (big-plan, x, x-as-pr, x-wt-teams) and Codex should catch up; (3) the $HOME/.codex repo has drifted behind $HOME/.claude. The ports are condensed Codex-native REWRITES, never file copies.
development
Analyze a video file (mov, mp4, webm, etc.) or a YouTube video by extracting still frames with ffmpeg and reading them chronologically with vision — Claude cannot ingest video files directly. Use whenever the user provides a video file path or YouTube URL and wants to know what happens in it: "read this video", "watch this video", "check this recording", "what happens in this .mov/.mp4", analyzing a screen recording of a UI bug, or verifying UI behavior captured in a video, even if they don't name this skill.