Use this skill when the user points you to a remote git repository (GitHub/GitLab/Bitbucket URLs, git@..., or owner/repo shorthand).
The goal is to keep a reusable local checkout that is:
- stable (predictable path)
- up to date (periodic fetch + fast-forward when safe)
- efficient (partial clone with
--filter=blob:none, no repeated full clones)
Cache location
Repositories are stored at:
~/.cache/checkouts/<host>/<org>/<repo>
Example:
github.com/mitsuhiko/minijinja → ~/.cache/checkouts/github.com/mitsuhiko/minijinja
Command
bash <skill-dir>/scripts/checkout.sh <repo> --path-only
Examples:
bash <skill-dir>/scripts/checkout.sh mitsuhiko/minijinja --path-only
bash <skill-dir>/scripts/checkout.sh github.com/mitsuhiko/minijinja --path-only
bash <skill-dir>/scripts/checkout.sh https://github.com/mitsuhiko/minijinja --path-only
The script will:
- Parse the repo reference into host/org/repo.
- Clone if missing.
- Reuse existing checkout if present.
- Fetch from
originwhen stale (default interval: 300s). - Attempt a fast-forward merge if the checkout is clean and has an upstream.
Update strategy
- Default behavior is throttled refresh (every 5 minutes) to avoid unnecessary network calls.
- Force immediate refresh with:
bash <skill-dir>/scripts/checkout.sh <repo> --force-update --path-only
Citation rules:
- Code-content claims: cite
absolute/local/path:lineStart-lineEndfrom explicit read ranges on cached files.
Output format (Markdown, exact section order):
Summary
(1-3 sentences)
Locations
absolute/local/path,absolute/local/path:lineStart-lineEnd— what is here and why it matters;- If nothing relevant is found:
- (none)
Evidence
pathorpath:lineStart-lineEnd— short note on what this proves.- Include concise snippets only when they add clarity.
- For straightforward path-only/metadata answers, concise command evidence is enough.
- Evidence must only cite downloaded/cached files for code-content claims.
Searched (only if incomplete / not found)
- Queries, filters, and directory/tree probes used
Next steps (optional)
- 1-3 narrow fetches/checks to resolve remaining ambiguity
Recommended workflow
- Resolve repository path via
<skill-dir>/scripts/checkout.sh --path-only. - Use that path for searching, reading, and analysis.
- On later references to the same repo, call
<skill-dir>/scripts/checkout.shagain; it will find and update the cached checkout.
If edits are needed
Prefer not to edit directly in the shared cache. Create a separate worktree or copy from the cached checkout for task-specific modifications.
Notes
owner/repodefaults togithub.com.<skill-dir>is the current directory of that skill.