Semantic Analyst
sidequery/sidemantic
Answer analytical, KPI, metric, trend, cohort, and business-performance questions through a Sidemantic semantic layer.
Skill for Graph Query Language (GQL) or SQL/PGQ queries against a property graph.
$ npx skills add google/adk-python --skill bigquery-graph -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google/adk-python bigquery-graph --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/google/adk/integrations/bigquery/skills/bigquery-graph .claude/skills/bigquery-graph && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "bigquery-graph" agent skill from https://github.com/google/adk-python/tree/main/src/google/adk/integrations/bigquery/skills/bigquery-graph into .claude/skills/bigquery-graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bigquery-graph", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/google/adk-python/tree/main/src/google/adk/integrations/bigquery/skills/bigquery-graphType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add google/adk-python --skill bigquery-graph -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google/adk-python bigquery-graph --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/google/adk/integrations/bigquery/skills/bigquery-graph .agents/skills/bigquery-graph && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bigquery-graph" agent skill from https://github.com/google/adk-python/tree/main/src/google/adk/integrations/bigquery/skills/bigquery-graph into .agents/skills/bigquery-graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bigquery-graph", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/adk-python --skill bigquery-graph -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google/adk-python bigquery-graph --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/google/adk/integrations/bigquery/skills/bigquery-graph .cursor/skills/bigquery-graph && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bigquery-graph" agent skill from https://github.com/google/adk-python/tree/main/src/google/adk/integrations/bigquery/skills/bigquery-graph into .cursor/skills/bigquery-graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bigquery-graph", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/google/adk-python.git --path src/google/adk/integrations/bigquery/skills/bigquery-graph--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add google/adk-python --skill bigquery-graph -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google/adk-python bigquery-graph --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/google/adk/integrations/bigquery/skills/bigquery-graph .gemini/skills/bigquery-graph && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bigquery-graph" agent skill from https://github.com/google/adk-python/tree/main/src/google/adk/integrations/bigquery/skills/bigquery-graph into .gemini/skills/bigquery-graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bigquery-graph", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install google/adk-python bigquery-graphInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add google/adk-python --skill bigquery-graph -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/google/adk/integrations/bigquery/skills/bigquery-graph .github/skills/bigquery-graph && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bigquery-graph" agent skill from https://github.com/google/adk-python/tree/main/src/google/adk/integrations/bigquery/skills/bigquery-graph into .github/skills/bigquery-graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bigquery-graph", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/adk-python --skill bigquery-graph -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google/adk-python bigquery-graph --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-python.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/google/adk/integrations/bigquery/skills/bigquery-graph .opencode/skills/bigquery-graph && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bigquery-graph" agent skill from https://github.com/google/adk-python/tree/main/src/google/adk/integrations/bigquery/skills/bigquery-graph into .opencode/skills/bigquery-graph/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bigquery-graph", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bigquery-graphSkill for Graph Query Language (GQL) or SQL/PGQ queries against a property graph.
Bigquery Graph is an agent skill from google/adk-python, published by the product's own GitHub organization. Skill for Graph Query Language (GQL) or SQL/PGQ queries against a property graph. Includes path finding, multi-hop traversal, topological connection, shortest path, node reachability, edge connectivity, and semantic graph queries.
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/graph_schema/best_practices.md`, `references/graph_schema/ddl_reference.md` and `references/graph_schema/feature_parity.md`).
It sits in Databases, covering Data warehousing, Knowledge graphs and SQL. It works with Google BigQuery and SQL. The repository describes itself as: An open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 666c26d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are sql).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bigquery Graph loads about 4.8k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 61 tokens; SKILL.md has 2,170 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from google/adk-python at commit 666c26d, republished under its Apache-2.0 licence (© google). 2,170 words, ~4,849 tokens.
.claude/skills/bigquery-graph/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.You are querying a property graph consisting of nodes and edges. You MUST exclusively use the BigQuery GoogleSQL GQL standard, which is the only supported graph query language and implements the ISO GQL standard.
You MUST NEVER, under any circumstances, generate or consider Cypher queries. Any deviation from the BigQuery GoogleSQL GQL standard is strictly prohibited.
Before generating any GQL, you MUST:
TO_JSON()) or view tabular data (requires
specific properties).When generating graph queries, you must adhere to the following global directives:
RETURN statement natively. Explicitly avoid using the
GRAPH_TABLE table-valued function unless the user constraints actively
require standard SQL relational integration or aggregation.:Person,
:Account) and properties (e.g., n.id, e.amount) used in the query
strictly match the provided graph schema. Do NOT guess or hallucinate schema
elements.DISTINCT keyword automatically in your
RETURN or COLUMNS clause if the user prompt implies they want to
retrieve unique information.MATCH p = ...).A linear query statement in BigQuery GQL executes clauses sequentially. The output of one clause provides the input (the "working table") to the next.
Common sequential statements include:
MATCH: Identifies topological patterns in the graph.WITH: Projects variables from current scope into the next scope,
optionally sorting, limiting or grouping.LET: Defines a new variable or alias within the query scope.FILTER: Filters intermediate graph mappings.RETURN: Ends a GQL query or subquery, projecting the final graph
variables.ORDER BY, LIMIT, OFFSET: Control sorting and pagination.Chaining with NEXT: Multiple linear statements can be composed into a
compound query using the NEXT keyword. The results of the first statement pipe
into the statement following NEXT.
This query demonstrates filtering and projecting data through a single linear statement sequence.
GRAPH <project>.<dataset>.<graph>
MATCH (src:Account)-[t:Transfers]->(dst:Account)
LET transfer_amount = t.amount
FILTER transfer_amount > 1000
WITH src, dst, transfer_amount
ORDER BY transfer_amount DESC
LIMIT 50
RETURN src.id AS source, dst.id AS destination, transfer_amountThis query demonstrates using NEXT to pipe the results of one graph pattern
match into a subsequent pattern match.
GRAPH <project>.<dataset>.<graph>
MATCH (blocked:Account WHERE blocked.is_frozen = true)
RETURN blocked.id AS frozen_id
NEXT
MATCH (a:Account)-[t:Transfers]->(b:Account)
FILTER a.id = frozen_id
RETURN a.id AS source, b.id AS destination, t.amount AS amountA graph pattern matches topologies within a BigQuery property graph. Patterns consist of vertices (nodes) and connecting edges.
Node patterns are enclosed in parentheses (). They identify entities in the
graph and can optionally bind to a variable or specify label and property
filters.
MATCH (n): Matches any node and binds it to the variable n.MATCH (p:Person): Matches nodes explicitly labeled with Person.MATCH (p:Person|Account): Uses a label expression | (OR) to match nodes
that have either the Person or Account label.MATCH (p:Person {id: 1}): Matches nodes that satisfy a specific property
filter.MATCH (p:Person WHERE p.age > 18): Matches nodes applying a WHERE
condition on properties.Important Note on Label Expressions: BigQuery matches a node if it possesses
any of the labels listed in an OR (|) expression. You cannot use &
directly in label expressions.
Edge patterns represent the relationships between nodes. They are enclosed in
square brackets [] and connected using arrows (-, ->, <-) to denote
directionality.
MATCH (a)-[e]->(b): Matches any directed edge from a to b, binding the
edge to e.MATCH (a)-[e:Transfers]->(b): Directed edge specifically labeled
Transfers.MATCH (a)-[e:Transfers {amount: 50}]->(b): Edge with a specific property
filter applied.MATCH (a)-[e:Transfers]-(b): Matches an undirected (any direction) edge
between a and b. Use preferred explicit direction when possible for
better performance.A complex graph pattern consists of one or more path patterns separated by
commas ,. When multiple comma-separated patterns are used:
-- Equijoin example where 'interim' connects the two paths
GRAPH <project>.<dataset>.<graph>
MATCH (src:Account)-[t1:Transfers]->(interim:Account),
(interim)<-[:Owns]-(p:Person)
RETURN src.id AS account_id, p.name AS owner_nameYou can find multi-hop connections by appending a quantifier to an edge pattern,
defining variable-length paths. - {m, n}: Specifies that the edge pattern must
be repeated between m and n times (e.g., {1,3}).
Group Variables: When an edge variable is quantified (e.g.,
[e:Transfers]->{1,3}), the variable e becomes a "group variable." This
represents an array of the matched edges in the path. You must use array
functions to interact with it, such as ARRAY_LENGTH(e) or horizontal
aggregation like SUM(e.amount).
Variable-length paths can result in exponential combinations and repeating paths. You can constrain the search between source and destination pairs using search prefixes placed immediately before the path pattern:
ANY: Returns exactly one arbitrary matching path between each unique pair
of source and destination nodes.ANY SHORTEST: Returns a single path for each unique pair, specifically
choosing from those with the minimum number of edges (hops).ANY CHEAPEST: Returns a single path with the minimum total cost, computed
by aggregating COST expressions defined on the edges.GRAPH <project>.<dataset>.<graph>
MATCH ANY SHORTEST
(a:Account {id: 123})-[e:Transferred]->{1,3}(b:Account {id: 456})
RETURN eBigQuery property graphs support specialized native functions for interrogating
graph elements and extracting path metadata. These functions can be used
directly within MATCH, WHERE, LET, and RETURN/COLUMNS clauses.
When an entire path pattern is bound to a variable (e.g., MATCH p = (...)),
you can extract specific metadata and elements from it:
PATH_FIRST(p): Extracts and returns the starting node of path p.PATH_LAST(p): Extracts and returns the terminal (ending) node of path p.PATH_LENGTH(p): Returns an INT64 count representing the number of edge
hops in path p.NODES(p): Returns an array of node elements, ordered by their sequence in
the path.EDGES(p): Returns an array of edge elements, ordered by their sequence in
the path.GRAPH <project>.<dataset>.<graph>
MATCH p = (a:Account)-[t:Transfers]->{1,3}(b:Account)
RETURN PATH_LENGTH(p) AS hops, TO_JSON(NODES(p)) AS path_nodesThese functions operate on individual node or edge element variables:
DESTINATION_NODE_ID(e): Retrieves the unique internal string identifier of
an edge e's destination node.SOURCE_NODE_ID(e): Retrieves the unique internal string identifier of an
edge e's source node.ELEMENT_ID(x): Returns the unique internal identifier for the given node
or edge x.LABELS(x): Returns an array of string labels bound to a node or edge
element x.When constructing the RETURN clause, strictly distinguish between graph
visualization intent and tabular data intent based on the user's
objective.
You can assign an entire matched pattern sequence to a path variable using the
assignment operator =. This allows you to reference the entire topological
sequence later in the query.
MATCH p = (a:Person)-[e:Knows]->(b:Person)In this example, p represents the full path, encapsulating the nodes a and
b and the edge e.
Use this when the user wants to see relationships, paths, topology, networks, connectivity or entire entities (nodes/edges) as a whole.
TO_JSON): Unless specific properties
(e.g., n.name) or path metrics (e.g., PATH_LENGTH(p)) are explicitly
requested, you MUST wrap all graph topology outputs (nodes, edges, and
path variables) in the standard TO_JSON() function. This ensures
compatibility with graphing UI components that expect full JSON objects.RETURN TO_JSON(src) AS source, TO_JSON(p) AS full_pathLIMIT 500 to the query to prevent overwhelming
the UI with too many nodes/edges, unless the user explicitly requests a
different number.GRAPH <project>.<dataset>.<graph>
MATCH p = (src:Person)-[e:Knows]->(dst:Person)
RETURN
TO_JSON(src) AS source_node,
TO_JSON(e) AS relationship,
TO_JSON(dst) AS destination_node,
TO_JSON(p) AS full_path
LIMIT 500Use this when the user focuses on specific attributes, statistics, or metrics.
TO_JSON().RETURN account.id, SUM(t.amount) AS total_transferThe GRAPH_TABLE table-valued function is the primary mechanism for integrating
property graph queries with standard SQL operations in BigQuery.
You SHOULD use GRAPH_TABLE() only when your query requires integration
with SQL capabilities beyond basic graph pattern matching. Use it for:
SUM, COUNT, GROUP BY).GRAPH_TABLE calls.The basic structure of a GRAPH_TABLE query involves specifying the graph name,
the GQL statements, and a COLUMNS clause to define the output relational
schema.
SELECT
src_account_id,
COUNT(*) AS transfer_count,
SUM(amount) AS total_transfer_volume
FROM GRAPH_TABLE(
<project>.<dataset>.<graph>
MATCH (src:Account)-[t:Transfers]->(dst:Account)
WHERE src.is_blocked = true
COLUMNS (src.id AS src_account_id, t.amount AS amount)
)
GROUP BY src_account_id
HAVING total_transfer_volume > 10000
ORDER BY total_transfer_volume DESCThe COLUMNS clause is mandatory if you want to explicitly define the returned
table's schema.
COLUMNS
clause if they generate an anonymous column (e.g., COLUMNS (t.amount * 2 AS doubled_amount)).COLUMNS clause is entirely omitted,
GRAPH_TABLE returns all graph pattern variables present in the query
scope.COLUMNS clause to perform grouping and aggregation across the
rows of the resulting graph matches.You can join the result of GRAPH_TABLE with other standard BigQuery tables or
even other GRAPH_TABLE results using standard SQL semantics (e.g., JOIN,
LEFT JOIN).
To make a GRAPH_TABLE aware of variables from an earlier table in the FROM
clause, you can use parameterized GRAPH_TABLE. In the example below, a.id
from the Accounts table is passed into the GRAPH_TABLE scope:
SELECT
a.name,
g.total_amount
FROM Accounts AS a
JOIN GRAPH_TABLE(
<project>.<dataset>.<graph>
MATCH (src:Account {id: a.id})-[t:Transfers]->(dst:Account)
COLUMNS (SUM(t.amount) AS total_amount)
) AS gA subquery in BigQuery GQL is enclosed in braces {} and evaluates nested
operations within a linear query statement. While BigQuery Graph supports
subqueries, there are critical limitations and syntax differences compared to
standard GoogleSQL that you MUST adhere to.
In BigQuery Graph, unlike standard GoogleSQL, you MUST specify the graph
name within the subquery block. If the outer query uses GRAPH <project>.<dataset>.<graph>, the internal subquery must also explicitly
redeclare it.
MATCH (n1)
WHERE EXISTS {
-- REQUIRED: You must re-specify the graph name here
GRAPH <project>.<dataset>.<graph>
MATCH (n2)
WHERE n1 = n2
RETURN 1 as one
}Failure to include the graph name in the subquery will result in a job-server error.
Certain types of subqueries throw errors when used inside a WHERE clause
because BigQuery's query planner cannot decorrelate them if they act as join
predicates.
For the following subquery types, you CANNOT use the WHERE clause. You
MUST use the FILTER clause instead: EXISTS, IN, LIKE, and LIKE ANY/SOME/ALL subqueries.
INCORRECT (will throw error):
MATCH (p:Person) WHERE EXISTS { GRAPH
<project>.<dataset>.<graph> MATCH (p)-[:Owns]->(:Account) }CORRECT:
MATCH (p:Person) FILTER EXISTS { GRAPH
<project>.<dataset>.<graph> MATCH (p)-[:Owns]->(:Account) }ARRAY Subquery: Fully Supported. Evaluates the query block and returns
an array of the results.VALUE Subquery: Partially Supported. Evaluates the internal query and
returns a single scalar value. Limitation: VALUE subqueries throw
errors when correlated variables from the outer block are referenced inside
the VALUE subquery.EXISTS, IN, LIKE Subqueries: Partially Supported. Limitation:
Throw errors when correlated variables are used. Throw errors when used in
WHERE filter (Must use FILTER).Performance is a key consideration for highly connected BigQuery graphs. Adhere to these principles whenever writing GQL statements to ensure optimal execution.
Always write your path traversals so they originate from the lowest cardinality nodes (the most specific entities). This drastically reduces the intermediate result set sizes and speeds up execution, especially for variable-length traversals.
Account node and
traversing backwards to find the owner, start with the specific Person
node and traverse forward.Account {id: 7}) as
early as possible in your MATCH clause to prune the search space
immediately.You must explicitly provide node and edge labels when they are known (e.g.,
(a:Account)-[:Transfers]->(b:Account)).
While BigQuery attempts to infer labels from query usage, if inference fails or labels are omitted, the engine is forced to perform full table scans over multiple distinct underlying node/edge tables.
BigQuery Graph schema physical implementations are directional. You should
always specify a source and destination node for an edge (using -> or <-).
Although query pattern syntax allows for bidirectional or undirected path
traversal ((node)-[edge]-(node)), doing so incurs a severe implicit
performance penalty.
If you need to find an edge between two specific nodes regardless of direction,
DO NOT use a bidirectional pattern. Instead, use explicit directional
traversals combined with UNION ALL:
GOOD:
GRAPH <project>.<dataset>.<graph> MATCH (a1:Account
{id:10})-[t:Transfer]->(a2:Account {id: 20}) RETURN t UNION ALL MATCH
(a2:Account{id: 20})-[t:Transfer]->(a1:Account {id: 10}) RETURN tWhen possible without sacrificing readability or violating logic intent, prefer
composing a single comprehensive MATCH statement over chaining multiple
individual MATCH statements. A single statement allows the query optimizer a
wider global view of the graph pattern, often leading to better execution plans.
© google, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in src/google/adk/integrations/bigquery/skills/bigquery-graph of google/adk-python.
Open the folder on GitHubat commit 666c26d
Bigquery Graph next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bigquery Graph this skillgoogle/adk-python | 22k | — | ~4.8k | Automated safety check: Pass | Apache-2.0 | |
| Semantic Analystsidequery/sidemantic | 129 | — | ~982 | Automated safety check: Pass | AGPL-3.0 | |
| Analysis Artifactswarpdotdev/oz-skills | 825 | — | ~1.1k | Automated safety check: Pass | MIT | |
| SQL Queriesw95/awesome-claude-corporate-skills | 235 | 3 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Imaging Data CommonsK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~7.8k | Automated safety check: Pass | MIT | |
| Bigquery Basicsgoogle/skills | 21k | 1 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 |
sidequery/sidemantic
Answer analytical, KPI, metric, trend, cohort, and business-performance questions through a Sidemantic semantic layer.
warpdotdev/oz-skills
Generate reproducible analysis artifacts — SQL queries, Python visualizations, and summary tables — as you work through a BigQuery data analysis.
w95/awesome-claude-corporate-skills
Write correct, performant SQL across all major data warehouse dialects (Snowflake, BigQuery, Databricks, PostgreSQL, etc.).
K-Dense-AI/scientific-agent-skills
Queries and downloads public cancer imaging data from NCI Imaging Data Commons.
google/skills
Manages datasets, tables, and jobs in BigQuery. An agent skill from google/skills.
HybridAIOne/hybridclaw
Review and run read-only natural-language SQL against a customer data warehouse with cached schema introspection and explicit write grants.
google/adk-python
Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…
google/adk-python
Creates a new sample agent in the ADK Python repository — the sample directory, its agent.py, and its README.md — following the conventions the existing samples already use.
google/adk-python
Writes a hands-on developer guide for one ADK code unit — a minimal runnable example, how it works, a configuration-option table, advanced uses, limitations, and links to related samples — to…
google/adk-python
Writes commit messages and pull request descriptions for the adk-python repository: Conventional Commits types and scopes, subject lines that say why a change was made, and the linked-issue and…
google/adk-python
Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test…
google/adk-python
Builds ADK (Agent Development Kit) Python agents: LLM agents with tools, graph workflows of function and agent nodes, conditional routing, fan-out and join, schema-validated delegation between…
Works with
Categories
Skill for Graph Query Language (GQL) or SQL/PGQ queries against a property graph. Bigquery Graph is an agent skill from google/adk-python, published by the product's own GitHub organization. Skill for Graph Query Language (GQL) or SQL/PGQ queries against a property graph.
Bigquery Graph fits situations like: tasks that involve Data warehousing; tasks that involve Knowledge graphs; tasks that involve SQL.
Run `npx skills add google/adk-python --skill bigquery-graph -a claude-code`. Or copy the skill folder (src/google/adk/integrations/bigquery/skills/bigquery-graph in google/adk-python) into .claude/skills/bigquery-graph in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google/adk-python --skill bigquery-graph -a codex`. Or copy the skill folder (src/google/adk/integrations/bigquery/skills/bigquery-graph in google/adk-python) into .agents/skills/bigquery-graph in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google/adk-python --skill bigquery-graph -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bigquery-graph, .gemini/skills/bigquery-graph, .github/skills/bigquery-graph and .opencode/skills/bigquery-graph in your project.
SKILL.md names no scripts, command-line tools or credentials: Bigquery Graph is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Bigquery Graph is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Bigquery Graph: Semantic Analyst (sidequery/sidemantic, 129 stars), Analysis Artifacts (warpdotdev/oz-skills, 825 stars), SQL Queries (w95/awesome-claude-corporate-skills, 235 stars) and Imaging Data Commons (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
google (a GitHub organization, an official publisher) maintains it in google/adk-python, which has 21,729 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.
Source: google/adk-python on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.