AI-powered study material and slide deck generator for the Autonomous Drones with AI & Machine Learning course.
Claude Code is the agent. It reads CLAUDE.md for the full curriculum, generates study material and Marp slide decks, then calls MCP tools to save and render them. No separate LLM or API key required.
CLAUDE.md ← curriculum + instructions (single source of truth)
index.js ← MCP server (save / render / edit tools)
scripts/
marp_tool.py ← Mermaid pre-render + Marp HTML/PDF export
drone_theme.css ← custom Marp theme (drone-ai)
Output goes to per-module directories:
/home/swashbuckler/Drone_Study_Material/
Module2/
study_material.md ← long-form notes
lecture_plan.md ← condensed lecture plan
slides.md ← Marp Markdown source
presentation.html ← self-contained rendered HTML
assets/ ← pre-rendered Mermaid PNGs
presentation.pdf ← after export
npm installAdd to ~/.claude/settings.json:
{
"mcpServers": {
"drone-study-agent": {
"command": "node",
"args": ["/home/swashbuckler/Drone_Study_Material/Agentic-SM/index.js"]
}
}
}Then reload Claude Code (Ctrl+Shift+P → Reload Window in VS Code).
@marp-team/marp-cli— Marp renderer@mermaid-js/mermaid-cli— Mermaid → PNG (requires Chrome/Chromium)
Open Claude Code in this directory and type natural-language commands. All generation instructions and the full curriculum live in CLAUDE.md.
Generate a module (study material + slides + rendered HTML):
generate module2
Study material only (no slides):
lecture plan module2
Generate every module in order:
generate all
Export to PDF:
export module2
Inspect or edit a presentation after generation:
| What you want | Command to type |
|---|---|
| List all slides with index + title | what slides are in module2? |
| Read a single slide | show me slide 4 |
| Edit a slide | change slide 2 to ... |
| Add a slide | add a slide about X after slide 4 |
| Duplicate a slide as a starting point | copy slide 3 as a starting point |
| Remove a slide | remove the capstone slide |
| Move slides | move the code slide |
| Bulk-edit multiple slides | get the full markdown for module2, then ... |
| Export to PDF | export module2 |
Create Curriculum/moduleX.md using the same schema as an existing module file (see Curriculum/README.md), then type generate moduleX. The agent reads only Curriculum/moduleX.md, fresh on every generation run — nothing else needs changing.
| Tool | Description |
|---|---|
save_study_material |
Save study_material.md or lecture_plan.md |
create_presentation |
Write slides.md + render presentation.html |
update_presentation |
Replace full Marp source and re-render |
get_presentation_markdown |
Return raw Marp source for bulk editing |
get_presentation_info |
List all slides with index and title |
get_slide |
Return Markdown for one slide by index |
edit_slide |
Replace one slide and re-render |
add_slide |
Insert a new slide at a position |
delete_slide |
Remove a slide by index |
duplicate_slide |
Copy a slide and insert it after the original |
reorder_slides |
Reorder slides by index permutation |
export_presentation |
Export presentation.pdf via Marp |