Guide · Agent skill
How to use the Learn Reverse Engineering agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The learn-reverse-engineering skill turns your AI agent into a tutor for a 14-lesson course on reading compiled programs, covering file formats, disassembly, control flow, decompiling to pseudocode and related topics. This guide explains what the skill does, how to install it, how to start a lesson, and what you need before the first lab. It is written for readers who have not used agent skills before.
Quick start
- 1Download and unzip the skill. Download the skill ZIP from this page and unzip it. Keep the folder named learn-reverse-engineering.
- 2Place it in a skills folder. Move the folder into ~/.claude/skills/ for all projects, or into the .claude/skills/ folder of one project. In the Claude apps, upload it under Settings, Capabilities, Skills instead.
- 3Check Python and clang. Confirm python3 reports 3.10 or later for the lab. clang is optional; without it some lab results are reported as unknown.
- 4Confirm the own-binaries-only rule. State that every target you analyze is a program you built or are authorized to analyze. Lesson 32 stays locked until you do.
- 5Start the first lesson. Invoke the skill with your host's form, such as /learn-reverse-engineering in Claude Code, and answer the prediction question before running the lab.
- 6Resume in later sessions. Invoke the skill again from the same working directory. The agent reads REVERSE-ENGINEERING-LEARNING.md and continues from the first row marked Next or In progress.
What the learn-reverse-engineering skill makes the agent do
The skill is a focused interactive tutor for the Reverse Engineering path in the AI Engineering from Scratch course. Each invocation covers one lesson. The agent asks you a prediction question, has you run lab commands, checks the output you observe, and records your progress in a markdown file in your working directory.
The course follows the manifest order: Phase 13 lessons 32 to 45. You cannot skip ahead; the agent resumes at the first lesson that is not finished.
- Asks one prediction question before each lab, such as which section holds the code or where a branch lands.
- Walks through the lesson in small chunks and runs the real lab when Python and the files are available.
- Quizzes you one question at a time and marks a lesson Done only after its checkpoint and quiz are complete.
- Keeps a progress file so a later session picks up where you stopped.
How to install the skill
Download the skill ZIP from this page and unzip it. Then put the folder in one of two places: a personal skills folder for all your projects, or a skills folder inside a single project. The skill name you will use later is learn-reverse-engineering.
If you use the Claude apps instead of a folder, upload the skill under Settings, then Capabilities, then Skills.
- Personal install: unzip into ~/.claude/skills/
- Project install: unzip into the .claude/skills/ folder of your project
- Claude apps: Settings, then Capabilities, then Skills, then upload
How to start or resume a lesson with a natural request
You start the course by invoking the skill with the command your host uses. The skill's own instructions say not to assume one command works everywhere, so use the form that matches your tool. The same form resumes the course later.
You can also describe what you want in plain language when the host supports it. Asking about reading a compiled program, such as wanting to understand the binary a compiler produced, is a good cue for the agent to pick up this route.
- Claude Code: type /learn-reverse-engineering
- Codex: type learn-reverse-engineering, or choose it from /skills
- Other compatible hosts: Use learn-reverse-engineering to start or resume the Reverse Engineering path.
Use learn-reverse-engineering to start or resume the Reverse Engineering path.What you need before the first lab
The lab needs Python 3.10 or later. Conceptual reading does not, so you can start the lessons without Python and mark lab steps as pending. The clang compiler is optional. Without clang on your PATH, one lab step (Lesson 36) reads the committed object files and reports its behaviour claims as unknown.
The skill fetches course files from the rohitg00/ai-engineering-from-scratch repository. Either clone that repository locally, which lets the agent read local files, or let the agent fetch each file from GitHub raw URLs using this pattern.
- Python 3.10 or later for the lab (optional for reading)
- clang on the PATH (optional)
- The repository, cloned locally or reachable through GitHub raw URLs
- Confirmation that every target you analyze is a program you built or are authorized to analyze
https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/<path>How progress is tracked
On first run, the agent creates REVERSE-ENGINEERING-LEARNING.md in your current working directory. It holds the route start date, a prerequisite check, a progress table with one row per lesson, and a notes section. Each row moves through statuses such as Next, In progress, Locked and Done, and the Evidence column records the commands and output that prove a checkpoint.
If the file already exists, the agent keeps your notes and evidence and resumes from the first row marked Next or In progress. It does not restart the route.
- Lesson 32 stays Locked until you confirm the own-binaries-only rule.
- A lesson is marked Done only after its checkpoint evidence and quiz are complete.
- Once every row is Done, the agent offers the companion manual or a recheck using a fixture you compile at another optimization level.
Safety notes: scripts, network and scope
This skill runs scripts and uses the network. The lab runs commands on files in the course, and the skill fetches course files from GitHub when the repository is not cloned locally. The skill does not clone, install, or change files outside your working directory without your confirmation.
The scope is limited on purpose. Targets must be programs you wrote and compiled, or programs you have written authorization to analyze. The skill declines protection bypass, licence checks, DRM, anti-cheat work and analysis of software you do not own, and it returns you to the course when you ask for those.
- Runs scripts from the course lab in your working directory
- Fetches files from raw.githubusercontent.com when no local clone exists
- Will not clone, install or modify files outside your working directory without confirmation
- Declines protection bypass, licence checks, DRM, anti-cheat and unowned software
Tips for getting the most from the course
Run each lab yourself and paste the real output back to the agent. The checkpoints ask for observed output, and a clear explanation alone does not complete a lesson. Keep the working directory the same across sessions so the progress file stays in one place.
Answer the prediction question before you look at the output. The skill is designed for sequential study, so a lesson's checkpoint depends on the ones before it.
- Keep the same working directory so progress persists
- Write your prediction before running the lab
- Save the exact command and the lines that prove the result
- Use the companion manual to compare the same fixture with a real tool when you want more
What people use it for
- Learning how an ELF64 or Mach-O file is laid out by parsing a fixture and matching sections, symbols and relocations against a reference.
- Understanding control flow by decoding functions and building a control-flow graph for a small program you wrote.
- Seeing how a compiler lowers a switch statement or a division by a constant at different optimization levels, using your own compiled code.
- Following a structured course across several sessions instead of looking up one-off disassembly questions.
Frequently asked questions
Is the learn-reverse-engineering skill free to use?
The skill is published under the MIT licence, as listed on this page. Check the licence file in the repository for the full terms before you reuse or redistribute it.
Do I need to clone the repository to use the skill?
No. You can clone the rohitg00/ai-engineering-from-scratch repository locally, or the agent can fetch each needed file from GitHub raw URLs. A local clone is simpler when you want the agent to read files directly.
Do I need clang to run the lessons?
No. clang is optional. Without it on your PATH, Lesson 36 reads the committed object files and reports its behaviour claims as unknown instead of confirmed.
Can the skill help me analyze a commercial app, game or protected program?
No. The skill only covers programs you built or are authorized to analyze. It declines protection bypass, licence checks, DRM and anti-cheat work, and it returns you to the course.
Can I use this skill for quick one-off disassembly help?
It is designed as a full sequential course rather than an ad hoc tool. If you need a quick answer about one binary, a general tool or a standard disassembler is a better fit. Use the course when you want structured practice.
What happens if I stop partway through the course?
Your progress is saved in REVERSE-ENGINEERING-LEARNING.md in your working directory. When you invoke the skill again, it resumes from the first lesson marked Next or In progress and keeps your notes.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you are a student or developer who wants structured, checkpointed practice reading compiled programs and you can run a short Python lab. Pick a different tool if you need quick one-off disassembly help or want to analyze software you do not own, which the skill will not support.
Download the skill