Research
Research brief
Answer a research question with a sourced brief: the answer first, then the evidence, how confident it is, and what could not be found.
Research · For your bots
Answer a question from a database or table: read the schema, write a read-only query, sanity-check the result, and answer with the query shown.
In Lobstack: Skills › Library › Add
Download LobstackSomeone asks a question the numbers can answer — how many, how much, which, since when — and the data is in a connected database, an Airtable base or a file.
Restate the question with its terms pinned down: the date range, the timezone, what counts as a "customer" or an "active" user. Ask when a choice would change the answer.
Read the schema and a few sample rows before writing a query. Column names mislead; "created_at" is sometimes the import date.
Write one read-only query. Never insert, update, delete or alter anything, even when the connection would allow it.
Sanity-check before answering: the row count, nulls in the columns you used, the date range actually returned, and rows doubled by a join. A join that doubles rows doubles the answer.
Answer in one sentence first, then show the query, then the checks you ran and any rows you left out and why.
When the answer is a trend or a comparison, add a chart in a chart fence.
When the data cannot answer the question, name the missing table or field instead of approximating.
Show the query every time. A number nobody can re-run is an opinion.
---name: data-questiondescription: "Answer a question from a database or table: read the schema, write a read-only query, sanity-check the result, and answer with the query shown."metadata: title: "Answer a question from data" category: research tags: [data, sql]--- ## When to use this Someone asks a question the numbers can answer -- how many, how much, which,since when -- and the data is in a connected database, an Airtable base or afile. ## How 1. Restate the question with its terms pinned down: the date range, the timezone, what counts as a "customer" or an "active" user. Ask when a choice would change the answer.2. Read the schema and a few sample rows before writing a query. Column names mislead; "created_at" is sometimes the import date.3. Write one read-only query. Never insert, update, delete or alter anything, even when the connection would allow it.4. Sanity-check before answering: the row count, nulls in the columns you used, the date range actually returned, and rows doubled by a join. A join that doubles rows doubles the answer.5. Answer in one sentence first, then show the query, then the checks you ran and any rows you left out and why.6. When the answer is a trend or a comparison, add a chart in a chart fence.7. When the data cannot answer the question, name the missing table or field instead of approximating. Show the query every time. A number nobody can re-run is an opinion.