Claude
Skills
Sign in
Back

godfetch

Included with Lifetime
$97 forever

Unified external research for documentation, GitHub code, and package versions. Use when the user needs to look up library docs or API references, search code in a public GitHub repo, check the latest version of a package, verify whether a dependency is deprecated, or any task requiring external knowledge beyond the local codebase and training data.

Backend & APIsscripts

What this skill does


# godfetch

Unified external research — look up library documentation, search source code in any git repository, and check package versions from a single skill.

## Routing

| Intent                                                                       | Primary tool                                                      | Fallback                                                 |
| ---------------------------------------------------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------- |
| Library docs, API reference                                                  | `llms-probe` → `WebFetch` llms.txt                                | `context7` if no llms.txt published                      |
| Changelogs, breaking changes                                                 | `llms-probe` → `WebFetch` llms.txt                                | `gh api contents` for CHANGELOG.md                       |
| Cross-repo code search (exact identifier)                                    | Sourcegraph MCP `keyword_search`                                  | `gh search code`, then `git-clone` for follow-up         |
| Semantic / concept query in a GitHub-hosted dep ("how does X work in lib Y") | `mcp__plugin_ora_morph__github_codebase_search`                   | `git-clone` if the question keeps branching across files |
| Concept query across multi-host or GitLab/Bitbucket repos                    | Sourcegraph MCP `nls_search` with 2-5 extracted keywords          | `keyword_search` after picking a literal term            |
| Deep dive in known repo (3+ files)                                           | `git-clone` + shell tools                                         | Sourcegraph `read_file` for one-off reads                |
| GitHub issues                                                                | `gh issue view <N>`                                               | `gh search issues` for discovery                         |
| GitHub PRs                                                                   | `gh pr view <N>`                                                  | `gh search prs` for discovery                            |
| GitHub releases (versions, dates, notes)                                     | `gh release view <tag> --repo owner/repo`                         | `gh release list --repo owner/repo` for browsing         |
| Single file (known repo + path)                                              | Sourcegraph MCP `read_file`                                       | `gh api repos/.../contents/<path>` (GitHub only)         |
| Symbol navigation (def, references)                                          | Sourcegraph `go_to_definition` / `find_references`                | `git-clone` + ast-grep                                   |
| Git history / diff search across repos                                       | Sourcegraph `commit_search` / `diff_search` / `compare_revisions` | `gh api /repos/.../commits`                              |
| Package version, deprecation                                                 | `deps-dev`                                                        | `npm view` for npm-only metadata                         |
| npm package info (non-version)                                               | `npm view <pkg>` (Bash)                                           | WebSearch for community sentiment                        |
| General web lookup                                                           | WebSearch → WebFetch                                              | —                                                        |
| Comparison / decision                                                        | `llms-probe` per lib + WebSearch                                  | `context7` for additional snippets                       |

For mixed requests, launch all relevant tools in parallel. Probe and clone are I/O-bound — start them in the background and run `WebFetch`/`context7`/WebSearch concurrently to mask latency.

### GitHub access rules

Do not use WebFetch on github.com or raw.githubusercontent.com URLs — use the right tool:

| GitHub content                    | Use                                                                     | Never                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| Source code (exploration)         | `git-clone` + shell tools                                               | browsing files via `gh api contents`                                                                          |
| Source file (known path)          | `gh api repos/.../contents/<path>`                                      | `WebFetch` raw.githubusercontent.com                                                                          |
| Issues                            | `gh issue view <N> --repo owner/repo`                                   | `WebFetch` github.com/.../issues/N                                                                            |
| Pull requests                     | `gh pr view <N> --repo owner/repo`                                      | `WebFetch` github.com/.../pull/N                                                                              |
| Issue/PR search                   | `gh search issues "q" --repo ...`                                       | `WebFetch` github.com/issues?q=...                                                                            |
| Releases (versions, dates, notes) | `gh release view/list --repo owner/repo` or `gh api repos/.../releases` | `WebFetch` github.com/.../releases — relative timestamps on the HTML get hallucinated into training-era years |
| CHANGELOG.md                      | `gh api repos/.../contents/CHANGELOG.md`                                | `WebFetch` blob/ or raw URLs                                                                                  |

### Search discipline

- **deps-dev for versions**: when checking latest version, deprecation, or comparing installed vs latest — always use `deps-dev` first. Only fall back to `npm view` or WebSearch if deps-dev errors or the package is private.
- **llms.txt first, context7 fallback**: for library docs, run `scripts/llms-probe.sh` against the docs domain before reaching for `context7`. Author-published llms.txt has no community-curation lag and no enrichment layer that can hallucinate. Fall back to `context7` only when probe returns nothing.

## llms.txt — Author-Canonical Library Documentation

Many doc sites publish [llms.txt](https://llmstxt.org/) (Markdown index of doc pages) and `llms-full.txt` (concatenated full content). These are author-published — no enrichment layer, no community-curation lag — so they reflect the deployed docs version exactly. Prefer them over `context7` when available.

### Step 1: Probe for availability

```bash
bash scripts/llms-probe.sh <docs-domain>
```

Outputs TSV `kind \t url \t size` for any found files. Probes root + common nested paths (`/docs/`, `/en/`), follows redirects, dedupes. Returns non-zero exit if nothing found.

| `kind` | Meaning                                           |
| ------ | ------------------------------------------------- |
| index  | `llms.txt` — Markdown list of doc page URLs       |
| full   | `llms-full.txt` — entire docs corpus concatenated |

Size shows `?` when the CDN strips both `Content-Length` and `Content-Range` headers (Vercel does this on react.dev) — treat `?` as unknown and prefer the index path.

### Step 2: Fetch based on what's there

| Found                                 | Action                                                                |
Files: 6
Size: 34.4 KB
Complexity: 65/100
Category: Backend & APIs

Related in Backend & APIs