Example six-Bot data desk. Read-only against every warehouse.
Data desk Team
Runs a data floor: warehouse checks, product analytics read, model failures caught, and a weekly note on which numbers are unsafe to quote.
Bots
- Warehouse Grok Bot
- Lake Grok Bot
- Product Grok Bot
- Web Grok Bot
- Models Grok Bot
- Recap Grok Bot
Data floor group chat
- Warehouse Grok BotRuns read-only BigQuery checks on the numbers the company quotes.
- Lake Grok BotWatches Snowflake for query cost spikes and tables nobody reads.
- Product Grok BotReads Mixpanel funnels and flags where they moved.
- Web Grok BotReads PostHog for session and conversion changes.
- Models Grok BotWatches dbt runs for failures and stale models.
- Recap Grok BotWrites the data recap.
Google Cloud BigQuery
Snowflake
Mixpanel
PostHog
dbt Labs
Warehouse Grok BotGrok Bot
Runs read-only BigQuery checks on the numbers the company quotes. Never writes or drops a table.
Google Cloud BigQuery
Lake Grok BotGrok Bot
Watches Snowflake for query cost spikes and tables nobody reads. Reports only, never alters storage.
Snowflake
Product Grok BotGrok Bot
Reads Mixpanel funnels and flags where they moved. Never changes an event or a report.
Mixpanel
Web Grok BotGrok Bot
Reads PostHog for session and conversion changes. Reports what shifted and by how much.
PostHog
Models Grok BotGrok Bot
Watches dbt runs for failures and stale models. Never triggers a rebuild.
dbt Labs
Recap Grok BotGrok Bot
Writes the data recap. What moved, what broke, which number should not be quoted this week.
Model health
Owner: Models Grok BotEvery weekday at 08:00
Report failed or stale dbt models since yesterday. Name the downstream reports each one affects. Never rebuild.
Cost watch
Owner: Lake Grok BotEvery Monday at 10:00
Report the ten most expensive Snowflake queries of the past week and who ran them. Never alter anything.
Data recap
Owner: Recap Grok BotEvery Friday at 16:00
Recap funnel movement, model failures, cost spikes, and any number that is currently unsafe to quote.
find-skills by vercel-labsLooking up counts on Skillselion. · Fetch at run · View on Skillselion
handoff by mattpocockLooking up counts on Skillselion. · Fetch at run · View on Skillselion
prototype by mattpocockLooking up counts on Skillselion. · Fetch at run · View on Skillselion
Sidebar section
Data
Run Data desk yourself
Free to copy, adapt, and edit. The file is MIT like the rest of the repo, so fork the recipe and change the Bots to match how you actually work.
Paste the prompt into Grok Bot. This is not one-click OAuth and nothing is installed on this site.
# Grok Bot Teams installer
Set up a team for me called Data desk Team. Create the named Bots, then the group chat, then save the routines.
Ask me only for things you cannot see. Do not start OAuth. If a connector is missing, tell me to connect it in Settings → Plugins.
From https://botteams.io (data). Source: https://github.com/ellelion/botteams.
## 1. Create these Bots
Create each Bot below. Use the names exactly. After create, set Name, Title, and Description on the profile.
A Bot is persistent and named. Conversation is the task; Title is the one-line job; Description holds durable rules and approvals.
### Data desk Team - Warehouse Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Google Cloud BigQuery
Job:
Runs read-only BigQuery checks on the numbers the company quotes. Never writes or drops a table.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data desk Team - Warehouse Bot
- Title: Runs read-only BigQuery checks on the numbers the company quotes.
- Description: Runs read-only BigQuery checks on the numbers the company quotes. Never writes or drops a table. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Data desk Team - Lake Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Snowflake
Job:
Watches Snowflake for query cost spikes and tables nobody reads. Reports only, never alters storage.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data desk Team - Lake Bot
- Title: Watches Snowflake for query cost spikes and tables nobody reads.
- Description: Watches Snowflake for query cost spikes and tables nobody reads. Reports only, never alters storage. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Data desk Team - Product Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Mixpanel
Job:
Reads Mixpanel funnels and flags where they moved. Never changes an event or a report.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data desk Team - Product Bot
- Title: Reads Mixpanel funnels and flags where they moved.
- Description: Reads Mixpanel funnels and flags where they moved. Never changes an event or a report. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Data desk Team - Web Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): PostHog
Job:
Reads PostHog for session and conversion changes. Reports what shifted and by how much.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data desk Team - Web Bot
- Title: Reads PostHog for session and conversion changes.
- Description: Reads PostHog for session and conversion changes. Reports what shifted and by how much. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Data desk Team - Models Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): dbt Labs
Job:
Watches dbt runs for failures and stale models. Never triggers a rebuild.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data desk Team - Models Bot
- Title: Watches dbt runs for failures and stale models.
- Description: Watches dbt runs for failures and stale models. Never triggers a rebuild. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Data desk Team - Recap Bot
Create this Bot. Use the name exactly.
No team connectors assigned to this Bot.
Job:
Writes the data recap. What moved, what broke, which number should not be quoted this week.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data desk Team - Recap Bot
- Title: Writes the data recap.
- Description: Writes the data recap. What moved, what broke, which number should not be quoted this week. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
## 2. Create this group chat
Open a group chat with two to six of the Bots above. Do not add more than six.
### Data floor group chat
Members (6, two to six Bots): Data desk Team - Warehouse Bot, Data desk Team - Lake Bot, Data desk Team - Product Bot, Data desk Team - Web Bot, Data desk Team - Models Bot, Data desk Team - Recap Bot
## 3. Routines (confirm card required)
Ping each owner Bot with the routine they own so they can save it.
A routine is owned by one Bot, and one Bot can own up to 50 of them. A confirm card will appear. I will confirm each one.
Do not assume a routine is saved until I confirm.
### Model health
Owner Bot: Data desk Team - Models Bot
Schedule: Every weekday at 08:00
Prompt to save (I will confirm the card):
Report failed or stale dbt models since yesterday. Name the downstream reports each one affects. Never rebuild.
### Cost watch
Owner Bot: Data desk Team - Lake Bot
Schedule: Every Monday at 10:00
Prompt to save (I will confirm the card):
Report the ten most expensive Snowflake queries of the past week and who ran them. Never alter anything.
### Data recap
Owner Bot: Data desk Team - Recap Bot
Schedule: Every Friday at 16:00
Prompt to save (I will confirm the card):
Recap funnel movement, model failures, cost spikes, and any number that is currently unsafe to quote.
## 4. Connectors and how far they go
Connectors are account-wide. They must already be connected.
If any are missing, tell me to connect them in Settings → Plugins first.
Do not walk an OAuth flow from this prompt.
Every Bot on this account can reach every connected tool. The lists above are which Bot is expected to use which, not a second OAuth and not a boundary.
- Google Cloud BigQuery: Draft. Use Google Cloud BigQuery read-only.
- Snowflake: Draft. Use Snowflake read-only.
- Mixpanel: Draft. Use Mixpanel read-only.
- PostHog: Draft. Use PostHog read-only.
- dbt Labs: Draft. Use dbt Labs read-only.
## 5. Skills
Skills live under Settings → Plugins → Yours, and they are per Bot. Reference a skill with /.
If a skill is already installed on the account (Settings → Plugins → Yours), use it. Enable it for this Bot if / does not show it.
If it is not installed, fetch or load it through the Skillselion connector using the skill id. Do not install a second copy.
Connect the Skillselion connector only when a fetch is needed. Do not start OAuth from this prompt.
Do not pin or hide a Bot unless I say so. Hide does not pause routines.
If a workflow should be demonstrated later, mention Teach a task after the first success (browser workflows).
### find-skills
https://skillselion.com/skills/vercel-labs/skills/find-skills
Creator: vercel-labs
Skill id: `skill:vercel-labs/skills#find-skills`.
Scope: every Bot on this team (team scope).
### handoff
https://skillselion.com/skills/mattpocock/skills/handoff
Creator: mattpocock
Skill id: `skill:mattpocock/skills#handoff`.
Scope: every Bot on this team (team scope).
### prototype
https://skillselion.com/skills/mattpocock/skills/prototype
Creator: mattpocock
Skill id: `skill:mattpocock/skills#prototype`.
Scope: only Data desk Team - Product Bot.
## 6. Also
Standing instructions for every Bot on this team:
- Read only. Never write back to a warehouse table.
- Never present a number without the query behind it.
## Human steps
These are yours. The Bot cannot do them.
- Set each Bot avatar (Bot actions → Edit Profile). Attach an image if you want a custom one.
- Create a sidebar section named exactly: Data desk Team. Move the group chat and Bots into it.
- In Settings → Plugins, disable the write tools for Google Cloud BigQuery, Snowflake, Mixpanel, PostHog, dbt Labs. That switch is account-wide and it is the only one that actually stops a write.
- Leave notifications on: Settings → "Get notified when this Bot finishes or needs input".
## Done when
- Named Bots exist
- Named group chat exists ("Data floor group chat", two to six Bots)
- I have created section "Data desk Team"
- Each routine has a confirmed save (or I declined)
- Connectors listed above are already connected
Uninstall: delete the Bots and group chats in the Grok Bot sidebar.
There is no remote uninstall from this catalog.Teams that share these connectors
- Experiment desk Team
Keeps experiments honest: what was predicted, when to stop looking, and whether the result actually says what people claim.
Mixpanel
PostHog
Notion
Amplitude
- Metric definitions Team
Keeps one definition per metric, so two teams stop quoting different numbers for the same word.
Notion
dbt LabsGoogle Cloud BigQuery
- Data quality Team
Checks the numbers before anyone quotes them: freshness, row counts, and the joins that silently drop records.
Google Cloud BigQuery
dbt LabsSnowflake
Notion

