Supabase Development and Debugging
supabase/agent-skills
General Supabase skill for database, auth, Edge Functions, Realtime and storage work, plus client libraries, migrations, security audits, debugging and reading logs.
Stand up the Home Assistant "Maintenance Supporter" integration from a conversation.
$ npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install iluebbe/maintenance_supporter maintenance-setup-assistant --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/iluebbe/maintenance_supporter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/maintenance-setup-assistant .claude/skills/maintenance-setup-assistant && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "maintenance-setup-assistant" agent skill from https://github.com/iluebbe/maintenance_supporter/tree/master/skills/maintenance-setup-assistant into .claude/skills/maintenance-setup-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maintenance-setup-assistant", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/iluebbe/maintenance_supporter/tree/master/skills/maintenance-setup-assistantType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install iluebbe/maintenance_supporter maintenance-setup-assistant --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iluebbe/maintenance_supporter.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/maintenance-setup-assistant .agents/skills/maintenance-setup-assistant && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "maintenance-setup-assistant" agent skill from https://github.com/iluebbe/maintenance_supporter/tree/master/skills/maintenance-setup-assistant into .agents/skills/maintenance-setup-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maintenance-setup-assistant", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install iluebbe/maintenance_supporter maintenance-setup-assistant --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iluebbe/maintenance_supporter.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/maintenance-setup-assistant .cursor/skills/maintenance-setup-assistant && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "maintenance-setup-assistant" agent skill from https://github.com/iluebbe/maintenance_supporter/tree/master/skills/maintenance-setup-assistant into .cursor/skills/maintenance-setup-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maintenance-setup-assistant", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/iluebbe/maintenance_supporter.git --path skills/maintenance-setup-assistant--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install iluebbe/maintenance_supporter maintenance-setup-assistant --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iluebbe/maintenance_supporter.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/maintenance-setup-assistant .gemini/skills/maintenance-setup-assistant && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "maintenance-setup-assistant" agent skill from https://github.com/iluebbe/maintenance_supporter/tree/master/skills/maintenance-setup-assistant into .gemini/skills/maintenance-setup-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maintenance-setup-assistant", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install iluebbe/maintenance_supporter maintenance-setup-assistantInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/iluebbe/maintenance_supporter.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/maintenance-setup-assistant .github/skills/maintenance-setup-assistant && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "maintenance-setup-assistant" agent skill from https://github.com/iluebbe/maintenance_supporter/tree/master/skills/maintenance-setup-assistant into .github/skills/maintenance-setup-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maintenance-setup-assistant", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install iluebbe/maintenance_supporter maintenance-setup-assistant --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iluebbe/maintenance_supporter.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/maintenance-setup-assistant .opencode/skills/maintenance-setup-assistant && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "maintenance-setup-assistant" agent skill from https://github.com/iluebbe/maintenance_supporter/tree/master/skills/maintenance-setup-assistant into .opencode/skills/maintenance-setup-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maintenance-setup-assistant", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
maintenance-setup-assistantStand up the Home Assistant "Maintenance Supporter" integration from a conversation.
Maintenance Setup Assistant is an agent skill from iluebbe/maintenance_supporter. Stand up the Home Assistant "Maintenance Supporter" integration from a conversation. Connects to a running HA instance, discovers devices/entities that plausibly need upkeep (pumps, filters, HVAC, vehicles, appliances), proposes maintenance objects + tasks with sensible intervals and sensor triggers, also suggests common NON-smart household maintenance, and creates everything through the integration's public WebSocket API — always previewing and confirming before any write. Use when a user wants help configuring…
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/discovery.md`, `references/non-smart-catalog.md` and `references/ws-api.md`).
It sits in Backend & APIs, covering Realtime and WebSockets and Meeting notes and agendas. It works with Home Assistant. The repository describes itself as: Home Assistant custom integration for tracking and managing maintenance tasks with adaptive scheduling, sensor-based triggers, and notifications. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 472ce26. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Maintenance Setup Assistant loads about 3.7k tokens when it runs, and up to ~26k if it reads all its reference files. Until then it costs about 155 tokens; SKILL.md has 1,814 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from iluebbe/maintenance_supporter at commit 472ce26, republished under its MIT licence (© iluebbe). 1,814 words, ~3,696 tokens.
.claude/skills/maintenance-setup-assistant/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.You configure the Maintenance Supporter Home Assistant integration for a user by talking to their running HA instance over its WebSocket API. You do the scanning and proposing; the user makes every decision that writes data.
object/create and task/create
supports "dry_run": true — validate the whole batch that way first, show
the result, then re-send with dry_run off only on confirmation.maintenance_supporter/* WS commands
respond (e.g. call maintenance_supporter/statistics).http://homeassistant.local:8123 or an https:// URL).Connect with the standard HA WebSocket handshake against
ws(s)://<host>:8123/api/websocket:
→ server: {"type":"auth_required", ...}
← client: {"type":"auth","access_token":"<TOKEN>"}
→ server: {"type":"auth_ok"} # or auth_invalidThen send commands with an incrementing integer id. Full command contract:
references/ws-api.md.
Writes (object/create, task/create, global/update, …) require the token's
user to be an HA admin, OR an allowlisted operator when the admin has turned
on operator_write_enabled AND added the user to admin_panel_user_ids.
global/update is admin-only regardless. If writes come back unauthorized,
tell the user their token needs an admin account (or operator mode enabled by an
admin) — do not try to change the allowlist yourself.
maintenance_supporter/statistics. If it errors as unknown command, the
integration isn't installed/loaded — stop and tell the user how to install it.
If it returns counts, you're connected. Note existing total_objects so you
don't duplicate what's already there.maintenance_supporter/objects once to learn what already exists (match
by object name — names must be unique after slugification, so you'd get
create_failed on a collision).json/import, admin; the ZIP over HTTP). People are matched by name and
devices by their integration identifiers, so the users and integrations
should exist here first — see "Backup / migration" in the API reference.Ask the integration first — it ships its own discovery. Two read-only commands do server-side what you would otherwise infer from raw registries, and they do it better because their wiring is verified against each integration's source:
maintenance_supporter/integration_setups/discover → {setups:[…]}. A
catalog of 263 integrations / 552 signatures matched against the entity
registry: each hit is a device with concrete duties, the exact entity_ids,
a direction and a default threshold — i.e. triggers already chosen.
Adopt with integration_setups/adopt (it re-runs discovery server-side and
creates or extends the object); pass baselines for "the last service was
at reading X". Duties already covered by an existing task are filtered out,
so re-running is safe.maintenance_supporter/problem_sensors/discover → {sensors:[…]}. Adoptable
device_class: problem binary sensors, with a suggested object (and spare
part, when one matches by name). problem_sensors/adopt turns each into a
task that triggers while the sensor is on and auto-completes on recovery.Present both as proposals like anything else — the user still decides. Only what these two don't cover needs the manual pass below.
Then enumerate the rest of the user's HA using core registry commands (read-only):
config/area_registry/list — areas (for grouping + area_id).config/device_registry/list — devices (name, manufacturer, model, area_id).config/entity_registry/list — entities (entity_id, device_id, device_class…).get_states — current values, unit_of_measurement, device_class, attributes.Then apply the heuristics in references/discovery.md to turn the remaining signals into candidates: which devices plausibly need upkeep, which sensor becomes which trigger type (threshold / counter-delta / runtime / state_change), and what a sensible default interval would be. Group candidates by area/device and rank by confidence.
Also propose non-smart items — from the shipped templates first. Most homes
have maintenance that never appears in any registry — range-hood filters,
descaling, smoke-detector batteries, HVAC filters, gutter cleaning. Call
maintenance_supporter/templates (pass the user's language): the integration
ships 96 object templates, curated, each with its tasks, types and interval
defaults already chosen and localized (and recommended / reasons for
this home — basics for the dwelling, climate, detected equipment), and
object/from_template creates the object plus all of its tasks in one call. Match a candidate to a template
whenever one fits and propose the template; skip templates flagged
disabled: true (the admin hid those). Only for classes with no template do
you hand-build from the curated catalog in
references/non-smart-catalog.md as
time-based tasks. Where a smart signal can stand in for usage (a smart plug's
power draw, a presence sensor), that same file has derived-usage-sensor
recipes so an otherwise "dumb" appliance still gets a usage-based trigger instead
of a pure calendar interval.
Present the ranked proposal as a table the user can edit. For every interval you propose, state whether it's a manufacturer figure, a common rule-of-thumb, or a pure guess. Let the user drop/add/adjust before anything is written.
Only if the user asks: from a device's manufacturer/model, suggest a
documentation URL or a manufacturer-recommended service interval. Cite the
source. Never fetch or attach anything without a yes. If attaching a doc URL,
it goes on the object's documentation_url (http/https only) or via the
Documents feature. Do not fabricate model numbers or intervals.
integration_setups/adopt (device with pre-wired triggers) →
problem_sensors/adopt (problem binaries) → object/from_template
(a matching template, tasks included) → hand-built object/create +
task/create. Everything they create stays fully editable, so a template
plus two edits beats a hand-built object. battery_fleet/setup covers all
batteries at once (see the trigger table below). None of the server-side
creators support dry_run (only object/create / task/create do) — for
them the discovery result or template listing you already showed the user
IS the preview, so get the explicit yes on that before calling them.object/create + task/create calls for whatever is
left. Map each candidate to its exact payload using
references/ws-api.md. Remember:custom_icon.trigger_config — it's interval_days +
interval_unit. A sensor trigger is trigger_config. A task can carry
both (sensor trigger + a safety calendar interval).task_type is the wire key (stored as type); schedule_type is separate.warning_days to use the household's default setting.responsible_user_id, or assignee_pool +
rotation_strategy for a chore that rotates (ids from users/list).schedule_time) are behind Advanced Features switches
(advanced_*_visible). The first three work regardless but stay hidden
in the panel's dialog; schedule_time is ignored outright while its
switch is off. If you use them, propose switching the matching one on
(step 4)."dry_run": true. Collect every valid/error and
warnings. Show the user the dry-run result verbatim. A task dry-run needs
an object that already exists (task/create looks up its entry_id first,
and a dry-run object/create returns entry_id: null): for tasks of a NEW
object, show your planned task list instead, create the object on
confirmation, then dry-run and create its tasks.dry_run removed/false.
Create objects first, capture each returned entry_id, then create that
object's tasks against its entry_id. Stop and report if any create fails
(e.g. create_failed = duplicate name).install_assist_sentences for voice) go through global/update
(admin-only) — propose these separately and only after the user opts in.maintenance_supporter/statistics and maintenance_supporter/objects
and confirm the new objects/tasks exist with the expected trigger_config.trigger_entity_info /
trigger_active / trigger_current_value resolve to real entities (a
non-existent entity is a warning, not an error, at create time — catch it now).install_assist_sentences setting (English, German, French,
Spanish, Italian, Dutch).| Real-world thing | HA signal | Trigger | trigger_config essentials |
|---|---|---|---|
| Water/air pressure, temperature limit | numeric sensor | threshold | entity_ids, trigger_above and/or trigger_below |
| Vehicle service by distance | odometer (device_class: distance) | counter delta | trigger_target_value, trigger_delta_mode: true |
| Consumable / filter cycles | cycle-count sensor | counter | trigger_target_value (absolute) |
| Pump/HVAC/compressor wear | on/off entity | runtime | trigger_runtime_hours (+ trigger_on_states) |
| "Cleaning cycle finished" event | state that flips | state_change | trigger_from_state/trigger_to_state, trigger_target_changes |
| Device reports when it is due | timestamp/date sensor ("Filter change due") | due_date | trigger_days_before (+ the device's "done" button as completion action) |
| Any two of the above together | multiple sensors | compound | compound_logic + conditions[] (≥2, no nesting) |
| Consumable level low (ink, toner, filter %) | % sensor | threshold | trigger_below |
| Household batteries | Battery Notes devices | (none — use the Battery Fleet) | battery_fleet/setup, not a task per battery |
Do not propose one threshold task per battery. The integration ships the
Battery Fleet: battery_fleet/setup creates ONE task plus a per-type
shopping list (AA, AAA, CR2032 …) covering every Battery Notes device in the
house, so a 40-battery home gets one reminder instead of 40. Check
battery_fleet/overview first (available / has_battery_notes /
configured); task_ok: false means the fleet exists but its task or trigger
was damaged — re-running setup is the idempotent repair. Individual batteries
can be kept out with battery_fleet/set_excluded (self-charging devices).
Everything with no usable sensor → a time-based task (interval_days +
interval_unit), optionally upgraded via a derived-usage sensor recipe.
Confirm before every write · never invent intervals silently · keep the token
safe · prefer proposing over applying · dry-run first · cite sources · never
complete, skip or reset tasks on your own, and never send via_tag_scan — it
asserts that someone scanned the tag at the thing.
© iluebbe, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/maintenance-setup-assistant of iluebbe/maintenance_supporter.
Open the folder on GitHubat commit 472ce26
Maintenance Setup Assistant next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Maintenance Setup Assistant this skilliluebbe/maintenance_supporter | 111 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Supabase Development and Debuggingsupabase/agent-skills | 2.7k | 3 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Use Yaakmountain-loop/yaak | 19k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Gemini Live API Devgoogle-gemini/gemini-skills | 4.3k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Web3 PolymarketPolymarket/agent-skills | 191 | 2 repos | ~2k | Automated safety check: Pass | None | |
| GraphQL ArchitectJeffallan/claude-skills | 12k | 1 repos | ~1.3k | Automated safety check: Pass | MIT |
supabase/agent-skills
General Supabase skill for database, auth, Edge Functions, Realtime and storage work, plus client libraries, migrations, security audits, debugging and reading logs.
mountain-loop/yaak
A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…
google-gemini/gemini-skills
A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.
Polymarket/agent-skills
Polymarket integration for prediction market trading on Polygon.
Jeffallan/claude-skills
Designs GraphQL schemas and Apollo Federation graphs, with DataLoader resolvers, subscriptions, query complexity limits and caching.
marketcalls/openalgo
Integrate a new Indian broker into OpenAlgo, or modify an existing broker plugin.
Works with
Categories
Stand up the Home Assistant "Maintenance Supporter" integration from a conversation. Maintenance Setup Assistant is an agent skill from iluebbe/maintenance_supporter. Stand up the Home Assistant "Maintenance Supporter" integration from a conversation.
Maintenance Setup Assistant fits situations like: A user wants help configuring Maintenance Supporter instead of clicking through the config flow by hand; tasks that involve Realtime and WebSockets; tasks that involve Meeting notes and agendas.
Run `npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a claude-code`. Or copy the skill folder (skills/maintenance-setup-assistant in iluebbe/maintenance_supporter) into .claude/skills/maintenance-setup-assistant in your project. Claude Code loads it when a task matches its description.
Run `npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a codex`. Or copy the skill folder (skills/maintenance-setup-assistant in iluebbe/maintenance_supporter) into .agents/skills/maintenance-setup-assistant in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iluebbe/maintenance_supporter --skill maintenance-setup-assistant -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/maintenance-setup-assistant, .gemini/skills/maintenance-setup-assistant, .github/skills/maintenance-setup-assistant and .opencode/skills/maintenance-setup-assistant in your project.
SKILL.md names no scripts, command-line tools or credentials: Maintenance Setup Assistant is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Maintenance Setup Assistant is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 22k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Maintenance Setup Assistant: Supabase Development and Debugging (supabase/agent-skills, 2.7k stars), Use Yaak (mountain-loop/yaak, 19k stars), Gemini Live API Dev (google-gemini/gemini-skills, 4.3k stars) and Web3 Polymarket (Polymarket/agent-skills, 191 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
iluebbe (a GitHub user) maintains it in iluebbe/maintenance_supporter, which has 111 GitHub stars. The repository was last updated on October 6, 2026.
Source: iluebbe/maintenance_supporter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.