CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

data-autocleaning

Automated data quality and transformation capabilities for Dataform/dbt/BigQuery pipelines. Processes data sourced from BigQuery or Cloud Storage (GCS), applying best practices for data ingestion, movement, schema mapping, and comprehensive data cleaning.

Quality

74%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/data-autocleaning/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

73%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.

The body excels at workflow structure: a fully sequenced profile → plan → transform → verify pipeline with explicit feedback loops, quantitative thresholds, evidence checklists, and gating cautions, plus a ready-to-run scanner command. It is held back by noticeable redundancy (the scan-denial contingency stated four times, duplicated normalization rules) and a few non-executable SQL references. Tightening the repetition and moving type-specific detail into reference files would make an already strong skill leaner.

Suggestions

State the scan-denial contingency once in a single 'If scan approval is denied' note instead of repeating it in Steps 1, 1.5, 3, and 3.5.

Extract the duplicated normalization rules ('Only trim whitespace... PRESERVE CASE. DO NOT perform case conversions') into one shared section instead of repeating them verbatim in the Array and STRUCT sections.

Replace the non-BigQuery ARRAY_FILTER/ARRAY_TRANSFORM lambda syntax with the valid UNNEST-based forms (e.g., ARRAY(SELECT e FROM UNNEST(arr) AS e WHERE e IS NOT NULL)) and add the concrete bq commands for fetching schema and sample data.

DimensionReasoningScore

Conciseness

The body avoids teaching known concepts and is dense with instructions, but the scan-denial contingency ("If scan execution was denied by the user, document the denial reason") is repeated nearly verbatim in Steps 1, 1.5, 3 and 3.5, and the normalization rule ("Only trim whitespace on string fields. Make sure to PRESERVE CASE") is duplicated verbatim in both the Array and STRUCT sections. The approval-presentation template ("Value Add: Enables deep data analysis...") is also padded, so this fits 'mostly efficient but could be tightened' rather than the 'minor instances' of anchor 4.

3 / 5

Actionability

Gives a copy-paste scanner command ("python3 scripts/dataplex_scanner.py --tables <project.dataset.table> ... --location <location> --output-dir <output_dir>"), concrete thresholds (">1% increase compared to source", "max 1M rows, 1-hour TTL"), specific SQL functions (SAFE.PARSE_JSON, JSON_VALUE_ARRAY, ARRAY(SELECT DISTINCT ...)), and ready-made markdown evidence templates. It falls short of 5 because "Use `bq` commands to fetch schema and sample data" specifies no actual commands, and "ARRAY_FILTER(array_column, e -> e IS NOT NULL)" / "ARRAY_TRANSFORM" use lambda syntax that is not valid BigQuery, though valid UNNEST/ARRAY_AGG alternatives are given alongside.

4 / 5

Workflow Clarity

The Step 1 → Step 4 sequence has explicit validation checkpoints ("Fix any runtime errors and re-run until the query succeeds"), error-recovery feedback loops ("Identify/ Fix/ Repeat: Re-run Step 3 until the anomaly is resolved"), quantitative anomaly thresholds, evidence checklists, and progression gates ("Do not proceed to implementation until both sections are completed"). This matches the top anchor — explicit validation, feedback loops, and checklists for a complex process; the half-step numbering (1.5, 3.5) is cosmetic only.

5 / 5

Progressive Disclosure

The body is well-sectioned with clear headers, and its single bundle file is real and clearly signaled one level deep ("Run the scripts/dataplex_scanner.py script located in the same directory as this SKILL.md file ... Use --help to learn more"), with no nested references. It is not a 5 because all ~260 lines of guidance are inlined in SKILL.md with no content split into reference files — the type-specific cleaning rules (JSON/Array/STRUCT) and the scanner approval template are candidates for extraction.

4 / 5

Total

16

/

20

Passed

Description

61%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.

The description communicates the domain clearly (GCP data pipelines) with strong platform keywords and recognizable action areas, giving it good distinctiveness. However, it lacks an explicit 'Use when' trigger clause and leans on generic category terms and buzzwords ('applying best practices', 'comprehensive') rather than the skill's distinctive operations like Dataplex profiling and SQL cleansing transformation generation. Adding trigger phrasing and naming the concrete operations would lift both completeness and specificity.

Suggestions

Add an explicit trigger clause, e.g., 'Use when copying, moving, ingesting, extracting, or cleaning data sourced from BigQuery or Cloud Storage (GCS)'.

Replace buzzword hedges ('applying best practices', 'comprehensive') with the skill's concrete operations — Dataplex data profiling, SQL cleansing transformation generation, and pre/post-transformation profile comparison.

Include natural trigger synonyms users would say, such as 'clean data', 'data profiling', or 'deduplicate', to broaden keyword coverage.

DimensionReasoningScore

Specificity

The description lists action areas ("data ingestion, movement, schema mapping, and comprehensive data cleaning") but these are generic category labels wrapped in buzzword hedges ("applying best practices", "comprehensive"), and the skill's distinctive concrete operations — Dataplex profiling, SQL cleansing transformation generation, pre/post profile comparison — are never named. It exceeds anchor 3's '1-2 concrete actions' in count but falls below anchor 4's 'specific actions' in concreteness, so the gaps in coverage are not minor.

3 / 5

Completeness

It clearly answers 'what' ("Processes data sourced from BigQuery or Cloud Storage (GCS), applying best practices for data ingestion, movement, schema mapping, and comprehensive data cleaning") but contains no 'Use when...' clause or equivalent explicit trigger guidance — the 'when' is only weakly implied by the platform mentions, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Strong natural keywords users would actually say: "BigQuery", "Cloud Storage (GCS)", "Dataform/dbt", and "data cleaning" / "schema mapping". Not a 5 because common variations and synonyms are missing (e.g., 'clean data', 'data profiling', 'dedupe', 'load data'); not a 3 because the platform names alone provide genuinely good keyword coverage.

4 / 5

Distinctiveness Conflict Risk

Platform-specific anchors ("Dataform/dbt/BigQuery pipelines", "BigQuery or Cloud Storage (GCS)") establish a clear GCP data-engineering niche with only minor overlap risk against generic data-cleaning/ETL skills. Not a 5 because "data quality and transformation capabilities" is a broad phrase and the description lacks the distinct explicit trigger phrases of the top anchor.

4 / 5

Total

14

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

saski/arnesto

Path

.agents/skills/data-autocleaning/SKILL.md

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.