Atlas / Skills / lakehousebox / agent-skills

agent-skillsCAUTION

skills/lakehousebox/agent-skills

LakehouseBox for agents: the MCP connector and Agent Skills for Claude, Cowork, Codex, ChatGPT, Gemini CLI and any agent that reads skills

Verdict
CAUTION
Grade
B
Trust score
89 /100
Version
—
Hosts
5 documented
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

The LakehouseBox MCP connector and Agent Skills in one plugin. LakehouseBox keeps analytical data as Apache Iceberg tables, operated in Germany; the agent brings the compute.

  • The connector (https://mcp.lakehousebox.com/mcp, read-only): find the tables you can read and how fresh they

are, run read-only SQL on LakehouseBox's side, read files such as photos. It needs a LakehouseBox account (free); you approve it once in the browser.

  • The skills teach the agent the service. A skill is a folder with a SKILL.md the agent loads when the task

matches, plus references it opens only when needed.

Layers. The base skill is what every LakehouseBox task needs. Workflow skills cover one capability of the service; use-case skills cover an end-to-end job and build on the layers below. catalog.json has the graph.

Reading a public catalog needs neither an account nor the connector: the skills show the agent how to read it with DuckDB. Everything else needs a LakehouseBox account, which an agent with a shell

Read from source at commit f0a27b606cd1OBSERVED · 2026-10-13
02

Install

Commands as the repository documents them. They are shown, not run.

pip install 'duckdb>=1.5.6'
pip install 'duckdb>=1.5.5'                                # writes need 1.5.5 or newer; doctor names which interpreter to upgrade
claude mcp add --transport http lakehousebox https://mcp.lakehousebox.com/mcp \
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
claude-desktopmentioned
codexmentioned
cursormentioned
gemini-climentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: lakehousebox-home-assistant
description: Move a Home Assistant's history into LakehouseBox and keep it flowing in - the recorder's last 10 days of states and its hourly long-term statistics into Iceberg tables (no account needed to start, lhbox new), then the person claims the catalog and every state change is posted once a minute by rest_command and one automation. Use when someone wants to keep, move, back up or query Home Assistant history, energy or sensor data for longer than the recorder keeps it. Builds on the lakehousebox and lakehousebox-keep-fresh skills.
---

# Home Assistant history on LakehouseBox

The person wants their Home Assistant history kept for years and answers about it. The whole recipe, every command
and its recorded output, is in [the instructions](references/instructions.md); this page is the order and the
decisions.

## Before you start

- **Find Home Assistant.** You need its configuration folder (`configuration.yaml`, `home-assistant_v2.db`) and a way
  to restart it: a container (`docker restart homeassistant`), a Core install's service, or on Home Assistant OS the
  Terminal & SSH add-on (`ha core restart`, the folder is `/config`). If the person told you where, use that. If you
  cannot reach it, say so and do what you can from a copy of the database file.
- **Check the recorder.** `recorder: db_url:` pointing at MariaDB or PostgreSQL means the history move (step 2) is not
  covered; skip to the live feed after the claim.

## The order

1. **Access** (instructions §1). A saved key (`lhbox whoami`) or a person at the keyboard (`lhbox login`): use that.
   Otherwise `lhbox new`, no account: a catalog named `lakehouse` you can write now. Tell the person it accepted the
   Terms for them, and that it is deleted after 72 hours unless they keep it.
2. **Move the history** (§2): snapshot the database with SQLite's backup (never the live file), run the SQL, import
   `ha.states` and `ha.statistics`. Leave out `device_tracker` (locations) unless the person said yes. Answer one
   real question from the data before anything else: that is what the person came for.
3. **The claim** (§3) is the one thing only the person can do: `lhbox claim`, give them the link and the code and
   tell them to pick **read and write** (the page offers read first), then `lhbox claim --resume --wait`. If it comes
   back `downgraded`, ask again with `lhbox login --new --level write --catalog lakehouse:write --no-wait`. If they
   are not around, stop here and tell them exactly that, with the deadline.
4. **The live feed** (§4–§6), after the claim: the sink, the secret, the `rest_command` and automation **exactly as
   written** (the payload survives integrations whose attributes are not JSON), the "uploads stalled" sensor, one
   restart, rows arriving, then fill the gap between the snapshot and the restart.

## Rules that save a retry

- Back up `configuration.yaml`, `secrets.yaml` and `automations.yaml` before you edit them, and check the YAML with
  Home Assistant's own check before the restart when you can (`ha core check`, or
  `hass --script check_config -c <folder>`).
