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
- Install the CLI and sign in.
- Copy Cram Coach with one command, or build it from code.
- Use it: attach your chapter, download the four files, and import the flashcards into Anki.
- Let your coding agent drive.
- Run it from your own code.
- See what it cost, and clean up.
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:1. Install the CLI and sign in
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.
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:orca/openrouter/<id> runs on your Orca credit. See models and provider keys.
Get Cram Coach into your account whichever way you like:
- Copy it (one command)
- Build it from code
Cram Coach is shared as a kit, a link anyone can copy an agent from.Or open Cram Coach’s kit page and choose Copy.It shows the same definition as the code above.
1
Copy it into your account
2
See your agent
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: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:
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:
- Checks today’s date in the sandbox, and prints a calendar from today to your exam.
- Installs a PDF reader and reads the chapter page by page, noting each page’s printed number.
- Finds the sections and the hardest topics.
- 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.
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:
- Study plan
- Flashcards
- Practice test
The plan starts with its heading and the first days:and ends with the review day and the exam:
cram-plan.md
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: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.
- Claude Code
- Cursor
- Codex
Install the Orca plugin. It registers the MCP server and adds a skill that knows the CLI:Or add only the MCP server:
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?”
chat call staged the PDF, and Orca’s MCP server answered 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 officialopenai 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:
ORCA_API_KEY without printing it. A new terminal won’t have it, so run this again there.
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.
--file in your organization’s files. Find its ID in the list, then delete it:
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.