Skip to main content
This guide takes you from a textbook chapter to everything you need for the exam. Cram Coach reads one chapter and gives you a day-by-day plan up to your exam date, flashcards for Anki, a practice test, and answers that each point to the page they came from. Orca is where it runs. Your chapter goes into a private sandbox that runs only for this session, Cram Coach works through it there, and you download the four files. Tokens cost OpenRouter’s price plus their fee, with no markup from us, the harness underneath is built to spend fewer of them, a model call that hits a hiccup is retried for you, and every session shows exactly what it cost. An idea becomes an agent like this in minutes, and that agent becomes part of your product in hours. Each step below builds on the one before, and the first few are all you need to get your files.
No account yet? Sign up first. New accounts start with free credit and no card, and every step on this page runs on it.

What it can read

  • Text PDFs only. If you can select and copy text from the PDF in your viewer, Cram Coach can read it. A scanned PDF has no text to read: Cram Coach says so and stops. It does no OCR.
  • One chapter per run. If the PDF holds more than one chapter, Cram Coach asks which one you want and stops. Save just the chapter’s pages as a new PDF first, for example with your viewer’s Print, then Save as PDF.
  • For now, PDFs under 48 KB. A bigger file fails before Cram Coach sees it, with Sandbox file staging failed (environment.files). This is a bug in how Orca copies files into a sandbox, and it is being fixed. When it is, the kit and this page will be updated.
Most real chapters are bigger than 48 KB for now, since a PDF carries its fonts and images. Check yours with wc -c < chapter.pdf: it prints the size in bytes, which must be under 48000.

What you’ll do

  1. Install the CLI and sign in.
  2. Copy Cram Coach with one command, or build it from code.
  3. Use it: attach your chapter, download the four files, and import the flashcards into Anki.
  4. Let your coding agent drive.
  5. Run it from your own code.
  6. See what it cost, and clean up.
You need a terminal on macOS or Linux, and Anki if you want the flashcards. Python or Node is only needed to build Cram Coach from code (step 2) and in step 5. Cram Coach reads your PDF in a sandbox, so every run uses a little machine time as well as model tokens.

Or hand this page to your coding agent

If you work in Claude Code, Codex, or Cursor, it can do the typing while you watch. Paste this prompt:
The commands below work in bash, zsh, and fish, on macOS and Linux. Where the shells differ, a block has a tab for each.

1. Install the CLI and sign in

The script installs a single orca binary to ~/.local/bin. If your shell then says orca: command not found, add that folder to your PATH as the script suggests, and open a new terminal. On Windows, download the binary from the releases page. An older CLI updates itself with orca update.
It prints a one-time code and a link to the Orca dashboard. Open the link, sign in, check that the code matches, and choose Approve. The CLI then prints “Logged in to Orca as” your role and organization. It works the same over SSH and inside a coding agent, which relays the code and the link to you. Check your credit:
balance is your Orca credit. The amount new accounts start with is on the pricing page.

2. Copy Cram Coach

Cram Coach is a model and its instructions. It lists no tools: in a sandbox, an agent can already run commands and read and write files, and that is all Cram Coach needs. This is all of it:
The instructions are the whole program: Orca runs the conversation and the sandbox, and the model follows the steps. The model name also says who pays: orca/openrouter/<id> runs on your Orca credit. See models and provider keys. Get Cram Coach into your account whichever way you like:
Cram Coach is shared as a kit, a link anyone can copy an agent from.
1

Copy it into your account

Or open Cram Coach’s kit page and choose Copy.
2

See your agent

It shows the same definition as the code above.
Either way, Cram Coach is now in your account. Make it yours any time: open it on the Agents page, choose Edit agent, and change its instructions, for example “20 to 40 cards” to “50 to 80 cards”. Its code is in orca-kits on GitHub.

3. Use it

No chapter at hand? Start with the sample: Section 3.1 of the OpenStax textbook Principles of Microeconomics 2e, pages 45 to 51, re-set as a 16 KB text PDF (source and license). Download it into this folder:
To use your own chapter instead, save it in this folder as chapter.pdf, and check it’s under 48 KB. The steps from here are the same. Run Cram Coach on it, with your own exam date in the message:
2026-10-22 is the date of the example below, and it has passed by now: put your exam’s date in its place. Given a date that’s missing or already past, Cram Coach asks for another and stops; answer it in the same session with orca chat cram-coach --session session_.... --file chapter.pdf copies your PDF into the session’s sandbox, a private machine of its own, at /workspace/chapter.pdf. If a file name has spaces, put it in quotes: --file "Chapter 3.pdf". The dashboard can’t attach a PDF to a chat yet, so run Cram Coach from the CLI, your coding agent, or your code. While it works, Cram Coach:
  1. Checks today’s date in the sandbox, and prints a calendar from today to your exam.
  2. Installs a PDF reader and reads the chapter page by page, noting each page’s printed number.
  3. Finds the sections and the hardest topics.
  4. Writes four files to /workspace/outputs, then checks them in code: the flashcards’ format, the questions against the answers, and every date and weekday in the plan.
