Agent skill

Orienting Codebases

by oaustegard in oaustegard/claude-skills

Interactive codebase orientation for a HUMAN who wants to learn the code.

MITAuto-check passedEducation

Install Orienting Codebases

skills CLI
$ npx skills add oaustegard/claude-skills --skill orienting-codebases -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install oaustegard/claude-skills orienting-codebases --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/orienting-codebases .claude/skills/orienting-codebases && rm -rf skills-src

Use ~/.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/

Facts

Skill name
orienting-codebases
GitHub stars
150
Token cost
~2.7k tokens
SKILL.md length
900 words
Files
3
Skills in repo
93
Repo updated
First seen
Licence
MIT

At a glance

Interactive codebase orientation for a HUMAN who wants to learn the code.

  • Works in 5 steps: Setup (once per session) → Get the repo → Structural scan → …
  • Orient me to this repo
  • SKILL.md covers Pipeline, Orientation session, Producing orientation.html… and Feedback and scaffolding, plus 1 more section
  • Calls uv, python3 and curl; reaches api.github.com; needs GH_TOKEN

What it does

Orienting Codebases is an agent skill from oaustegard/claude-skills. Interactive codebase orientation for a HUMAN who wants to learn the code. Runs the same tree-sitting + featuring pipeline as exploring-codebases but synthesizes it into guided exercises and an HTML teaching artifact rather than an analysis document. Use for "orient me to this repo", "teach me this codebase", "walk me through this code", "learning orientation", or when someone wants genuine comprehension rather than a task completed. The audience is the test: if nobody is being taught and the goal is to get work…

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `CHANGELOG.md` and `README.md`).

It sits in Education, covering Tutoring and explanations. The repository describes itself as: My collection of Claude skills. The licence is MIT.

When your agent uses it

  • Orient me to this repo
  • Teach me this codebase
  • Walk me through this code
  • Learning orientation

Example prompts

  • “orient me to this repo”
  • “teach me this codebase”
  • “walk me through this code”
  • “/orienting-codebases”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Setup (once per session)
  2. Get the repo
  3. Structural scan
  4. Feature gathering
  5. Targeted source extraction

What it can do on your machine

Read from SKILL.md and the folder at commit 559a6cd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • python3
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Orienting Codebases loads about 2.7k tokens when it runs. Until then it costs about 144 tokens; SKILL.md has 900 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~144
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from oaustegard/claude-skills at commit 559a6cd, republished under its MIT licence (© oaustegard). 900 words, ~2,692 tokens.

Download SKILL.mdSave it as .claude/skills/orienting-codebases/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
orienting-codebases
description
Interactive codebase orientation for a HUMAN who wants to learn the code. Runs the same tree-sitting + featuring pipeline as exploring-codebases but synthesizes it into guided exercises and an HTML teaching artifact rather than an analysis document. Use for "orient me to this repo", "teach me this codebase", "walk me through this code", "learning orientation", or when someone wants genuine comprehension rather than a task completed. The audience is the test: if nobody is being taught and the goal is to get work done, use exploring-codebases instead.
metadata.version
0.4.0
metadata.license
CC-BY-4.0
metadata.lineage
Pedagogical design adapted from DrCatHicks/learning-opportunities (orient skill + PRINCIPLES.md). Pipeline from exploring-codebases. Presentation via…

Orienting Codebases

Interactive codebase orientation for the human, not the agent. Same tree-sitting + featuring pipeline as exploring-codebases, but synthesizes into guided HTML exercises via composing-html instead of analysis documents. See README.md for design rationale.

Pipeline

0. Setup (once per session)
bash
uv venv /home/claude/.venv 2>/dev/null
uv pip install tree-sitter-language-pack --python /home/claude/.venv/bin/python
export PYTHON=/home/claude/.venv/bin/python
export TREESIT=/mnt/skills/user/tree-sitting/scripts/treesit.py
export GATHER=/mnt/skills/user/featuring/scripts/gather.py
export COMPOSE=/mnt/skills/user/composing-html/scripts/build.py
1. Get the repo
bash
OWNER=... REPO=... REF=main
curl -sL -H "Authorization: Bearer $GH_TOKEN" \
  "https://api.github.com/repos/$OWNER/$REPO/tarball/$REF" -o /tmp/$REPO.tar.gz
mkdir -p /tmp/$REPO && tar -xzf /tmp/$REPO.tar.gz -C /tmp/$REPO --strip-components=1

For local repos, skip the curl — point directly at the path.

2. Structural scan
bash
$PYTHON $TREESIT /tmp/$REPO --stats
3. Feature gathering
bash
$PYTHON $GATHER /tmp/$REPO \
  --skip tests,.github,node_modules --source-budget 8000
4. Targeted source extraction

