github-cache-hygiene
GitHub quota/cache hygiene: Gitcrawl archives, Octopool-backed gh, freshness, limits.
Skill by steipete
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/steipete-github-cache-hygiene
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/github-cache-hygiene
What's inside
- Skill name
github-cache-hygiene- Description
- GitHub quota/cache hygiene: Gitcrawl archives, Octopool-backed gh, freshness, limits.
- License
- MIT
- Instructions
- 126 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# GitHub Cache Hygiene Goal: discover in the local Gitcrawl archive first, then use the existing Octopool-backed `gh` shim for current GitHub metadata and authorized writes. ## Default Path Start with local archive reads: ```bash gitcrawl search prs "<terms>" -R owner/repo --state open --json number,title,url ``` ```bash gitcrawl threads owner/repo --numbers 123 --include-closed --json ``` `--include-closed` keeps closed or merged candidates in scope. Archive state can lag GitHub; it is not proof of current state. Then use bare PATH `gh` when current metadata is needed. On Peter's machines it is expected to be the Octopool-backed shim, so supported JSON reads share the fleet cache without changing authentication or command routing: ```bash gh search issues "<terms>" -R owner/repo --state open --json number,title,state,url,updatedAt,labels,author gh search prs "<terms>" -R owner/repo --state open --json number,title,state,url,updatedAt,isDraft,author gh issue list -R owner/repo --state open --author user --assignee user --label bug --json number,title,url gh pr list -R owner/repo --state open --author user --label dependencies --json number,title,url gh issue view 123 -R owner/repo --json number,title,state,body,labels,url gh pr view 123 -R owner/repo --json number,title,state,url,headRefName,headRefOid gh pr checks 123 -R owner/repo --json name,state,bucket,link gh run list -R owner/repo --branch branch-name --json databaseId,workflowName,status,conclusion,url gh pr diff 123 -R owner/repo --patch ``` Use exact refs and narrow fields. `--json` selects output, not a reader identity. In Octopool 0.7.1, PR `mergeStateStatus` and issue `comments` select native gh for the entire field bundle. PR comment/review/commit exports also retain native handling. Request those fields when needed, but omit them from descriptive reads that do not consume them. Never remove merge/review gates merely to raise cache reuse, or split one decision into separately timed reads without preserving its consistency contract. Supported human output and recognized landing GraphQL projections can also relay. Supported `gh api --paginate`/`--slurp` and `--hostname github.com` reads need not bypass Octopool. Use the installed version's CLI contract and observed routing; an absolute `gh` path alone does not establish that it is the native binary. Avoid broad loops like one `gh issue view` per result when a single `gh search` or `gh issue list --json ...` can answer the first-pass question. For CI, avoid tight `gh run list` / `gh run view` polling loops. After a push or workflow dispatch, identify one exact run, then use an exact-run watcher or poll that run at 30s, 60s, then 120s intervals. Check the expected head SHA and run attempt. A broad or filtered list can lag even on a fresh upstream acquisition; its newest row is not final CI evidence. Fetch logs once, only after failure or explicit request. Reuse prior output instead of re-reading completed runs. ## Freshness Local answers are good for discovery, duplicate search, old thread review, author/label triage, and "is there likely already an issue/PR?" checks. Use a live call when: - writing, commenting, closing, merging, rerunning, or editing - checking final current state before a maintainer action - verifying CI status after a push - the local result is missing or obviously stale - the user asks for latest/live state Hydrate exact PR details only when the local archive needs files, commits, checks, or run summaries for repeated review: ```bash gitcrawl sync owner/repo --numbers 123 --with pr-details ``` This refresh spends GitHub API calls and updates Gitcrawl's archive, not Octopool's separate `gh` cache. Bare `gh` reads do not auto-hydrate the Gitcrawl archive. `gitcrawl gh` is retired and exits `2` with a migration note. Replace those recipes with archive reads followed by bare `gh`; the note is not an authentication failure. Do not run `octopool login`, change tokens/auth/PATH/config, or bypass the existing shim to repair a retired command. After a write, do one targeted fresh readback, not a broad rescan. Use `OCTOPOOL_FRESH=1` or an explicit `Cache-Control: max-age=0` for relay reads. Supported PR decision fields such as `state`, `headRefOid` and `statusCheckRollup` automatically revalidate. Descriptive fields such as `title` can reuse cache. `gh api --include` uses native gh and caller credentials. It changes identity, quota and potentially visibility; it is not a freshness switch or a guaranteed stale-list workaround. Keep caller-owned permission and merge decisions on their required identity path. A fresh relay MISS with an old list does not by itself prove expired cache reuse, and a HIT after revalidation does not prove zero upstream requests. ## Octopool Inspect cache behavior when rate limits are suspected: ```bash octopool whoami octopool health octopool stats --since 1h octopool stats --since 24h --json ``` Prioritize cached eligible responses divided by eligible requests. Retain the UTC window, numerator, denominator, misses, bypasses and coalesced requests. Compare route/client mix, explicit freshness and latency before attributing a change. These are response-reuse metrics, not GitHub quota savings. Pool totals cover all callers, while client tables cover the authenticated caller. Native GraphQL and direct clients are outside relay metrics; absence from a bounded sample is not proof of a broken installation. Check the actual execution context. A host shim can work while a container uses a separate native read-only wrapper. Preserve that wrapper's allowlist and credential boundary; never mount host mutation credentials to gain cache coverage. Use `OCTOPOOL_NO_FALLBACK=1` only for a bounded, known-supported relay read. It blocks a relay-to-native handoff, but deliberately unsupported commands can still delegate directly. Success alone is therefore not universal relay proof. Pair it with a known supported command and observed route/cache evidence. A separate native wrapper may ignore this variable entirely. Do not set it globally; mutations and unsupported reads still need real `gh`. For relay-only proof: ```bash OCTOPOOL_NO_FALLBACK=1 gh api repos/owner/repo --jq .full_name
From steipete/agent-scripts, MIT.
More from steipete/agent-scripts
- 0.843score
fleet-maintenance
steipete
Mac fleet inventory and upkeep with full/worker profiles: collect installed apps and packages, compare desired versus observed state, audit local-account…
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.843score
codex-first
steipete
Claude Code work routing: delegate hands-on work to Codex under the native-Claude model gate.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.840score
project-structure
steipete
Generate a single-file compressed symbol map of a TypeScript or Swift repository — files, exported symbols, typed signatures, plugin boundaries — sized to fit…
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
nano-banana-pro
steipete
Nano Banana/Gemini image gen/edit: text/image input, 512-4K workflows.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
video-transcript-downloader
steipete
yt-dlp downloads: video, audio, subtitles, transcripts, clips, playlists.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
openclaw-relay
steipete
OpenClaw session relay: prompts/posts via local/remote acpx over SSH.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.838score
codex-huge-context
steipete
Codex 1M context: direct OpenAI Responses API inference, safe Astra/Sol/Terra/Luna input headroom, Keychain delivery, and Mac fleet rollout.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.835score
release-mac-app
steipete
macOS app release: Sparkle, notarization, GitHub Release, Homebrew, closeout.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.835score
npm
steipete
npm registry ops: login, whoami, names, publish; 1Password tmux.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.834score
markdown-converter
steipete
Markdown conversion: PDF, Office, HTML, data, OCR, audio, ZIP, YouTube.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.829score
remote-mac
steipete
Remote Macs: MacBooks, Mac Studios, hosted claw Macs, Tailscale, SSH, and OpenClaw.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.797score
maintainer-orchestrator
steipete
Coordinate multiple maintainer issues, PRs, or repositories with bounded workers, serialized public actions, and clear owner decisions.
SkillBFreshness: B★ 7.4KClaude Code +9
Signals
- Stars
- 7,401
- Forks
- 646
- Open issues
- 0
- Last commit (this folder)
- Sep 22, 2026 (1 month ago)
- Last release
- Jul 17, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/steipete/agent-scripts
- Website
- steipete.me
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from steipete
- 0.843score
fleet-maintenance
steipete
Mac fleet inventory and upkeep with full/worker profiles: collect installed apps and packages, compare desired versus observed state, audit local-account…
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.843score
codex-first
steipete
Claude Code work routing: delegate hands-on work to Codex under the native-Claude model gate.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.840score
project-structure
steipete
Generate a single-file compressed symbol map of a TypeScript or Swift repository — files, exported symbols, typed signatures, plugin boundaries — sized to fit…
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
video-transcript-downloader
steipete
yt-dlp downloads: video, audio, subtitles, transcripts, clips, playlists.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
openclaw-relay
steipete
OpenClaw session relay: prompts/posts via local/remote acpx over SSH.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
nano-banana-pro
steipete
Nano Banana/Gemini image gen/edit: text/image input, 512-4K workflows.
SkillAFreshness: A★ 7.4KClaude Code +9
Cite this page
github-cache-hygiene skill. Agent Mart. https://agentmart.dev/skills/steipete-github-cache-hygiene (last updated 2026-10-24)