Slash command reference
Every command the bot answers, with the flags it understands and the
shape it returns. All commands live behind /semilayer … and are
identical across Slack and Discord (Discord users also get
typeahead-style option pickers via the application command manifest).
Read commands post privately by default in shared channels. You
see the result; nobody else does. Pass --public to broadcast the
same response to the channel.
Cheat sheet
| Command | What it does |
|---|---|
/semilayer login | Link your chat identity |
/semilayer help | Show the onboarding card |
/semilayer config show | Print your scope defaults for this workspace |
/semilayer config set … | Update one or more of your defaults |
/semilayer config clear | Forget all your defaults |
/semilayer here | Show the channel-pinned scope (admin) |
/semilayer here set … | Pin scope to this channel (admin) |
/semilayer here clear | Clear the channel pin (admin) |
/semilayer notify on <type> | Subscribe channel to a notification type (admin) |
/semilayer notify off <type> | Unsubscribe (admin) |
/semilayer notify list | List active subscriptions on this channel |
/semilayer notify all | Subscribe to every non-mandatory type (admin) |
/semilayer notify none | Unsubscribe from everything (admin) |
/semilayer notify types | List every supported type |
/semilayer search <query> | Search a lens |
/semilayer similar <id> | Find rows similar to a seed id |
/semilayer query | Typed predicate query (--where=) |
/semilayer feed <name> | Read a page of a named feed |
/semilayer status | Environment health & queue depth |
/semilayer analyze <name> | Render a named analyze as a chart image |
/semilayer watch <cmd> | Schedule a recurring post |
/semilayer remind me … | Natural-language watch (DM target by default) |
/semilayer watch list | List your watches in this channel |
/semilayer watch stop <id> | Stop a watch |
/semilayer watch pause <id> | Pause a watch (don't fire, but keep config) |
/semilayer watch resume <id> | Resume a paused watch |
/semilayer watch run <id> | Fire a watch right now (creator only) |
Universal flags
Every read command accepts these. Defaults come from /semilayer config (your personal) or /semilayer here (channel-pinned).
| Flag | Example | Meaning |
|---|---|---|
--org | --org=acme | Which org to act in |
--project | --project=catalog | Which project |
--env | --env=production | Which environment |
--lens | --lens=products | Which lens (not needed for status) |
--public | --public | Post in-channel instead of ephemerally |
/semilayer search <query>
Search a lens. Returns up to 10 hits as a Block Kit / embed list with score, title, and a deep-link to Console.
| Flag | Default | Meaning |
|---|---|---|
--limit | 10 | Max hits to return (capped at 25) |
--where | none | Predicate (JSON) to filter the search corpus |
/semilayer similar <id>
Find rows similar to a seed id. Same shape as search.
/semilayer query
Typed predicate query — no embeddings, just a filter. Returns matching rows as a markdown table (Slack) or formatted embed (Discord).
| Flag | Default | Meaning |
|---|---|---|
--where | none | Predicate (JSON) |
--limit | 10 | Max rows |
/semilayer feed <name>
Read a page of a named feed. Cursor-paginated; first call returns the first page, the response includes a "Next page" link if more exist.
/semilayer status
Environment-level health check. Shows ingest queue depth, lens
freshness, and a stoplight summary (🟢🟡🔴). Doesn't take a --lens.
/semilayer analyze <name>
Render a named analyze as a chart image. The analyze must be declared
on the lens config (analyses.byCategory: {…}). The chart renders on
the platform side as an SVG → PNG and posts as an image attachment.
| Flag | Default | Choices |
|---|---|---|
--kind | bar | bar line area donut pie treemap |
--where | none | Predicate (JSON) to filter the analyze candidates |
See Analyze → chart image for the full walkthrough.
/semilayer watch <wrapped-cmd>
Schedule any of the above commands as a recurring post.
| Flag | Choices |
|---|---|
--every | hourly daily weekly (required) |
--at | HH:MM 24-hour, default 09:00 |
--tz | IANA tz, default UTC |
--dow | mon tue … sun (weekly only) |
--target | this (current channel), dm, C12345… |
See Watch & Remind for the full walkthrough.
/semilayer remind me <cadence> to <command>
Natural-language watch. Defaults to DM target so you don't accidentally spam a channel.
Cadences understood: hourly, daily, weekly, daily at <time>,
<dow> at <time>, morning. Times accept 9am, 09:00, 14:30.
/semilayer config …
Your personal scope defaults for this workspace. Every read command uses them when a flag is missing.
/semilayer here … (admin)
Channel-pinned defaults. Apply to everyone in the channel — useful
for "this is the #data-room channel and it's always pointing at the
production analytics env." Requires owner or admin role.
See Channel scope for resolution order and edge cases.
/semilayer notify … (admin)
See Chat notifications for the full type list and opt-in semantics.