For each exercise target identified from gather output, extract the actual source using treesit queries:

bash
# Entry point source
$PYTHON $TREESIT /tmp/$REPO --no-tree 'source:main'

# Specific function for an exercise
$PYTHON $TREESIT /tmp/$REPO --no-tree 'source:validate_token'

# Imports for a hub file
$PYTHON $TREESIT /tmp/$REPO --no-tree 'imports:src/api.py'

This source feeds directly into the HTML artifact — the user sees real code, syntax-highlighted, without having to navigate the repo.

Do not show raw pipeline output to the user. It's material for exercise design. The user sees HTML artifacts and conversation.

Orientation session

After the pipeline steps, synthesize into an interactive orientation. Three phases.

Phase A: Framing (1 message, no artifact)

Summarize the repo in ONE sentence (what it does, who it's for). Then:

I can walk you through a hands-on orientation — about 15 minutes, two exercises that'll give you a working mental model of this codebase. Want to try it?

Do not start exercises without confirmation.

Phase B: Exercises (2 exercises, interactive)

For each exercise, generate an HTML artifact using composing-html's freeform template, then continue the conversation around it.

Artifact structure per exercise

Build a spec with body_html containing:

html
<section class="stack">
  <div class="eyebrow">EXERCISE 1 OF 2</div>
  <h2>[Exercise title]</h2>

  <div class="card">
    <div class="eyebrow">CONTEXT</div>
    <p>[Brief explanation of what this code does in the system
       and why it matters for orientation.]</p>
  </div>

  <div class="card">
    <div class="eyebrow">CODE</div>
    <pre><code>[Actual source extracted by treesit — entry point,
function, config, imports, or test names. Escaped properly.]</code></pre>
  </div>

  <details class="card">
    <summary>
      <span class="badge badge--clay">Your turn</span>
      [Specific comprehension/synthesis question]
    </summary>
    <div style="margin-top:1rem">
      <div class="eyebrow">KEY POINTS</div>
      <p>[Pre-generated feedback covering what the code reveals about
         the system's architecture, design decisions, or workflow.
         This is the "answer key" — hidden until clicked.]</p>
    </div>
  </details>
</section>

Answers live inside <details> — the DOM hides them until the user clicks. Do not preview or summarize the key points in chat after presenting the artifact; that defeats the exercise.

Build and present the artifact:

bash
python3 $COMPOSE build freeform --spec /tmp/exercise_N.json --out /tmp/exercise_N.html
Two interaction modes

After presenting the artifact, tell the user:

Take a look at the code and the question. You can either:

  • Tell me your answer in chat and I'll give you specific feedback
  • Click to reveal the key points in the artifact when you're ready

If they respond in chat: give personalized feedback based on what they actually said — confirm what's right, be specific about gaps, explore misconceptions. This is pedagogically richer than pre-canned feedback.

If they click through: that's fine too — the artifact's hidden feedback covers the essential points. Move to the next exercise.

Exercise design from pipeline signals

Each exercise type maps to specific pipeline output:

Entry-point walkthrough — gather found clear entry points: Show the main function/handler source. Ask what the program does on startup and what the 2-3 most important operations are.

Architecture synthesis — treesit --stats shows clear directory structure: Show the directory tree with file counts and symbol density. Ask what the system's main components are and how they relate.

Dependency detective — gather found import clusters: Show a hub file's imports. Ask what the import list reveals about the file's role — integration point, orchestrator, leaf node?

Config reader — manifest/config files are rich: Show the config file. Ask which 2-3 settings they'd change first for a new project and why.

Test-as-spec — test files present and readable: Show test names (not bodies). Ask what the tests tell them about what the module is supposed to do.

Phase C: Synthesis (1 message after exercises)

After both exercises, ask in chat (no artifact needed):

What's one thing about this codebase that surprised you, or that you want to dig into further?

Use their answer to either:

  • Point them to a specific file or symbol for independent exploration
  • Offer a targeted follow-up exercise — but only if they want more
Show full SKILL.md (346 more words)Show less

Producing orientation.html (optional)

If the user asks for a persistent orientation document, or if the session produced insights worth preserving, generate a standalone HTML artifact that any teammate can open in a browser without tooling.

Build via composing-html freeform with this body structure:

html
<section class="stack">
  <div class="card">
    <div class="eyebrow">PURPOSE</div>
    <p>[One-line: what this repo does and why it exists.]</p>
  </div>

  <div class="card">
    <div class="eyebrow">LANGUAGES</div>
    <p>[From treesit --stats.]</p>
  </div>

  <h2 class="rule">Key files</h2>
  <div class="grid grid--2">
    [For each of 6-10 key files from gather's density ranking:]
    <div class="card card--soft">
      <code>[path/to/file]</code>
      <p>[What it does — why a new developer should read it.]</p>
    </div>
  </div>

  <h2 class="rule">Core concepts</h2>
  [For each of 3-5 concepts:]
  <details class="card">
    <summary><strong>[Concept name]</strong> — [one-line summary]</summary>
    <p>[Where it lives in the code. Why it matters.]</p>
  </details>

  <h2 class="rule">Orientation exercises</h2>
  <p>Two exercises to build a working mental model. Read the code,
  answer the question, then click to check your understanding.</p>

  [Exercise 1 — same card+details structure as Phase B artifacts]
  [Exercise 2 — same structure]
</section>

Spec keys:

json
{
  "title": "Orientation: [repo name]",
  "eyebrow": "CODEBASE ORIENTATION",
  "subtitle": "[one-line purpose]",
  "show_masthead": true,
  "page_class": "page page--narrow",
  "body_html": "..."
}

Build and present:

bash
python3 $COMPOSE build freeform --spec /tmp/orientation_spec.json \
  --out /mnt/user-data/outputs/orientation.html

Feedback and scaffolding

Feedback after chat responses

When the user responds in chat (rather than clicking the reveal):

  • If correct: confirm briefly, then extend ("Right — and that connects to [next concept] because...")
  • If partially correct: acknowledge what's right, be specific about what's missing, explore the gap
  • If wrong: say so directly without softening, then walk through the actual behavior together
  • Do not attribute understanding the user didn't demonstrate. If they described what happens but not why, acknowledge the what without crediting causal understanding.
Fading scaffolding

Adjust the amount of code shown and question specificity based on demonstrated familiarity — but always keep the answer as the user's responsibility.

LevelArtifact showsQuestion asksUse when
HighFull function source, line numbers, file path"What does this function check?"First exercise, unfamiliar language
MediumFunction signature + key lines only"What's the validation logic here?"Second exercise, or user nailed the first
LowFile path only, no source in artifact"Where would you look to change how auth works?"Follow-up if user wants more

Fading adjusts the difficulty of finding and reading the code, not explaining it. At every level the user still produces the synthesis.

If the user struggles, move UP the ladder (show more code, be more specific), not sideways (hint at the answer).

When to use this vs. other skills

SituationUse
"I just cloned this, what is it?" (Claude needs to understand)exploring-codebases
"Help me understand this codebase" (user needs to understand)orienting-codebases (this skill)
"Where is the retry logic?"searching-codebases
"I want to set a learning goal"learning-goal
"Help me learn [specific concept] from my code"learning-opportunities (if installed)

This skill is the orientation layer — first-encounter mental model building. For ongoing learning during development (exercises after commits, retrieval check-ins, prediction drills), pair with learning-opportunities from DrCatHicks/learning-opportunities.

© oaustegard, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in orienting-codebases of oaustegard/claude-skills.

  • SKILL.md
  • CHANGELOG.md
  • README.md

Open the folder on GitHubat commit 559a6cd

Compare with similar skills

Orienting Codebases 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.

Orienting Codebases compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Orienting Codebases this skilloaustegard/claude-skills150—~2.7kAutomated safety check: PassMIT
DeepTutor CLIHKUDS/DeepTutor41k—~2.3kAutomated safety check: PassApache-2.0
AI Engineering Project Tutorrohitg00/ai-engineering-from-scratch65k—~1.6kAutomated safety check: PassMIT
Hung-Yi Lee Teaching Stylevoidful/hung-yi-lee-skill1.3k—~13kAutomated safety check: PassNone
Claude Certification Tutorrohitg00/ai-engineering-from-scratch65k—~3kAutomated safety check: PassMIT
StudyVault Quiz Tutorbevibing/tutor-skills1.3k—~1.4kAutomated safety check: PassMIT

Similar skills

  • DeepTutor CLI

    HKUDS/DeepTutor

    Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.

    41k GitHub stars~2.3k tokensUpdated 3 days ago
    EducationAuto-check passed
  • AI Engineering Project Tutor

    rohitg00/ai-engineering-from-scratch

    Tutors a learner through one stage of a hands-on AI engineering project per session: lesson, prediction, code, grader run and reflection, with hints but never full solutions.

    65k GitHub stars~1.6k tokensUpdated yesterday
    EducationAuto-check passed
  • Hung-Yi Lee Teaching Style

    voidful/hung-yi-lee-skill

    Explains machine learning, LLMs, AI agents and speech modeling in a Hung-Yi Lee-inspired teaching style, drawing on a knowledge base built from his lectures and research references.

    1.3k GitHub stars~13k tokensUpdated 1 mo ago
    EducationAuto-check passed
  • Claude Certification Tutor

    rohitg00/ai-engineering-from-scratch

    Guides a learner through one of four independent Claude certification tracks with onboarding, lessons, practice labs, mock exams and remediation.

    65k GitHub stars~3k tokensUpdated yesterday
    EducationAuto-check passed
  • StudyVault Quiz Tutor

    bevibing/tutor-skills

    Quizzes you on the notes in an Obsidian StudyVault, tracks proficiency per concept and drills weak areas in four-question rounds.

    1.3k GitHub stars~1.4k tokensUpdated 7 mo ago
    EducationAuto-check passed
  • Designs a review-and-practice lesson around an independent first attempt, targeted feedback, supported practice, a fresh independent check and a next step.

    40k GitHub stars~1.1k tokensUpdated today
    EducationAuto-check passed

More from oaustegard/claude-skills

All 93 skills in this repo
  • Bluesky Zeitgeist Sampler

    oaustegard/claude-skills

    Deprecated sampler that captures short windows of the Bluesky firehose, clusters trending terms and builds an HTML report; replaced by the browsing-bluesky skill.

    150 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Vega-Lite Interactive Charts

    oaustegard/claude-skills

    Builds interactive Vega-Lite charts from uploaded data: analyzes the fields, picks five to ten fitting chart types, and produces a React artifact with the data embedded inline.

    150 GitHub stars~2.1k tokensUpdated 5 days ago
    Auto-check passed
  • Single-File HTML Composer

    oaustegard/claude-skills

    Builds self-contained single-file HTML pages such as reports, decks, postmortems, flowcharts and prototypes from a small spec using a bundled Python composer and templates.

    150 GitHub stars~3.2k tokensUpdated 5 days ago
    Auto-check passed
  • Declauding

    oaustegard/claude-skills

    Rewrites model-sounding prose into plain technical writing and checks that every claim survives, for PR text, docs, commit messages and similar drafts.

    150 GitHub stars~5.1k tokensUpdated 5 days ago
    Auto-check passed
  • Forecasting Reverso

    oaustegard/claude-skills

    Zero-shot univariate time series forecasting using the Reverso foundation model (NumPy/Numba CPU-only inference).

    150 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Preact Developer

    oaustegard/claude-skills

    Guides building standards-based Preact apps with native-first choices, HTM syntax, import maps and vendored ESM, from single-file demos to larger builds.

    150 GitHub stars~4.6k tokensUpdated 5 days ago
    Auto-check passed

Questions about Orienting Codebases

What does Orienting Codebases do?

Interactive codebase orientation for a HUMAN who wants to learn the code. Orienting Codebases is an agent skill from oaustegard/claude-skills. Interactive codebase orientation for a HUMAN who wants to learn the code.

When should I use Orienting Codebases?

Orienting Codebases fits situations like: orient me to this repo; teach me this codebase; walk me through this code; learning orientation.

How do I install Orienting Codebases in Claude Code?

Run `npx skills add oaustegard/claude-skills --skill orienting-codebases -a claude-code`. Or copy the skill folder (orienting-codebases in oaustegard/claude-skills) into .claude/skills/orienting-codebases in your project. Claude Code loads it when a task matches its description.

How do I install Orienting Codebases in Codex?

Run `npx skills add oaustegard/claude-skills --skill orienting-codebases -a codex`. Or copy the skill folder (orienting-codebases in oaustegard/claude-skills) into .agents/skills/orienting-codebases in your project. Codex loads it when a task matches its description.

Can I use Orienting Codebases in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add oaustegard/claude-skills --skill orienting-codebases -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/orienting-codebases, .gemini/skills/orienting-codebases, .github/skills/orienting-codebases and .opencode/skills/orienting-codebases in your project.

What does Orienting Codebases need to run?

Going by SKILL.md and its folder, Orienting Codebases needs the command-line tools its instructions call (uv, python3 and curl) and credentials named GH_TOKEN. Our summary lists: Python 3.

Does Orienting Codebases access the network?

SKILL.md names 1 domain. In commands or code: api.github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Orienting Codebases safe to install?

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. Review the folder before installing.

What licence does Orienting Codebases use?

Orienting Codebases is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Orienting Codebases use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Orienting Codebases?

Skills that share tags, products or a category with Orienting Codebases: DeepTutor CLI (HKUDS/DeepTutor, 41k stars), AI Engineering Project Tutor (rohitg00/ai-engineering-from-scratch, 65k stars), Hung-Yi Lee Teaching Style (voidful/hung-yi-lee-skill, 1.3k stars) and Claude Certification Tutor (rohitg00/ai-engineering-from-scratch, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Orienting Codebases?

oaustegard (a GitHub user) maintains it in oaustegard/claude-skills, which has 150 GitHub stars. The repository holds 93 skills in this directory. The repository was last updated on October 2, 2026.

Source: oaustegard/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.