agentsclimarketplace

Bq assess

Skill aws-samples/sample-bigquery-to-aws-migration/skills/bq-assess

Assess BigQuery warehouses for migration to AWS. Triggers on: assess BigQuery migration, BigQuery to Redshift, BigQuery to AWS lakehouse, estimate migration complexity from BigQuery, analyze BigQuery warehouse for migration, migrate BQ to Redshift. Runs a 3-phase process: preflight environment check, scan via the bq-assess CLI, interpret the JSON assessment report and point the user to the generated HTML report. Do not use for: general BigQuery query tuning, Redshift administration, AWS-to-GCP reverse migrations, non-GCP warehouse assessments, Phase 2 migration execution (data load DML or Iceberg DDL deployment).From its SKILL.md

Install
npx -y skills add aws-samples/sample-bigquery-to-aws-migration --skill bq-assess

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.0 KB, as published. Nobody here has run it

bq-assess Skill

Philosophy

  • Read-only. No AWS commitment required. The assessment scans metadata and query logs; it does not provision resources or modify the BigQuery project.
  • Directional cost numbers. Savings estimates are conversation starters, not authoritative quotes. Always present them as approximate.
  • Query logs are optional. When logs are unavailable, confidence drops to LOW. Surface this explicitly — never hide the gap.
  • Defer architectural redesign. Schema changes, Iceberg partition/sort-order decisions, and migration execution belong to the user and the AWS account team, not this skill.

Definitions

  • "Load" = read the file with the Read tool and follow its instructions.
  • $REPORTS_DIR = output directory for CLI run (default reports/).

Prerequisites

Before running, the user must have:

  • bq-assess on PATH (or be willing to install it)
  • gcloud on PATH with ADC configured (gcloud auth application-default login)

State Machine

After every phase completion, consult this table to determine the next action. Each row maps to loading exactly one phase file.

Current stateCondition to leaveNext statePhase file to load
preflightEnv checks pass AND gcp_project collectedscanLoad references/phases/scan.md
scanCLI exits 0 AND landing JSON report existsinterpretLoad references/phases/interpret.md
scanCLI exits non-zerostay in scanFollow Error Routing below
interpretSummary presented AND HTML report path surfacedterminalSkill complete
anyUser says "stop" or "cancel"terminalExit immediately. Do not run the CLI or write files.

Entry points:

  • Any trigger phrase → load references/phases/preflight.md to begin the preflight phase.

Phase order is monotonic: phases advance strictly forward (preflight → scan → interpret). The only backward edge is error routing from scan back to preflight for credential failures. Cancellation exits from any phase.

Error Routing

When the CLI exits non-zero during the scan phase, match stderr against these patterns in order. On the first match, take the listed action.

ConditionDetectionSkill action
Missing bigquery.jobs.listAllNot an error path. The CLI exits 0 and degrades silently. Detect after a successful run: cost.estimate_basis in the landing JSON contains "No workload data"Do not report the run as clean. Follow "Workload Data Unavailable" in references/phases/scan.md: warn that cost confidence is reduced, then offer (1) grant roles/bigquery.resourceViewer and re-run, or (2) continue as-is. --query-logs <path> stays available if logs are already exported
Missing bigquery.metadataViewerScannerError from validate_credentials()Route back to preflight auth step. Load references/phases/preflight.md and resume at authentication verification.
ADC expiredgoogle.auth.exceptions.RefreshError in stderrRoute back to preflight. Show: gcloud auth application-default login
No tables foundCLI exits with "No tables found. Nothing to assess."Prompt user to check the --datasets filter or verify the project ID is correct.
Unknown fatalNon-zero exit, no pattern match aboveShow stderr verbatim. Offer two choices: retry or cancel.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.