Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/mathisk2095/jko-claude-plugins/esp-teachgit clone --depth 1 https://github.com/mathisk2095/jko-claude-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/mathisk2095/jko-claude-plugins/esp-teach)<a href="https://agentmods.dev/commands/mathisk2095/jko-claude-plugins/esp-teach"><img src="https://agentmods.dev/badge/commands/mathisk2095/jko-claude-plugins/esp-teach.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00019 | $0.01524 |
| Opus 5 | $0.00010 | $0.00762 |
| Sonnet 5 | $0.00004 | $0.00305 |
| Haiku 4.5 | $0.00002 | $0.00152 |
Grade A, and why
esp-teach scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ESP32 Project Teach
One-time project onboarding that establishes persistent hardware context for all future sessions.
First: Use the esp32-expert skill for domain knowledge. → Consult peripherals reference for datasheet lookup protocol and libraries reference for component identification.
Explore the codebase, discover hardware, search online for datasheets, ask only what you couldn't infer, and persist everything to CLAUDE.md. Future sessions start with full hardware knowledge -- no re-discovery needed.
Step 1: Explore the Project
Before asking any questions, scan the project thoroughly to discover what you can:
Build System & Target
- Check for
platformio.inivsCMakeLists.txtwith IDF includes - Read
sdkconfig.defaultsorsdkconfigfor target chip, flash size, PSRAM, CPU freq - Read
platformio.inifor board, framework, build flags - Check
idf_component.yml/managed_components/for dependencies - Identify: ESP-IDF version, C++ standard, LVGL version (if present)
Hardware Discovery
- Read
CLAUDE.md,README.md, anydocs/files for hardware description - Search for pin definitions:
GPIO_NUM_,#define.*PIN, board config files - Search for I2C addresses:
0xpatterns in driver init code - Search for SPI device configs:
spi_device_interface_config_t - Search for display driver:
esp_lcd,TFT_eSPI,LovyanGFX, LVGL display init - Search for touch driver:
esp_lcd_touch, touch I2C addresses - Search for audio:
i2s_,es8311,es7210, codec references - Search for sensors: BME280, BMP280, DHT, IMU, ADC usage patterns
- Identify BSP component (if any) and what hardware it abstracts
Software Patterns
- How is LVGL integrated (if present)? Task core, mutex pattern, flush callback
- FreeRTOS task structure: what tasks exist, priorities, core pinning
- Communication: WiFi, BLE, MQTT, HTTP, WebSocket, ESP-NOW
- Storage: NVS, SPIFFS, LittleFS, SD card
- Error handling pattern: ESP_ERROR_CHECK vs manual checks
- Logging: tag conventions, log levels
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 148 lines · 19 tokens per session scan A a26381301c3f
esp-teach is a command published in the GitHub repository mathisk2095/jko-claude-plugins (3 stars, last pushed 6d ago), licensed MIT. It adds 19 tokens to every session and 1,524 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
embeddable
Generate a custom Embeddable panel that can be placed on Kibana Dashboards, with factory registration, input/output types, and React rendering.
route
Generate a Kibana server route with proper validation, error handling, and TypeScript types. Supports all HTTP methods and common patterns like CRUD operations and Elasticsearch queries.
expression
Generate custom Expression Functions and Renderers for use in Kibana Canvas, Lens, and Dashboard visualizations.
mcp-config
Generate a .mcp.json configuration file that connects Claude Code to Elasticsearch and Kibana MCP servers alongside this plugin, enabling live cluster access during plugin development.
saved-object
Generate a custom Saved Object type with registration, mappings, migrations, CRUD service, and management integration for a Kibana plugin.
ui-action
Generate custom UI Actions and Triggers for inter-plugin communication in Kibana — register actions, attach to triggers, execute across plugins.