Then it replies with a short summary. A real run on the sample chapter, on 2026-10-15, replied:

Download the four files

The last line names the session: session session_.... Use that ID in place of session_... to download the files here:
Take the practice test before you read the answers. Here is part of what that run wrote for the sample chapter, with the exam a week away:
The plan starts with its heading and the first days:
cram-plan.md
and ends with the review day and the exam:
cram-plan.md

Import the flashcards into Anki

flashcards.csv starts with three lines that tell Anki how to read it: comma separated, plain text, and a Front and a Back column. So there is nothing to set up. You need Anki 2.1.54 or later. In Anki, File, then Import, then choose flashcards.csv. See Anki’s guide to importing text files for more.

Delete the session

When you have your files, delete the session so the sandbox stops:
To ask for more first, such as more cards on the hardest section, keep going in the same session, where the chapter is still in the sandbox:
Then download again with orca sessions artifacts download session_... --all, which saves the files from the newest turn, and delete the session.

4. Let your coding agent drive

Give your coding agent Orca’s tools, and you can run Cram Coach just by asking. orca mcp serve is an MCP server with one tool per CLI action, so your coding agent can copy kits, chat with agents, download their files, and read your usage and wallet. It uses the login you already have.
Install the Orca plugin. It registers the MCP server and adds a skill that knows the CLI:
Or add only the MCP server:
Start a new session of your coding agent so it loads the server. Its chat tool takes files from your machine, the same as --file, so your coding agent can attach the PDF itself. Then ask it things like:
  • “Run Cram Coach on chapter.pdf in this folder, for my exam a week from today. Download the four files here, then delete the session.”
  • “Show me the first three days of the plan, and the flashcards for the hardest section.”
  • “Quiz me on practice-test.md one question at a time, and check my answers against answers.md.”
  • “How much Orca credit do I have left, and what did Cram Coach cost today?”
A real run of the first ask, on the sample chapter: the coding agent’s chat call staged the PDF, and Orca’s MCP server answered with:
The coding agent then saved the four files with download_artifact and deleted the session with delete_session. The 48 KB limit applies here too, since the PDF is copied into the sandbox the same way. Your coding agent acts as you with these tools: it can create, delete, and spend. See use Orca from coding agents for every tool.

5. Run it from your own code

Everything so far went through the CLI, which calls the same API your application will. Your code uses the official openai package with an Orca API key. If you built Cram Coach from code in step 2, you already have the package: skip to the key. Install the openai package. It needs Python 3.10 or later, or Node 22.18 or later. Check your version first, and update it if it’s older:
Then make a key, in the terminal you’ll run the program from. This keeps it there as ORCA_API_KEY without printing it. A new terminal won’t have it, so run this again there.
This program uploads your PDF, opens a session with it in the sandbox, streams Cram Coach’s reply, saves the four files here, and then deletes the session and the upload:
Run it with your PDF and your own exam date in place of 2026-10-22:
A real run of the Python program on the sample chapter printed:
Each run writes its own plan, cards, and questions, so the counts change from run to run. Cram Coach lives on Orca, so your code only hands it the file and collects the results. Files and artifacts explains uploading, staging, and downloading, and Build with the API explains the rest.

6. See what it cost, and clean up

Every call is recorded with what it cost, down to the session:
orca sessions get session_... shows one session’s cost, tokens, and machine time. Do it before you delete the session.
  • Model tokens are paid from your Orca credit, since Cram Coach’s model starts with orca/. The run in the example above cost $0.01 in tokens. A longer chapter costs more.
  • Machine time comes from your plan, since every run has a sandbox. It counts from the sandbox’s start until it pauses or you delete the session, not only while Cram Coach works. Runs on the sample chapter, with the session deleted as soon as the files were saved, used one minute each. Sandboxes also need a small balance of credit, your plan’s minimum balance. Delete each session when you have your files.
The numbers for each plan are on the pricing page. See usage and wallet for the rest. The CLI also keeps a copy of each PDF you send with --file in your organization’s files. Find its ID in the list, then delete it:
Keep Cram Coach if you like it. To remove everything this page made instead, delete Cram Coach’s sessions, then Cram Coach, then the key. Deleting an agent does not delete its sessions.
Then revoke the key named cram-coach with orca keys revoke <its id> --yes, and close the terminal: its ORCA_API_KEY still holds the revoked key.

Where to go next

Scout

Another kit: a research assistant that searches the web and answers with its sources.

Files and artifacts

Give any agent files to work on, and download the files it makes.

Agent recipes

Complete agents to copy: a support agent, a data analyst, a code reviewer, and more.

Share your own agent

Publish an agent as a kit, the way Cram Coach is shared, and send the link to anyone.