Skip to main content

Your AI co-teacher. Generate lessons, games, slides, and assessments from your terminal. Learns your teaching voice, aligns to your state standards, and works with any LLM provider.

Project description

Claw-ED

An open-source CLI agent that generates lesson plans, assessments, slideshows, and games in a teacher's own voice. Feed it your files, talk to it in the terminal or on Telegram.

PyPI Python MIT Downloads

pip install clawed
clawed

What it does

You point it at a folder of your old lessons. It reads them, figures out how you teach, and generates new ones that match your style. Teacher DOCX, student DOCX, slides PPTX — all at once.

$ clawed

  🍎 Hey Mr. Maccarello! What are we working on today?

❯ Make me a lesson on the causes of the French Revolution for 10th grade

  Searching your materials...
  Found 3 docs on this topic.
  Generating lesson package...

  ✓ French_Revolution_teacher.docx
  ✓ French_Revolution_student.docx
  ✓ French_Revolution_slides.pptx

It also runs as a Telegram bot. Same brain, same files, same memory. Ask it to make something from your phone and the files show up in chat.


Features

  • CLI agent with 47+ tools (lesson gen, assessments, games, simulations, animations, differentiation)
  • Uses your own images — extracts maps, cartoons, diagrams from your PPTX files and puts them in generated slides
  • Animated educational videos (timelines, concept maps, cause-effect diagrams) via Manim
  • Ingests PDF, DOCX, PPTX, TXT, MD — extracts teaching style, images, and curriculum structure
  • Semantic search over your curriculum (ONNX MiniLM embeddings, FTS5, embedding-based image matching)
  • Karpathy-style wiki — compiles your files into organized markdown articles
  • Self-distillation — learns from your ratings and edits, updates its own soul.md
  • Web search (DuckDuckGo + Playwright), Google Drive integration
  • 50-state standards alignment (NY Regents, TX STAAR, CA CAASPP, etc.)
  • Telegram bot with file delivery, interactive /models selector, shared session memory
  • Works with Ollama, Anthropic, OpenAI, Google, OpenRouter — interactive model switching
  • Scheduled tasks (morning prep, gap detection, wiki maintenance)
  • Self-equipping — can install Python packages (--user scope) and create YAML tool templates when it needs a capability it doesn't have
  • DOCX, PPTX, PDF, HTML, MP4 export
  • MCP server for Claude Code / VS Code integration
  • MIT licensed, no telemetry, no accounts

Trust model

Claw-ED is a local-first tool designed for a teacher's own machine. It reads your files, calls LLM APIs you configure, and writes to ~/.eduagent/. The web API (if you run clawed serve) requires a bearer token and binds to localhost by default. Self-equipping installs packages in --user scope only. The Telegram bot runs as a background process on your machine. Nothing is sent anywhere except the LLM provider you choose.


Commands

clawed                                    # chat with Ed
clawed ingest ~/Documents/Lessons/        # teach it your style
clawed lesson "Topic" -g 8 -s "US History"  # daily lesson
clawed unit "Topic" -g 9 -w 3            # 3-week unit
clawed assess "Topic" --type crq          # CRQ, DBQ, quiz, rubric
clawed game create "Topic" -g 8           # HTML learning game
clawed simulate create "Topic"            # interactive simulation
clawed differentiate -l lesson.json       # IEP/504/ELL mods
clawed kb compile                         # compile curriculum wiki
clawed kb query "question"                # search your wiki
clawed kb lint                            # wiki health check
clawed bot                                # start Telegram bot
clawed drive auth                         # connect Google Drive
clawed schedule list                      # scheduled tasks
clawed setup                              # re-run setup
clawed mcp-server                         # MCP for Claude Code

How the voice learning works

It reads your files and extracts patterns:

  • Lesson structure (I Do / We Do / You Do, stations, seminars)
  • Assessment format (CRQ, DBQ, exit ticket style, Do Now format)
  • Writing frameworks (TEA, RACE, CER)
  • Scaffolding (sentence starters, graphic organizers, word banks)
  • Source preferences, grouping strategies, classroom personality

Stored in ~/.eduagent/workspace/soul.md. You can read it, edit it, or let it evolve.


Setup

pip install clawed
clawed

It walks you through picking a provider and an API key.

Recommended: Ollama Pro ($20/mo) — unlimited access to good models, easiest setup. For best output quality, use an Anthropic or OpenAI API key (pay per use). OpenRouter lets you pick from any model. Google Gemini has a free tier. Local Ollama runs fully offline for free.


Dev setup

git clone https://github.com/SirhanMacx/Claw-ED.git
cd Claw-ED
pip install -e ".[dev]"
pytest tests/

PRs welcome. Built by a teacher in New York. If you're a teacher, a developer, or just curious — jump in.


MIT License

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clawed-4.7.2026.tar.gz (598.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clawed-4.7.2026-py3-none-any.whl (17.8 MB view details)

Uploaded Python 3

File details

Details for the file clawed-4.7.2026.tar.gz.

File metadata

  • Download URL: clawed-4.7.2026.tar.gz
  • Upload date:
  • Size: 598.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for clawed-4.7.2026.tar.gz
Algorithm Hash digest
SHA256 59bbc9a5497790994f50f4c24d574318eca4af5f2059f5fb51c3245578bcacba
MD5 a4801c3adef5fe4ca0df726401c8c510
BLAKE2b-256 bdf66e40911f3cc26e83c5b65f7f7b0d4d829af850841d61c800f76d3769a62e

See more details on using hashes here.

File details

Details for the file clawed-4.7.2026-py3-none-any.whl.

File metadata

  • Download URL: clawed-4.7.2026-py3-none-any.whl
  • Upload date:
  • Size: 17.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for clawed-4.7.2026-py3-none-any.whl
Algorithm Hash digest
SHA256 49e5d742859babcc58db729be6be83823bcd7207dec5e5c1c100ba630abb8f91
MD5 01b0978293acaadcb42a64878b684588
BLAKE2b-256 b7f25e9c203cdf55a97cebc8330108ba78bca72dcaa2669b462a34c590dfa05c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page