Acquire Codebase Knowledge
github/awesome-copilot
Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.
Generates, refreshes, validates and uses a compact handbook that maps where a change touches in a repository, using the active Codex session and no external LLM API.
$ npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Ruhan-Wang/Harness_Handbook build-codebase-handbook --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Ruhan-Wang/Harness_Handbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/build-codebase-handbook .claude/skills/build-codebase-handbook && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "build-codebase-handbook" agent skill from https://github.com/Ruhan-Wang/Harness_Handbook/tree/main/.agents/skills/build-codebase-handbook into .claude/skills/build-codebase-handbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-codebase-handbook", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Ruhan-Wang/Harness_Handbook/tree/main/.agents/skills/build-codebase-handbookType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Ruhan-Wang/Harness_Handbook build-codebase-handbook --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ruhan-Wang/Harness_Handbook.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/build-codebase-handbook .agents/skills/build-codebase-handbook && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "build-codebase-handbook" agent skill from https://github.com/Ruhan-Wang/Harness_Handbook/tree/main/.agents/skills/build-codebase-handbook into .agents/skills/build-codebase-handbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-codebase-handbook", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Ruhan-Wang/Harness_Handbook build-codebase-handbook --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ruhan-Wang/Harness_Handbook.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/build-codebase-handbook .cursor/skills/build-codebase-handbook && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "build-codebase-handbook" agent skill from https://github.com/Ruhan-Wang/Harness_Handbook/tree/main/.agents/skills/build-codebase-handbook into .cursor/skills/build-codebase-handbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-codebase-handbook", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Ruhan-Wang/Harness_Handbook.git --path .agents/skills/build-codebase-handbook--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Ruhan-Wang/Harness_Handbook build-codebase-handbook --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ruhan-Wang/Harness_Handbook.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/build-codebase-handbook .gemini/skills/build-codebase-handbook && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "build-codebase-handbook" agent skill from https://github.com/Ruhan-Wang/Harness_Handbook/tree/main/.agents/skills/build-codebase-handbook into .gemini/skills/build-codebase-handbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-codebase-handbook", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Ruhan-Wang/Harness_Handbook build-codebase-handbookInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Ruhan-Wang/Harness_Handbook.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/build-codebase-handbook .github/skills/build-codebase-handbook && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "build-codebase-handbook" agent skill from https://github.com/Ruhan-Wang/Harness_Handbook/tree/main/.agents/skills/build-codebase-handbook into .github/skills/build-codebase-handbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-codebase-handbook", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Ruhan-Wang/Harness_Handbook build-codebase-handbook --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ruhan-Wang/Harness_Handbook.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/build-codebase-handbook .opencode/skills/build-codebase-handbook && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "build-codebase-handbook" agent skill from https://github.com/Ruhan-Wang/Harness_Handbook/tree/main/.agents/skills/build-codebase-handbook into .opencode/skills/build-codebase-handbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-codebase-handbook", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
build-codebase-handbookGenerates, refreshes, validates and uses a compact handbook that maps where a change touches in a repository, using the active Codex session and no external LLM API.
Three modes are available. Build mode generates, refreshes or validates a handbook skill for a repository, task mode uses an existing handbook to route a concrete planning, coding, debugging, testing or review task, and combined mode builds first and then applies it. A handbook is only created on request, not because a normal coding task mentions a repository, and all analysis happens in the current session.
In task mode the agent reads the handbook's overview, routes through its index to the relevant stage pages and registers, checks `coverage.json` for freshness, then reads the real source at every cited path, since handbook prose is never authoritative. Explanation, diagnosis, planning and review stay read-only; requested changes are implemented and verified, and stale coverage hashes are reported unless you ask to keep the handbook in sync. Bundled scripts inventory the repository, compile coverage and validate the handbook.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d913d8c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Codebase Handbook Builder loads about 2.2k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 195 tokens; SKILL.md has 992 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from Ruhan-Wang/Harness_Handbook at commit d913d8c, republished under its Apache-2.0 licence (© Ruhan-Wang). 992 words, ~2,213 tokens.
.claude/skills/build-codebase-handbook/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Create or use a compact source-location index that helps Codex find every place a change touches. Use the active Codex session for analysis; do not call an LLM endpoint, API client, or API-backed generator.
Resolve this skill's directory from the selected SKILL.md and call it
HANDBOOK_BUILDER_ROOT.
Choose one mode:
Do not generate a handbook merely because a normal coding task mentions a repository. Task mode requires an existing handbook or an explicit request to create/use one.
<source>/.agents/skills/*-handbook/SKILL.md, excluding this builder.
If several match, choose by repository name and described scope; ask only when
ambiguity would materially change the task.SKILL.md completely. Read its
references/overview.md, route through references/index.md, then load only the
relevant stage pages and references/registers.md.references/coverage.json for freshness of the routed files. When useful,
run this builder's validator. Treat validation failures as drift signals, not as
permission to skip the user's task.Never treat handbook prose as authoritative code text.
Use:
<source>/.agents/skills/<repository-slug>-handbook.Run the bundled utilities with Python 3.10 or newer. They use only the Python
standard library, so this skill intentionally has no requirements.txt. If a future
version adds a third-party import, add and package a pinned requirements.txt.
Make the generated folder independently shareable. Do not import code or templates from the source repository or this skill. Do not add a README, build log, scratch notes, or source snapshot.
If the output already exists, update it in place. Preserve useful hand-written content, inspect changes before overwriting, and never delete the whole folder as a shortcut.
Read applicable AGENTS.md files and repository instructions first.
Run:
python3 "$HANDBOOK_BUILDER_ROOT/scripts/inventory.py" \
--source-root "<source>" \
--output "<work>/inventory.json"Review the summary and skipped-file reasons. Add --exclude PATTERN for generated
trees or project-specific noise. Never weaken the default secret and private-key
exclusions.
Treat the inventory as the coverage contract. Do not silently omit an eligible file because it looks unimportant.
Inspect the actual source with repository search and targeted reads. Use the inventory to work in bounded batches.
Identify:
Group files by behavior and lifecycle, not merely by directory. Prefer 4–12 stages for a typical repository. A file must have one primary stage even when referenced from several pages.
For large repositories, analyze independent inventory slices concurrently with subagents when that capability is available. Give each agent only its file slice and request factual notes with exact paths and symbols. Reconcile their notes against the source yourself. Otherwise process the slices sequentially.
Read references/handbook-format.md completely before creating or updating output files. Follow its required layout and schemas.
Create:
<output>/
├── SKILL.md
├── agents/openai.yaml
└── references/
├── overview.md
├── index.md
├── registers.md
├── stage-rules.json
├── coverage.json
└── stages/<stage-id>.mdWrite exact repository-relative paths and symbol names. Summarize behavior rather than copying source bodies. Never include credentials, environment values, private keys, or secret file contents.
The generated SKILL.md must tell future agents to use the handbook for routing,
then inspect real source before planning or editing. The handbook is not ground
truth for verbatim code.
Express the primary file-to-stage assignment in
references/stage-rules.json. Prefer narrow, non-overlapping glob rules; use exact
path overrides for exceptions.
Run:
python3 "$HANDBOOK_BUILDER_ROOT/scripts/compile_coverage.py" \
--inventory "<work>/inventory.json" \
--rules "<output>/references/stage-rules.json" \
--output "<output>/references/coverage.json"Fix unmatched files, overlapping rules, unknown overrides, and invalid stage IDs. Do not use a catch-all rule to conceal an incomplete architecture analysis.
Run:
python3 "$HANDBOOK_BUILDER_ROOT/scripts/validate_handbook.py" \
--source-root "<source>" \
--skill-dir "<output>"Resolve every error. Review warnings and fix any that affect routing quality. Then:
index.md.Re-run the inventory and validator first. Use stale hashes and new/deleted paths to
identify affected stages. Re-read changed source, update those stage pages, then
roll changes upward into registers.md, index.md, and overview.md. Recompile
coverage and validate again.
Do not rewrite unaffected prose solely for stylistic consistency.
The builder carries its own Apache-2.0 LICENSE, so a ZIP remains licensed when
detached from this repository. The repository has no NOTICE file to propagate.
Create a deterministic archive:
python3 "$HANDBOOK_BUILDER_ROOT/scripts/package_skill.py" \
--output "<destination>/build-codebase-handbook.zip"The archive contains one top-level build-codebase-handbook/ directory and excludes
caches, temporary files, existing archives, and VCS metadata. It includes
requirements.txt automatically if one exists.
Do not assume the same Apache license applies to handbooks generated from someone else's repository. Before distributing a generated handbook, use the license and notices authorized by that repository's owner.
© Ruhan-Wang, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (scripts, references) in .agents/skills/build-codebase-handbook of Ruhan-Wang/Harness_Handbook.
Open the folder on GitHubat commit d913d8c
Codebase Handbook Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Codebase Handbook Builder this skillRuhan-Wang/Harness_Handbook | 332 | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Acquire Codebase Knowledgegithub/awesome-copilot | 40k | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| ccc Semantic Code Searchcocoindex-io/cocoindex-code | 2.7k | — | ~938 | Automated safety check: Pass | Apache-2.0 | |
| Repomix Codebase Packeryamadashy/repomix | 29k | — | ~1.3k | Automated safety check: Notes | MIT | |
| CodemapJordanCoin/codemap | 704 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Codebase SearchHelweg/open-codebase-index | 217 | — | ~1.3k | Automated safety check: Pass | MIT |
github/awesome-copilot
Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.
cocoindex-io/cocoindex-code
Semantic code search and index management with the ccc CLI: the agent initializes, indexes and queries the project by concept, filtering by language or path.
yamadashy/repomix
Packs a local directory or remote GitHub repository into one AI-friendly file with Repomix, then searches it to explore structure, find patterns and count tokens.
JordanCoin/codemap
Gives an agent a quick map of a codebase's structure, dependencies, changes and handoffs, and tunes per-project config so the output stays code-first.
Helweg/open-codebase-index
Chooses the right retrieval tool for code questions: compact context for unfamiliar repos, direct lookup for known symbols, call graphs for relationships and grep for exhaustive matches.
redhat-et/ripwire
Produces a short brief for handing a code subsystem to a teammate or fresh session, using ripwire to rank symbols, expand bodies and surface design docs.
Categories
Generates, refreshes, validates and uses a compact handbook that maps where a change touches in a repository, using the active Codex session and no external LLM API. Three modes are available. Build mode generates, refreshes or validates a handbook skill for a repository, task mode uses an existing handbook to route a concrete planning, coding, debugging, testing or review task, and combined mode builds first and then applies it.
Codebase Handbook Builder fits situations like: creating a navigation handbook for an unfamiliar repository; locating every file a cross-cutting change will touch; validating or refreshing a handbook after the code has changed; reviewing a repository task with a handbook as a coverage checklist.
Run `npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a claude-code`. Or copy the skill folder (.agents/skills/build-codebase-handbook in Ruhan-Wang/Harness_Handbook) into .claude/skills/build-codebase-handbook in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a codex`. Or copy the skill folder (.agents/skills/build-codebase-handbook in Ruhan-Wang/Harness_Handbook) into .agents/skills/build-codebase-handbook in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Ruhan-Wang/Harness_Handbook --skill build-codebase-handbook -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-codebase-handbook, .gemini/skills/build-codebase-handbook, .github/skills/build-codebase-handbook and .opencode/skills/build-codebase-handbook in your project.
Going by SKILL.md and its folder, Codebase Handbook Builder needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python, for the bundled scripts.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Codebase Handbook Builder is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Codebase Handbook Builder: Acquire Codebase Knowledge (github/awesome-copilot, 40k stars), ccc Semantic Code Search (cocoindex-io/cocoindex-code, 2.7k stars), Repomix Codebase Packer (yamadashy/repomix, 29k stars) and Codemap (JordanCoin/codemap, 704 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Ruhan-Wang (a GitHub user) maintains it in Ruhan-Wang/Harness_Handbook, which has 332 GitHub stars. The repository was last updated on August 11, 2026.
Source: Ruhan-Wang/Harness_Handbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.