MCPcopy Index your code
hub / github.com/SirhanMacx/Claw-ED

github.com/SirhanMacx/Claw-ED @v6.19.2026.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v6.19.2026.6 ↗ · + Follow
17,158 symbols 66,714 edges 2,330 files 3,798 documented · 22%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Claw-ED

Made by a teacher, for teachers.

An open-source CLI agent that generates complete lesson bundles — plans, handouts, slides, differentiated versions, games, and more — in your teaching voice. Feed it your files. It learns how you teach. Then it does the work for you.

Sibling project: Claw-STU — the student-facing personal learning agent. Ed builds the lessons; Stuart helps students understand them.

Claw-ED is maintained as part of MacxLabs. Teaching AP or Regents? We also build Review Arcade Teacher HQ — ready-to-run review-week sprints, made by a fellow teacher. If Claw-ED saves you prep time, you can also support the project.

Version PyPI Python CI MIT Downloads Stars

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

  • 51 agent tools — lesson gen, assessments, games, simulations, animations, curriculum maps, differentiation, project arcs, and more
  • Quality gate with auto-retry — 12 pedagogical checks (Bloom's progression, stimulus-based assessment, differentiation specificity, diversity audit) validate every lesson before delivery. Failures auto-retry with specific feedback.
  • Uses your own images — extracts maps, cartoons, diagrams from your PPTX files and puts them in generated slides (58K+ images from real curriculum). Vision model filters for quality.
  • Writes like you — AI-ism removal strips "delve", "utilize", "leverage" and 70+ other LLM tells so output reads like a teacher wrote it
  • Structured jigsaws + creative activities — generates timed rotation schedules, graphic organizers, role plays, debates, podcast scripts, gallery walks, mock trials
  • Multi-day project arcs — 5-day projects with choice boards, curated research databases, rubrics, debate prep sheets, and culminating performances (gallery walks, Philosophical Chairs)
  • Export everywhere — Teacher DOCX, Student DOCX, PPTX slides, Anki flashcards, Kahoot quizzes, Common Cartridge (.imscc for Canvas/Moodle), audio narration scripts, study guides
  • Interactive curriculum map — visualize how your topics, standards, and vocabulary connect
  • 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, Google Classroom posting
  • 50-state standards alignment (NY Regents, TX STAAR, CA CAASPP, etc.)
  • Telegram bot with file delivery, interactive /models selector, shared session memory
  • Autonomous scheduling — morning prep auto-generates lessons at 6am, weekly planning drafts next week every Sunday, gap detection scans standards coverage, self-distillation improves output quality
  • Chrome extension — highlight text on any webpage, right-click, generate a lesson using that text as a primary source
  • Real-time classroom mode — WebSocket-based live sessions with slide control, timers, and polls. Students connect via class code.
  • Exit ticket auto-grading — keyword analysis + formative feedback with sentence starter suggestions
  • Classroom memory — persistent profile (student count, ELL/IEP needs, tech available) injected into every generation
  • Adaptive feedback loop — exit ticket results feed into next lesson (reteach/extend recommendations + parent notifications)
  • Works with Ollama, Anthropic, OpenAI, Google, OpenRouter — interactive model switching
  • Central approval policy — every tool classified by risk level (read_only/write_local/network_call/package_install). Sensitive actions require teacher confirmation.
  • DOCX, PPTX, PDF, HTML, MP4, TSV, CSV, IMSCC, TXT export
  • MCP server for Claude Code / VS Code integration
  • MIT licensed, no telemetry, no accounts

What makes this different

Other AI tools generate one thing at a time. Claw-ED generates everything at once — lesson plan, handout, slides, differentiated versions, a review game, a learning journey, flashcards, a Kahoot quiz, and a research report. One request, 9+ files, in your voice.

Other tools don't know how you teach. Claw-ED reads your actual files — your old lessons, your PPTX slides, your assessments — and learns your vocabulary, scaffolding patterns, and teaching style. The output sounds like you wrote it.

Other tools run in the cloud. Claw-ED runs on your machine. Your files, your students, your lessons — none of it leaves your computer.

Other tools give you a first draft you have to edit. Claw-ED has a 12-check quality gate that catches summaries instead of real sources, generic differentiation, missing checks for understanding, and Bloom's Level 1 exit tickets. Bad output gets rejected and regenerated automatically — teachers get print-ready lessons.

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.

Feature Maturity

Tier Features
Stable Lesson / unit / assessment generation, multi-format export (DOCX, PPTX, PDF, Markdown, IMSCC), provider & model setup, voice & style learning, quality gate pipeline
Beta Telegram bot, Chrome extension, classroom mode, community sharing, scheduler automation
Experimental Features that still rely on in-memory state without persistent backing (e.g., live classroom sessions, saved sources, community lesson store). These work within a single process lifetime but do not yet survive restarts.

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

Extension points exported contracts — how you extend this code

IParsedCommand (Interface)
(no doc) [4 implementers]
cli/source/src/utils/bash/ParsedCommand.ts
Particle (Interface)
(no doc)
cli/workspace/src/entrypoints/launchScreen.ts
RateLimit (Interface)
(no doc)
daemon/telegram-bridge.ts
IDEPathConverter (Interface)
(no doc) [2 implementers]
cli/source/src/utils/idePathConversion.ts
ClawedConfig (Interface)
(no doc)
daemon/telegram-bridge.ts
SkillFrontmatter (Interface)
Individual skill detail for context display
cli/source/src/utils/analyzeContext.ts
BridgeResult (Interface)
(no doc)
daemon/telegram-bridge.ts
SkillInfo (Interface)
* Information about skills included in the context window.
cli/source/src/utils/analyzeContext.ts

Core symbols most depended-on inside this repo

logForDebugging
called by 2725
cli/source/src/utils/debug.ts
append
called by 1442
cli/source/src/utils/task/diskOutput.ts
logEvent
called by 1087
cli/source/src/services/analytics/index.ts
get
called by 893
clawed/brain/store.py
describe
called by 814
clawed/models.py
has
called by 720
cli/source/src/utils/fileStateCache.ts
logError
called by 622
cli/source/src/utils/log.ts
str
called by 518
cli/source/src/components/messageActions.tsx

Shape

Function 12,368
Method 3,561
Class 1,034
Route 103
Interface 91
Enum 1

Languages

TypeScript71%
Python29%

Modules by API surface

cli/source/src/bootstrap/state.ts212 symbols
cli/source/src/utils/sessionStorage.ts156 symbols
cli/source/src/native-ts/yoga-layout/index.ts144 symbols
cli/source/src/utils/messages.ts122 symbols
cli/source/src/utils/Cursor.ts105 symbols
tests/test_api.py103 symbols
tests/test_doc_export.py84 symbols
cli/source/src/utils/bash/bashParser.ts84 symbols
clawed/models.py79 symbols
cli/source/src/utils/attachments.ts74 symbols
clawed/database.py73 symbols
cli/source/src/utils/auth.ts71 symbols

For agents

$ claude mcp add Claw-ED \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page