plugins/home-assistant-dev/skills/ha-hacs-publishing/SKILL.md
Publish a Home Assistant integration to HACS — GitHub Actions validation, release workflow, brand submission, and adding to the HACS default repository.
npx skillsauth add l3digitalnet/claude-code-plugins ha-hacs-publishingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create .github/workflows/validate.yml to run HACS and Hassfest checks on every push:
name: Validate
on:
push:
pull_request:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
validate-hacs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: HACS Validation
uses: hacs/action@main
with:
category: integration
validate-hassfest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Hassfest Validation
uses: home-assistant/actions/hassfest@master
# My Integration
[](https://github.com/hacs/integration)
[](https://github.com/user/repo/releases)
Home Assistant integration for My Device.
## Features
- Feature 1
- Feature 2
## Installation
### HACS (Recommended)
1. Open HACS in Home Assistant
2. Click "Integrations"
3. Click the three dots menu → "Custom repositories"
4. Add `https://github.com/user/repo` as category "Integration"
5. Click "My Integration" → "Download"
6. Restart Home Assistant
### Manual
1. Copy `custom_components/my_integration` to your `custom_components` folder
2. Restart Home Assistant
## Configuration
1. Go to Settings → Devices & Services
2. Click "Add Integration"
3. Search for "My Integration"
4. Follow the setup wizard
## Support
- [Documentation](https://github.com/user/repo/wiki)
- [Issues](https://github.com/user/repo/issues)
Required for HACS default repository submission.
Add your brand to home-assistant/brands:
custom_integrations/{domain}/ foldericon.png — 256x256 square iconlogo.png — Horizontal logo (optional)[email protected] — 512x512 retina icon (optional)HACS uses GitHub Releases (not just tags):
git tag -a v1.0.0 -m "Release 1.0.0"
git push origin v1.0.0
# Then create Release on GitHub with changelog
Version must match manifest.json version.
To add your repository to the HACS default list:
integration file (alphabetically)Custom repositories can still be added manually by users without being in the default list.
ha-hacsha-documentationdevelopment
Use when you're stuck or missing current information mid-task - the same command/API/approach failed twice, an error looks like a changed or deprecated API, or you need the current version of something, a fact from after your training cutoff, or to verify something you cannot confirm from the code in context. Starts with a cheap inline lookup and only escalates to a full research sweep if that fails. Do not use for routine pre-emptive checks before ordinary library work - for deliberate research, use /qdev:research.
documentation
Update Outline wiki documentation with implementation-level details from the current session by dispatching the up-docs-propagate-wiki sub-agent. This skill should be used when the user runs /up-docs:wiki.
documentation
Update repository documentation (README.md, docs/, CLAUDE.md) based on session changes by dispatching the up-docs-propagate-repo sub-agent. This skill should be used when the user runs /up-docs:repo.
documentation
Update Notion pages with strategic and organizational context from the current session by dispatching the up-docs-propagate-notion sub-agent. This skill should be used when the user runs /up-docs:notion.