skills/writing-and-planning/copywriting/document-editorial/composio-skills/googlebigquery-automation/SKILL.md
Automate Google BigQuery tasks via Rube MCP (Composio): run SQL queries, explore datasets and metadata, execute MBQL queries via Metabase integration. Always search tools first for current schemas.
npx skillsauth add lunartech-x/superpowers googlebigquery-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run SQL queries, explore database schemas, and analyze datasets through the Metabase integration using Rube MCP (Composio).
Toolkit docs: composio.dev/toolkits/googlebigquery
RUBE_MANAGE_CONNECTIONS with toolkit metabaseRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit metabaseNote: BigQuery data is accessed through Metabase, a business intelligence tool that connects to BigQuery as a data source. The tools below execute queries and retrieve metadata through Metabase's API.
Use METABASE_POST_API_DATASET with type native to execute raw SQL queries against your BigQuery database.
Tool: METABASE_POST_API_DATASET
Parameters:
- database (required): Metabase database ID (integer)
- type (required): "native" for SQL queries
- native (required): Object with "query" string
- query: Raw SQL string (e.g., "SELECT * FROM users LIMIT 10")
- template_tags: Parameterized query variables (optional)
- constraints: { "max-results": 1000 } (optional)
Use METABASE_POST_API_DATASET with type query for Metabase Query Language queries with built-in aggregation and filtering.
Tool: METABASE_POST_API_DATASET
Parameters:
- database (required): Metabase database ID
- type (required): "query" for MBQL
- query (required): Object with:
- source-table: Table ID (integer)
- aggregation: e.g., [["count"]] or [["sum", ["field", 5, null]]]
- breakout: Group-by fields
- filter: Filter conditions
- limit: Max rows
- order-by: Sort fields
Use METABASE_POST_API_DATASET_QUERY_METADATA to retrieve metadata about databases, tables, and fields available for querying.
Tool: METABASE_POST_API_DATASET_QUERY_METADATA
Parameters:
- database (required): Metabase database ID
- type (required): "query" or "native"
- query (required): Query object (e.g., {"source-table": 1})
Use METABASE_POST_API_DATASET_NATIVE to convert an MBQL query into its native SQL representation.
Tool: METABASE_POST_API_DATASET_NATIVE
Parameters:
- database (required): Metabase database ID
- type (required): "native"
- native (required): Object with "query" and optional "template_tags"
- parameters: Query parameter values (optional)
Use METABASE_GET_API_DATABASE to discover all database connections configured in Metabase.
Tool: METABASE_GET_API_DATABASE
Description: Retrieves a list of all Database instances configured in Metabase.
Note: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.
Use METABASE_GET_API_DATABASE_ID_METADATA to retrieve complete table and field information for a specific database.
Tool: METABASE_GET_API_DATABASE_ID_METADATA
Description: Retrieves complete metadata for a specific database including
all tables and fields.
Note: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.
METABASE_GET_API_DATABASE to find database IDs, then METABASE_GET_API_DATABASE_ID_METADATA to explore tables and fields, then METABASE_POST_API_DATASET to run queries.METABASE_POST_API_DATASET with type: "native" and write standard SQL queries for maximum flexibility.template_tags in native queries for safe parameterization (e.g., SELECT * FROM users WHERE id = {{user_id}}).METABASE_POST_API_DATASET_QUERY_METADATA to understand table structures before building complex queries.METABASE_POST_API_DATASET_PARAMETER_VALUES to retrieve possible values for filter dropdowns.database parameter is a Metabase-internal integer ID, not the BigQuery project or dataset name. Use METABASE_GET_API_DATABASE to find valid database IDs first.source-table in MBQL queries is also a Metabase-internal integer, not the BigQuery table name. Discover table IDs via metadata tools.max-results in constraints defaults can limit returned rows. Set explicitly for large result sets.METABASE_POST_API_DATASET contain results nested under data -- parse carefully as the structure may be deeply nested.aggregation, breakout, and filter arrays must be integers obtained from metadata responses.| Action | Tool | Key Parameters |
|--------|------|----------------|
| Run SQL query | METABASE_POST_API_DATASET | database, type: "native", native.query |
| Run MBQL query | METABASE_POST_API_DATASET | database, type: "query", query |
| Get query metadata | METABASE_POST_API_DATASET_QUERY_METADATA | database, type, query |
| Convert to SQL | METABASE_POST_API_DATASET_NATIVE | database, type, native |
| Get parameter values | METABASE_POST_API_DATASET_PARAMETER_VALUES | parameter, field_ids |
| List databases | METABASE_GET_API_DATABASE | (see full schema via RUBE_SEARCH_TOOLS) |
| Get database metadata | METABASE_GET_API_DATABASE_ID_METADATA | (see full schema via RUBE_SEARCH_TOOLS) |
Powered by Composio
tools
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
testing
Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.
development
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Requires a free API key from alphavantage.co.
development
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.