collect-esphome-impl

Extract implementation details from ESPHome component source code into a normalized summary.

Updated Mar 15, 2026
One-click install
npx skills add https://github.com/mohankumargupta/skills --skill collect-esphome-impl-mohankumargupta
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: collect-esphome-impl
Source: https://github.com/mohankumargupta/skills/tree/main/collect-esphome-impl
Command: npx skills add https://github.com/mohankumargupta/skills --skill collect-esphome-impl-mohankumargupta

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? ESPHome documentation often lags behind or conflicts with the actual source code, making it hard to know which configuration options, defaults, and behaviors a component truly implements. This Skill reads the ESPHome source tree directly and produces an authoritative, normalized implementation summary. ## Core Features & Use Cases - Configuration Schema Extraction: Parses the Python layer (CONFIG_SCHEMA, cv.Optional, cv.Required) to record required keys, optional keys, defaults, and validation rules. - Behavioral Analysis: Summarizes setup(), update(), and dump_config() from C++ sources, covering initialization sequences, measurement flows, conversion formulas, and published observables. - Normalized Summary Output: Produces a structured esphome_impl_summary.md that downstream skills (test generation, YAML generation, diagram generation) can consume without rereading the source tree. - Use Case: When generating tests for the scd4x sensor, run this Skill first to discover the real I2C address default, update interval, and published observables directly from the ESPHome implementation. ## Quick Start Collect the ESPHome implementation details for the bmp280 component and write the normalized summary to my artifacts directory.

Frequently Asked Questions about collect-esphome-impl

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract ESPHome component configuration options from source code?▼

Inspect the component's sensor.py and __init__.py files for CONFIG_SCHEMA, cv.Optional, and cv.Required definitions. This Skill automates that extraction and records required keys, optional keys, defaults, and validation rules into a config_schema.md file.

How to find the real default values an ESPHome sensor uses?▼

Read the ESPHome source code rather than documentation, since implementation is authoritative when they conflict. This Skill records only defaults explicitly present in source, such as I2C address, update interval, and measurement mode, and never infers values.

Does this work for any ESPHome component like scd4x or bmp280?▼

Yes, it works for any component located under esphome/components/<component> in the ESPHome source tree. You provide the component name, and it locates the path, parses the Python and C++ files, and writes the summary artifacts.

What happens when ESPHome behavior cannot be determined from source?▼

The Skill records status: unknown for any behavior that cannot be determined, following strict extraction rules that prohibit guessing or inferring behavior not present in the source code.

What output files does the ESPHome implementation collection produce?▼

It writes component_path.txt, config_schema.md, setup.md, update.md, dump_config.md, and a consolidated esphome_impl_summary.md into the esphome_impl artifacts directory for consumption by downstream generation skills.