An agent skill for any coding agent

Understand any codebase.

Onramp reads a project and builds you a route through it, sized to the time you have. Every claim links to the lines it comes from, and a script checks it against the code before you see it.

$ npx skills add SanyamWadhwa07/onramp
Then run /onramp in Claude Code, or ask any other agent to “use onramp on this repo”. Python 3.8+, nothing else to install.
Example route · a real codebase

How much time do you have?

    The real planner also asks your goal and background.Try it →
    Every claim cited and checkedOne HTML file, opens from diskPython standard library onlyRuns inside your own agent sessionMIT licensed
    Works with

    Claude Code · Codex · GitHub Copilot · Cursor · Gemini CLI · Antigravity · Windsurf · OpenCode · Cline · Goose · Roo Code · and 60+ more agents that read SKILL.md

    The problem

    Code gets written faster than anyone can read it.

    Coding agents ship whole features in an afternoon. The gap between the code you run and the code you understand has a name: comprehension debt. A README doesn't close it, and neither does a graph of every import.

    What you need

    A path, not a pile. Where to start, what to read next, and when you know enough for what you came to do.

    Explanations you can trust. AI-written docs are confidently wrong often enough that you end up re-reading the code anyway. Onramp treats every sentence about the code as a claim that has to point at the code and pass a check.

    The why, not only the what. Why the project is shaped this way, in the order it was built, from the history that is already on your machine.

    What you get

    A guide that plans your route and shows its sources.

    01Plan your route

    An hour, a day, three days or a week.

    Pick your time, your goal (get the gist, ship a change, own it or rebuild it) and your background. Onramp plans a day-by-day route and draws it as a road, with exits, rest stops, checkpoints and a you are here marker. Your progress is saved.

    One guide serves every route. The planning happens in the page, so changing your mind costs nothing.

    Example · 3-day route · own it
    02Every claim checked

    Citations a script can fail.

    Each claim carries a citation: a file, a line range and a piece of text from those lines, like store.py:29–38. verify.py opens every file and checks that the text is really there.

    Drifted line numbers are re-anchored automatically. A claim whose text isn't in the file fails, and gets rewritten from the actual code. When you click a citation, the code you see is copied from your file, never written by the model.

    03The why

    Why it's built this way, from your own history.

    Onramp reads the git history. If you use Claude Code and say yes, it also reads your local session transcripts for the project. For a project an agent built with you, a file card can show the prompt that led to the file and what the agent said when it made the change.

    Every decision in the guide is labelled documented (there is a commit, doc or quote) or inferred (reasoned from the code).

    From the demo guide · decision · documented
    Process papers as background jobs in a Postgres tableProcessing used to run inside the HTTP request for minutes, behind a fake progress panel.
    Trade-offNo extra service to run, but extraction shares the process with the API, so concurrency stays at 1 job per process.
    EvidenceCommit d58caf1; an earlier Celery + Redis queue (3165199) was dropped.
    04Build order

    Learn it in the order it was built.

    The import graph gives a build order: the files nothing depends on come last. Pick Rebuild it and the route walks you through the milestones, foundations first, with a hands-on task at each one.

    M1A FastAPI app that validates its configTry it: set APP_ENV=production with the placeholder secret and watch it refuse to boot.
    M2Database access through repositoriesTry it: add a count route and read the error envelope for an unknown user.
    M3Accounts: signup, login, JWTTry it: sign up with curl, call /api/auth/me, find the exp field in the token.
    M4PDF in, sections outTry it: run the extractor on one PDF from the command line.
    05A tutor in the terminal

    Or let your agent teach it to you.

    /onramp tutor (or “use onramp as a tutor” in any agent) walks the same route in chat. One stop at a time, it explains with real excerpts and asks a checkpoint question. It waits for your answer, gives feedback, and picks up where you left off next session.

    Twelve exits

    From the gist to the internals.

    Every guide has the same twelve chapters. Your route picks the stops that fit your time and goal.

    What it actually does

    Eight steps from /onramp to understanding.

    Scripts do every step that can be done without a model. Your agent reads and writes. A script checks the agent's work before you ever see it. The output below is real, from a run on a 31,000-line full-stack app (the first demo further down).

    01

    You run it

    you

    Open your agent in any repository. In Claude Code, type the command. In Codex, Copilot, Cursor and the rest, ask for it in plain words. Point it at a subfolder to cover one package of a monorepo. The agent says what it is doing at each step, and everything it produces goes into .onramp/. Your code is never modified.

    Claude Code > /onramp
    Any agent > use onramp to explain this repo
    Writes
    .onramp/index.html, GUIDE.md, guide.json, scan.json
    Needs
    Python 3.8+ and nothing else
    02

    Scan the repository

    script · no model

    scan.py takes inventory in seconds, without a model. It reads .gitignore, counts files and lines per language, parses manifests, finds entry points and env vars, and builds an import graph for JS/TS, Python, Go, Rust, Java/Kotlin, C/C++, Ruby and PHP. It also reads git history for churn and a timeline.

    Every file then gets an importance score. The score goes up with how many files import it, how often it changed, how big it is and whether execution starts there. Claude reads in that order, so the first hour goes to the files that matter. The maps in the guide are drawn from this graph rather than imagined.

    $ python scan.py .
    ONRAMP SCAN PaperMind
    files 186 (source 153, tests 0), 31575 lines of code
    languages: Python 69%, JavaScript 30%, CSS 1%
    git: 20 commits by 2 author(s), 2025-11-20 -> 2026-10-29
    claude sessions: 1 transcript(s)
     
    read first (importance):
    100.0 frontend/src/components/ui/primitives.jsx used by 30
    89.5 backend/main.py used by 5
    80.9 core/agents/base_agent.py used by 11
    79.1 core/agents/orchestrator.py used by 2
    03

    Ask about history

    you decide

    If you use Claude Code and the scan finds its transcripts for the project, the agent asks once whether to use them. If you say yes, sessions.py pairs every file Claude wrote or edited with the prompt that led to it and the explanation Claude gave just before the edit. That becomes evidence for the "how it was built" and "why" chapters. Other agents' histories are not read yet, so git history carries those chapters.

    Transcripts are read from your disk and never leave it. Anything that looks like an API key or token is redacted. Claude Code deletes transcripts after about 30 days by default, so older projects lean on git history instead.

    Agent
    I found 1 Claude Code session for this project. Should I use it
    to explain why things were built? It stays on your machine.
    04

    Read the code

    your agent

    The agent reads in a fixed order:

    1. the README, CLAUDE.md and docs
    2. manifests and config, which say how it installs and runs
    3. entry points, then the top of the importance ranking
    4. for each important user action, every call from the entry point to storage and back

    One rule overrides speed: it never describes a file it has not opened. On large repositories, agents that can start subagents fan out, one per module, writing file cards in parallel, while the main agent traces the flows itself.

    05

    Write the guide

    your agent

    The guide is a JSON file of lessons, the stops on your route. Each lesson teaches one idea and records which chapter it belongs to, how essential it is (core, standard or deep), how many minutes it takes and which goals it serves. That metadata is what lets one guide become a 1-hour route or a 1-week route.

    Around the lessons sit the structured parts: traced flows, file cards, the stack with primers for newcomers, the data model, build-order milestones, decisions marked documented or inferred, risks and exercises. Every technical sentence carries a citation.

    {
    "id": "flow-order", "chapter": "flows", "tier": "core", "minutes": 7,
    "summary": "The page posts the checked SKUs, the server prices them,
    the store saves the order and the page shows the total.",
    "body": "... unknown SKUs raise [[app/store.py:29-38|def place_order(]] ..."
    }
    06

    Verify every claim

    script · no model

    verify.py opens every cited file and checks three things: the file exists, the lines exist, and the quoted text is inside those lines. Each citation ends one of three ways:

    • Verified. The text is where the guide says it is.
    • Re-anchored. The text is in the file but the line numbers drifted, so the citation moves to where it really is.
    • Rejected. The text is nowhere in the file. The agent re-reads the code and rewrites the claim, then runs the check again.

    The guide is only built when the check passes. Its badge states how many claims were checked and at which commit.

    $ python verify.py . --fix
    OK 35/35 citations verified across 4 files, 0 auto-fixed
    07

    Render one file

    script · no model

    render.py builds a single HTML page with the guide, the computed maps and the real code behind every citation embedded in it. It opens straight from disk with no server, and works offline apart from fonts, diagrams and syntax colours. It also writes GUIDE.md, the same guide as markdown, for GitHub and for other agents. Render with --public to share it without your local paths.

    $ python render.py . --open
    ONRAMP RENDER .onramp/index.html (134 KB, 12 lessons, 28 code excerpts)
    markdown .onramp/GUIDE.md
    08

    Learn it your way

    you

    The guide opens on three questions: how much time you have, what you want to do, and your background. Then it plans your route and draws it as a road.

    • Stops start with a one-line summary, then the explanation, a "go deeper" section and a checkpoint question.
    • Citations open the real code beside the text, with the cited lines highlighted and links to your editor or GitHub.
    • Files shows every file the guide explains, what it depends on and what uses it.
    • Map shows the architecture, the computed dependency graph, languages and history.
    • Search covers stops, files, ideas and flows. Press Ctrl K.

    Prefer a conversation? Ask for the tutor (/onramp tutor in Claude Code). It walks the same route in chat, one stop at a time, and remembers where you stopped.

    Live demos

    Open a real guide.

    All three were generated with /onramp and published as they came out.

    Evaluation

    Measured in the open.

    Three established methods, graded blind. Every prompt, answer and grade is in the repository, including the results that are not a win.

    The checker
    525 / 525planted faults caught, 0 false alarms

    Fault injection on two real guides: 400 fake citations rejected, 125 drifted ones moved back to the right lines, and all 200 untouched real citations accepted.

    Accuracy
    96.7%of sampled claims supported by the code

    FActScore (EMNLP 2023) on Flask, judged blind with every verdict quoting the code it relied on. A plain explainer written by the same model scored 100%; the difference is two claims out of 60, and both are now covered in the writing rules.

    Comprehension
    67.1 / 100on SWE-QA's 48 Flask questions

    SWE-QA (ACL Findings 2026), graded with its official rubric. Level with the model's own memory of Flask (67.2) and ahead of the README (63.6). Flask is in every model's training data, so this is a conservative test.

    Install

    Install it in under a minute.

    Pick one way. All of them install the same skill. You need Python 3.8 or newer, and nothing else.

    Recommended. The skills CLI finds the agents on your machine and installs Onramp into the ones you pick: Claude Code, Codex, GitHub Copilot, Cursor, Gemini CLI, Antigravity, Windsurf and 60+ more.

    $ npx skills add SanyamWadhwa07/onramp

    Or name the agent

    $ npx skills add SanyamWadhwa07/onramp -a codex -a github-copilot -a cursor

    Then run /onramp in Claude Code, or ask any other agent to “use onramp on this repo”.

    Commands

    One skill, six ways in.

    Slash commands are for Claude Code. In other agents, say the same thing in words, such as “use onramp to trace the checkout flow”.

    /onrampThe full guide for this repository, opened in your browser.
    /onramp quickThe 1-hour route only. Faster and cheaper.
    /onramp explain <file>A deep lesson on one file, folder or function, added to the guide.
    /onramp trace "<action>"One user action followed through the code, step by step.
    /onramp updateRefresh the guide after the code changed, re-reading only what moved.
    /onramp tutorClaude teaches you the route in chat, with checkpoint questions.
    Questions

    Before you install.

    Does my code leave my machine?

    Onramp runs inside your own agent session, so your agent reads your code the way it does for any task. The scripts make no network calls and the guide is a local file. Claude Code transcripts are only read if you agree. Text that looks like a key or token is redacted.

    Will it change my code?

    No. It only writes inside .onramp/ in your repository: the guide page, a markdown copy and the source JSON.

    What does "checked" actually mean?

    Every citation names a file, a line range and a short piece of text from those lines. verify.py confirms the file exists, the lines exist and the text is in them. That catches invented functions, wrong files and stale line numbers. It cannot judge whether an explanation is wise, so judgements are written as judgements, and decisions say whether they are documented or inferred.

    How big a repository can it handle?

    The scanner takes seconds even on large repositories. Claude reads the most important files first and splits big codebases across subagents, one per module. On a very large monorepo, point it at the package you care about, for example /onramp packages/api.

    Which agents does it work with?

    Any agent that supports the open Agent Skills format (SKILL.md) and can run Python: Claude Code, Codex, GitHub Copilot, Cursor, Gemini CLI, Antigravity, Windsurf, OpenCode, Cline and 60+ more through the skills CLI. It has been tested most in Claude Code. Reading session history works with Claude Code transcripts today; everything else works everywhere.

    Can I share a guide?

    Yes. Render it with --public to drop your local paths and link code to GitHub, then host the single HTML file anywhere. The demos on this page were published that way.

    Get on the road

    Run /onramp on the repo you're avoiding.

    $ npx skills add SanyamWadhwa07/onramp
    Star it on GitHub