A collection of agent skills for LLM coding assistants. Each skill is a focused reference that teaches an agent domain knowledge it wouldn't otherwise have — ESPHome firmware, specific frameworks, hardware protocols, etc.
Skills follow the Anthropic Skills convention: a SKILL.md with YAML frontmatter (name + description) and a references/ subdirectory of detailed topic files that load on demand. This format is supported natively by Claude Code, OpenCode, Gemini CLI, and Codex.
| Skill | Description |
|---|---|
esphome-components |
ESPHome YAML configs, C++ external components, Home Assistant integration, debugging |
Pick the section for your runtime. All installs are a copy or a config line — no scripting required.
Claude Code auto-discovers skills from ~/.claude/skills/ (user-level) or .claude/skills/ inside a project directory.
git clone https://github.com/poolski/agent-skills.git
# User-level — available in every project
cp -r agent-skills/skills/esphome-components ~/.claude/skills/
# OR project-scoped — only available in the current project
cp -r agent-skills/skills/esphome-components .claude/skills/That's it. Restart Claude Code and the skill loads automatically. No configuration needed.
If you clone this repo itself: .claude/skills/ is already wired up via a project-level symlink, so skills load immediately without any extra steps.
OpenCode discovers skills from ~/.config/opencode/skills/ (user-level) or .opencode/skills/ inside a project.
git clone https://github.com/poolski/agent-skills.git
# User-level
cp -r agent-skills/skills/esphome-components ~/.config/opencode/skills/
# OR project-scoped
cp -r agent-skills/skills/esphome-components .opencode/skills/Install as a plugin so OpenCode manages it and you can update with a restart:
Add to your ~/.config/opencode/opencode.json (or project-level opencode.json):
{
"plugin": ["agent-skills@git+https://github.com/poolski/agent-skills.git"]
}Restart OpenCode. All skills in the skills/ directory are registered automatically.
If you clone this repo itself: .opencode/skills/ is already symlinked, so skills are available straight away.
Gemini CLI injects files into context via @-references in GEMINI.md. Add a line to your project's GEMINI.md (create it if it doesn't exist):
@/path/to/agent-skills/skills/esphome-components/SKILL.md
References are relative to the GEMINI.md file, so you can also clone this repo next to your project and use a relative path:
@../agent-skills/skills/esphome-components/SKILL.md
If you clone this repo itself: GEMINI.md is already configured.
Codex reads AGENTS.md for context. Add a line to your project's AGENTS.md:
@/path/to/agent-skills/skills/esphome-components/SKILL.md
If you clone this repo itself: AGENTS.md is already configured.
Upload the skill as a .skill bundle (zip archive):
cd agent-skills/skills
zip -r esphome-components.skill esphome-components/Then in claude.ai: Settings → Capabilities → Skills → Upload.
Pre-built .skill files are attached to each release.
cd agent-skills
git pull
# Re-run whichever copy step you used, or restart OpenCode if using the pluginPRs welcome. Each skill lives under skills/<name>/ alongside its own README, CHANGELOG, and validator script. Run the validator before opening a PR:
python skills/esphome-components/scripts/validate_skill.py skills/esphome-componentsCI runs validation and builds .skill bundles automatically on push.
MIT — see individual skill directories for their LICENSE files.