mcpField
G
german-shopping-receipts

german-shopping-receipts

github.com/tejas-kaleData & databases038 installsUpdated 3d ago
Repository

About german-shopping-receipts

A skill for answering grocery questions with Standard SQL against a German shopping receipts table in BigQuery. It guides query construction and requires summaries to document the filters, grouping, and date bounds used.

Key features

  1. 01Standard SQL query formulation
  2. 02BigQuery query execution with bq
  3. 03Receipt counting by store and date
  4. 04Receipt totals without line-item overcounting
  5. 05Answer summaries with query scope

Use cases

  1. 01Compare grocery item prices
  2. 02Count receipts by supermarket and date
  3. 03Calculate receipt totals for a chosen period

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tejas-kale/skills --skill german-shopping-receipts

After installing, type/german-shopping-receiptsin Claude Code to confirm it loaded.

Details

From the project README

German Shopping Receipts

Answer grocery questions from august-cirrus-399913.economics.german_shopping_receipts using bq.

Process

  1. Translate the question into one Standard SQL query.
  2. Run bq query --nouse_legacy_sql --format=pretty '<sql>'.
  3. Summarise the answer, naming the filters, grouping, and date range it rests on.

Done when the query ran without error and the summary states every filter, grouping, and date bound that shaped the number.

Schema

Reference the table path directly in FROM — no backticks, no escaping.

ColumnTypeNotes
supermarketSTRING
dateDATEPurchase date — the one to filter and group on
item_name_germanSTRING
item_name_englishSTRING
priceFLOATPer-item price; the column for item-level analysis
total_priceFLOATReceipt total, repeated on every line item — summing it multiplies by line count
inserted_atTIMESTAMPLoad time, not purchase time

A receipt is the set of rows sharing a supermarket and date. Count receipts with COUNT(DISTINCT ...) over that pair, and take a receipt total with MAX(total_price) per group.

Comments

Markdown supported