Skill v1.0.0
currentLLM-judged scan90/100version: "1.0.0" name: github-code-search description: Use when Codex should work with the GitHubCodeSearch MCP server to discover GitHub repositories, shape quota-efficient GitHub repository-search queries, acquire candidate source repositories into the local corpus, search local code evidence, or analyze RimWorld/Harmony patch evidence. Also use when maintaining this repo's MCP server, deployment script, or installed skill instructions.
GitHubCodeSearch
GitHubCodeSearch is intended to make broad code research repeatable: GitHub is for repository discovery and fetching; the local corpus is the source of truth for code evidence.
Workflow
- Start with
corpus_status.
Check implementedTools, corpus paths, backend status, and next actions before assuming a tool produces evidence.
- Use
corpus_discoverfor repository discovery.
Pack as much intent as possible into one rich request instead of spending quota on several narrow searches. Use dryRun:true first whenever shaping the query.
- Treat discovery results as leads.
corpus_discover uses GitHub repository search metadata. It can identify candidate repos, but it does not prove a symbol, call site, Harmony patch, or return behavior exists in code.
- Acquire repositories before evidence claims.
Use corpus_acquire on selected candidate IDs. Acquisition clones or refreshes working trees under the local corpus cache and records the resolved commit.
- Use local evidence.
Prefer code_search, harmony_find_patches, and evidence_get over GitHub web or API search for final answers. code_search currently searches acquired working trees with ripgrep; Zoekt remains deferred.
Discovery Query Shape
Prefer structured arguments:
{"query": "rimworld harmony","terms": ["TickManager"],"exactTerms": ["DoSingleTick Prefix"],"in": ["name", "description", "readme", "topics"],"language": "C#","topic": "rimworld","stars": ">=5","pushed": ">=2024-01-01","forkMode": "include","archived": false,"sort": "stars","order": "desc","limit": 100,"dryRun": true}
Useful fields:
query,terms,exactTerms: put the broad concept, names, and exact phrases here.language/languages,topic/topics,organization/organizations,user/users,repository/repositories: scope the candidate set.stars,forks,created,pushed,size,license,visibility,archived,forkMode: prune low-value candidates early.customQualifiers: add raw GitHub repository-search qualifiers not yet modeled by the tool.sort,order,page,limit,includeTextMatches: map to GitHub Search API request parameters.
Inspect builtQuery from a dry run. Only remove dryRun after the query is specific enough to justify a GitHub request.
Limits
- GitHub repository search is still rate-limited by GitHub.
limitmaps to GitHubper_pageand is capped at 100.- Discovery is repository-level metadata search, not code search.
corpus_acquireaccepts candidate IDs returned bycorpus_discover, and also acceptsgithub:owner/repoIDs as a pragmatic direct acquisition path.code_searchreturns stable hit IDs with repository, commit, path, line span, snippet, and local path. Useevidence_getto retrieve context for a hit ID.harmony_find_patchesis a pragmatic C# text analyzer. It handles common attribute and manual patch forms, but classifications should still be audited from returned evidence snippets.- Tool schema changes usually require restarting Codex. Implementation changes behind an existing schema can be redeployed, but a running stdio child may keep old code until the client respawns it.
Maintenance
Use scripts/deploy-codex-mcp.sh after code or skill changes. It formats Go code, runs tests and vet, builds and installs the MCP binary, installs this skill to ${CODEX_HOME:-~/.codex}/skills/github-code-search, updates Codex MCP config, smoke-tests the installed server, and prints only OK on success.