- The sink's address is a password: it goes in `secrets.yaml`, never in the conversation or `configuration.yaml`.
- One restart, after all the YAML is in place: a new `rest_command` needs it, and it is the minute that posts
  every entity at once.
- Name the catalog from `lhbox catalog list` after the claim: a claim can rename it (`lakehouse_2`).
- The first question: `lhbox query "<sql>"` (runs on LakehouseBox's side, nothing saved on disk). A DuckDB secret saved
  with `lhbox duckdb --persist` before the claim holds the old key.
- Queries, energy per day and what each domain holds: instructions §7 and "Energy". A live dashboard: the person
  connects LakehouseBox in Claude and ticks the catalog ("See it on a dashboard"). Daily summaries on a schedule or a
  morning email: the `lakehousebox-hosted-agents` skill.
05

Trust audit

CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)WARN
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (10)

MEDIUMSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
skills/lakehousebox/SKILL.md:34
curl -fsSL https://lakehousebox.com/install.sh | sh   # one Python 3 file, no dependencies
LOWPrompt injection · prompt.credential_read · CWE-94, CWE-1427
runs/2026-10-11-workflow-agent-test.md:62
**`weather.sql`** must be one DuckDB SELECT over an http(s) source. This example uses Open-Meteo, which needs no API key:
Why it matters. asks the agent to read credentials
LOWPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/lakehousebox-home-assistant/references/instructions.md:144
Answer a first question to show the person their history is there. lhbox query runs it on LakehouseBox's side, read-only, with nothing to install and no credential written to disk (an unclaimed catalo
Why it matters. asks the agent to read credentials
LOWPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/lakehousebox-load-data/references/uploaders.md:141
- A public folder is world-readable. When the catalog is public and its admin published a folder of this bucket (lhbox catalog publish <name> --confirm --files public/, docs/public-warehouses.md, "Pub
Why it matters. asks the agent to read credentials
LOWPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/lakehousebox-share/references/access.md:58
Read lets you list and query tables, get the catalog's read-only connection recipe, browse and preview the catalog's files, and list its uploaders and sinks. Write adds creating, changing and dropping
Why it matters. asks the agent to read credentials
LOWPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/lakehousebox/references/agent-setup.md:93
The key is never shown. Do not ask for it, do not look for it, do not cat the credentials file. Every lhbox command and the connection recipe below read it themselves. If the person wants to see or re
Why it matters. asks the agent to read credentials
LOWSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
skills/lakehousebox-home-assistant/references/instructions.md:30
- The lhbox command line: curl -fsSL https://lakehousebox.com/install.sh | sh.
LOWSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
skills/lakehousebox/references/agent-setup.md:13
curl -fsSL https://lakehousebox.com/install.sh | sh          # one Python 3 file, no dependencies
LOWSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
skills/lakehousebox/references/agent-setup.md:71
curl -fsSL https://lakehousebox.com/install.sh | sh       # a single Python 3 file, no dependencies
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
skills/lakehousebox-home-assistant/references/instructions.md:303
2026-10-04 09:21:00.249 DEBUG (MainThread) [homeassistant.components.rest_command] Calling post https://in.lakehousebox.com/d/<token> with headers: {'Content-Type': 'application/json'} and payload: b'
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine

Gates applied: no_behavioural_pass.

Audited 2026-10-13 · audit v0.4.1 · source sha f0a27b606cd1full audit observations/trust-audit/skill/lakehousebox__agent-skills.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-13f0a27b606cd1CAUTIONB89first audit
07

Questions

What does the agent-skills skill do?

LakehouseBox for agents: the MCP connector and Agent Skills for Claude, Cowork, Codex, ChatGPT, Gemini CLI and any agent that reads skills

Is agent-skills safe to install?

With care. The audit graded it B (89/100) and found 10 things worth knowing before you trust this skill, listed below with the exact line each was found on.

What can agent-skills access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

Which assistants does agent-skills work with?

Its documentation mentions claude-code, claude-desktop, codex, cursor and gemini-cli. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (f0a27b606cd1), read on 2026-10-13. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement