CtrlK
BlogDocsLog inGet started
Tessl Logo

bigquery-bigframes

Generates Python code using BigQuery DataFrames (BigFrames), the pandas/scikit-learn-style API over BigQuery. Use when writing BigFrames code or doing pandas-style dataframe/ML work against BigQuery (e.g. in a notebook). Don't use for SQL-first workflows or the google-cloud-bigquery client library — use bigquery-basics.

64

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/cloud/bigquery-bigframes/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized, concise, and actionable practices catalog with excellent progressive disclosure through descriptive reference links. Its main gap is the absence of an explicit, checkpointed workflow in the body — the sequenced ML flow is deferred to reference files.

Suggestions

Add a short ordered workflow in the body (import → set ordering_mode='partial' → load via read_gbq → clean/transform → for ML: create_model → evaluate → predict) so the canonical sequence is visible without opening a reference file.

Add a validation checkpoint after model training (e.g. inspect bbq.ml.evaluate(model_name) metrics before persisting with model.to_gbq()) to give the ML workflow an explicit feedback loop.

Surface a one-line pointer to the reference workflow at the top of the 'Machine Learning' section (e.g. 'End-to-end example: see references/linear_regression.md') so the sequenced example is discoverable from the body.

DimensionReasoningScore

Conciseness

The body is a lean practices list where most bullets state a rule plus a one-clause rationale that earns its place (e.g. why head() fails in partial ordering mode); the only trimmable bit is the opening 'BigFrames is a Python library that lets you take advantage of BigQuery data processing...' line, which is minor over-explanation, placing it just below the fully-lean anchor 5.

4 / 5

Actionability

It provides concrete method names throughout (peek(), head(), to_pandas(), .dtypes, .str.upper(), model.to_gbq()) plus two inline code blocks and pointer references to full executable examples; a few ML bullets are guidance-only without inline code (e.g. 'Sort data chronologically and split around a timepoint'), so it is mostly-but-not-fully copy-paste ready.

4 / 5

Workflow Clarity

The body is a practices catalog with an implied order (import, set ordering mode, then operate) and a mini-sequence for ARIMA Plus, but no explicit end-to-end workflow with validation checkpoints; the sequenced load→clean→train→evaluate→predict flow lives in the reference files rather than the body, matching the 'steps present but checkpoints missing/implicit' anchor.

3 / 5

Progressive Disclosure

A clear overview with well-signaled one-level-deep references: the 'Reference Directory' section links to verified files (references/linear_regression.md, references/logistic_regression.md) with descriptive labels, and content is appropriately split (practices inline, full ML examples external), matching the 'clear overview with well-signaled one-level-deep references' anchor.

5 / 5

Total

16

/

20

Passed

Description

82%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that clearly states what the skill does, when to use it, and when not to use it relative to a sibling skill. Its only weakness is that it names one primary action rather than enumerating several specific capabilities.

DimensionReasoningScore

Specificity

The description names the domain ('BigQuery DataFrames (BigFrames), the pandas/scikit-learn-style API over BigQuery') and one concrete action ('Generates Python code') with 'dataframe/ML work' as scope, but does not enumerate several specific actions, matching the 'names domain and 1-2 concrete actions' anchor rather than the multi-action anchor 4.

3 / 5

Completeness

It explicitly answers what ('Generates Python code using BigQuery DataFrames (BigFrames)...') and when ('Use when writing BigFrames code or doing pandas-style dataframe/ML work against BigQuery (e.g. in a notebook)') with concrete trigger phrases, and adds exclusion guidance, matching the anchor that requires both with concrete triggers.

5 / 5

Trigger Term Quality

It covers the synonym pair 'BigQuery DataFrames'/'BigFrames' plus natural terms 'pandas-style', 'dataframe', 'ML work', and 'notebook' a user would say, giving good keyword coverage; a few natural variations (e.g. 'pandas on BigQuery', 'scikit-learn on BigQuery') are absent, so it sits below the comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche (pandas/scikit-learn-style BigFrames API) and explicitly avoids sibling conflict ('Don't use for SQL-first workflows or the google-cloud-bigquery client library — use bigquery-basics'), matching the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
google/skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.