bq-analytics-query

A guide for querying bq-analytics data in BigQuery, Google's service for storing and querying large datasets. It uses the bq command-line tool to inspect recorded events and user information.

In plain words
What is it for?
Use it to search events, examine conversion funnels, and look up users or their recorded traits.
Why use it?
It gives developers a way to answer product-usage questions from stored analytics data instead of guessing from the application code.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/johnkueh/bq-analytics/query
Any agent
npx skills add johnkueh/bq-analytics --skill query
Clone the repo
git clone --depth 1 https://github.com/johnkueh/bq-analytics

Made for: Claude Code, Codex.

Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,505 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00062 $0.02505
Opus 5 $0.00031 $0.01252
Sonnet 5 $0.00012 $0.00501
Haiku 4.5 $0.00006 $0.00250

Measured 2d ago against content hash bd0365354462, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

bq-analytics-query scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

claude-skills/query/SKILL.md · 244 lines

How it starts

The opening of the file, as written. The whole thing — 244 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Querying bq-analytics

If bq isn't on PATH

The skill assumes the gcloud BigQuery CLI is callable as bq. On macOS with Homebrew (brew install gcloud-cli), the binaries land in /opt/homebrew/share/google-cloud-sdk/bin/ and are not symlinked into /opt/homebrew/bin/, so non-interactive shells (the ones tools like Claude Code spawn) won't find them — even when an interactive which bq works.

If a bq invocation fails with command not found, run one of:

# Option A — make it visible to non-interactive shells (loaded before .zshrc):
echo 'export PATH="/opt/homebrew/share/google-cloud-sdk/bin:$PATH"' >> ~/.zshenv

# Option B — symlink directly into a dir that's already on the system PATH:
ln -s /opt/homebrew/share/google-cloud-sdk/bin/{bq,gcloud,gsutil} /opt/homebrew/bin/

The PATH entry that lives in ~/.zshrc only helps interactive shells — ~/.zshenv is the right file for tooling. After either fix, plain bq query … calls below work as written.

Tables you can rely on

events.raw           — append-only events. Hot columns: event_name, user_id, ts.
                       JSON: properties (use JSON_VALUE for filtering).
events.identifies    — append-only user trait updates.
events.groups        — append-only group trait updates.
events.user_groups   — append-only user→group memberships.

events.users                  — view: latest traits per user_id.
events.groups_current         — view: latest traits per (group_type, group_id).
events.user_groups_current    — view: most-recent group per (user_id, group_type).

events.feedback      — append-only product feedback. Hot columns: kind, user_id, ts.
                       kind ∈ {"bug", "request", "general", ...custom}.
                       JSON: properties. Plain TEXT: subject, message.

logs.raw             — Server-side SDK log() calls (logger.* / analytics.log()).
                       Hot columns: ts, level, source, message.
                       JSON: fields. path/status/request_id are nullable
                       (set only when the caller supplies them).

Read the full file on GitHub · 244 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 244 lines · 62 tokens per session scan A bd0365354462

Subscribe to this mod's changes

bq-analytics-query is a skill published in the GitHub repository johnkueh/bq-analytics (5 stars, last pushed 2mo ago), licensed MIT. It adds 62 tokens to every session and 2,505 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

agent-eval

Executes high-performance agent evaluations, multi-turn UserSim simulations, and declarative metric grading aligned with google/agents-cli and the Quality Flywheel. Publishes benchmark artifacts to the GCS Evaluation Registry, executes automated head-to-head delta comparisons (--compare-to), and optimizes system…

GoogleCloudPlatform/professional-services · 136 tokens

composio

Route and complete Composio work across Composio For You and Composio Platform. Use when the user mentions Composio; wants an agent to use apps such as Gmail, Slack, GitHub, Notion, Calendar, or Linear; needs first-time setup, an SDK or MCP integration, CLI operation, migration guidance, current documentation, or help…

elie222/rakazo · 84 tokens

data-parity

Validate that two tables or query results are identical — or diagnose exactly how they differ. Discover schema, identify keys, profile cheaply, then diff. Use for migration validation, ETL regression, and query refactor verification.

AltimateAI/altimate-code · 48 tokens

dbt-analyze

Analyze downstream impact of dbt model changes using column-level lineage and the dependency graph. Use when evaluating the blast radius of a change before shipping. Powered by altimate-dbt.

AltimateAI/altimate-code · 41 tokens

dbt-docs

Document dbt models and columns in schema.yml with business context — model descriptions, column definitions, and doc blocks. Use when adding or improving documentation for discoverability. Powered by altimate-dbt.

AltimateAI/altimate-code · 45 tokens

dbt-pr-review

Cloudflare-style AI code review for dbt/SQL pull requests. Produces a signed APPROVE/COMMENT/REQUESTCHANGES verdict where every blocking finding is backed by a deterministic engine call — column-lineage blast radius, query equivalence, PII classification, and A–F grade. Use to review a dbt PR or the working-tree…

AltimateAI/altimate-code · 79 tokens