From looker
Creates git branches, project directories, LookML files, and boilerplate views from database tables in Looker projects. Requires dev mode.
npx claudepluginhub gemini-cli-extensions/looker --plugin lookerThis skill uses the workspace's default tool permissions.
All scripts can be executed using Node.js. Replace `<param_name>` and `<param_value>` with actual values.
scripts/create_git_branch.jsscripts/create_project_directory.jsscripts/create_project_file.jsscripts/create_view_from_table.jsscripts/delete_git_branch.jsscripts/delete_project_directory.jsscripts/delete_project_file.jsscripts/dev_mode.jsscripts/get_connection_databases.jsscripts/get_connection_schemas.jsscripts/get_connection_table_columns.jsscripts/get_connection_tables.jsscripts/get_connections.jsscripts/get_git_branch.jsscripts/get_lookml_tests.jsscripts/get_project_directories.jsscripts/get_project_file.jsscripts/get_project_files.jsscripts/get_projects.jsscripts/health_analyze.jsConducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
All scripts can be executed using Node.js. Replace <param_name> and <param_value> with actual values.
Bash:
node <skill_dir>/scripts/<script_name>.js '{"<param_name>": "<param_value>"}'
PowerShell:
node <skill_dir>/scripts/<script_name>.js '{\"<param_name>\": \"<param_value>\"}'
Note: The scripts automatically load the environment variables from various .env files. Do not ask the user to set vars unless skill executions fails due to env var absence.
This skill is used to create a new git branch of a LookML project. This only works in dev mode.
Parameters:
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The project_id | Yes | |
| branch | string | The git branch to create | Yes | |
| ref | string | The ref to use as the start of a new branch. Defaults to HEAD of current branch if not specified. | No | `` |
This skill creates a new directory within a specified LookML project.
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
Output: A confirmation message upon successful directory creation.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project | Yes | |
| directory_path | string | The path to create in the project | Yes |
This skill creates a new LookML file within a specified project, populating it with the provided content.
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
Output: A confirmation message upon successful file creation.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project containing the files | Yes | |
| file_path | string | The path of the file within the project | Yes | |
| file_content | string | The content of the file | Yes |
This skill generates boilerplate LookML views directly from the database schema. It does not create model or explore files, only view files in the specified folder.
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
schema and table_name (note: table names are case-sensitive). Optional fields include primary_key, base_view, and columns (array of objects with column_name).Output: A confirmation message upon successful view generation, or an error message if the operation fails.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project to create the view in. | Yes | |
| connection | string | The database connection name. | Yes | |
| tables | array | The tables to generate views for. |
Each item must be a map with:
- schema (string, required)
- table_name (string, required)
- primary_key (string, optional)
- base_view (boolean, optional)
- columns (array of objects, optional): Each object must have 'column_name' (string). | Yes | |
| folder_name | string | The folder to place the view files in (e.g., 'views'). | No | views |
This skill is used to delete a git branch of a LookML project. This only works in dev mode.
Parameters:
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The project_id | Yes | |
| branch | string | The git branch to delete | Yes |
This skill permanently deletes a specified directory within a LookML project.
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
Output: A confirmation message upon successful directory deletion.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project | Yes | |
| directory_path | string | The path to delete in the project | Yes |
This skill permanently deletes a specified LookML file from within a project. Use with caution, as this action cannot be undone through the API.
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
Output: A confirmation message upon successful file deletion.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project containing the files | Yes | |
| file_path | string | The path of the file within the project | Yes |
This skill allows toggling the Looker IDE session between Development Mode and Production Mode. Development Mode enables making and testing changes to LookML projects.
Parameters:
true: Switches the current session to Development Mode.false: Switches the current session to Production Mode.| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| devMode | boolean | Whether to set Dev Mode. | No | true |
This skill retrieves a list of databases available through a specified Looker connection.
This is only applicable for connections that support multiple databases.
Use get_connections to check if a connection supports multiple databases.
Parameters:
get_connections.Output: A JSON array of strings, where each string is the name of an available database. If the connection does not support multiple databases, an empty list or an error will be returned.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| conn | string | The connection containing the databases. | Yes |
This skill retrieves a list of database schemas available through a specified Looker connection.
Parameters:
get_connections.Output: A JSON array of strings, where each string is the name of an available schema.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| conn | string | The connection containing the schemas. | Yes | |
| db | string | The optional database to search | No |
This skill retrieves a list of columns for one or more specified tables within a given database schema and connection.
Parameters:
get_connections.get_connection_schemas.get_connection_tables.get_connections).Output:
A JSON array of objects, where each object represents a column and contains details
such as table_name, column_name, data_type, and is_nullable.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| conn | string | The connection containing the tables. | Yes | |
| db | string | The optional database to search | No | |
| schema | string | The schema containing the tables. | Yes | |
| tables | string | A comma separated list of tables containing the columns. | Yes |
This skill retrieves a list of tables available within a specified database schema through a Looker connection.
Parameters:
get_connections.get_connection_schemas.get_connections).Output: A JSON array of strings, where each string is the name of an available table.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| conn | string | The connection containing the tables. | Yes | |
| db | string | The optional database to search | No | |
| schema | string | The schema containing the tables. | Yes |
This skill retrieves a list of all database connections configured in the Looker system.
Parameters: This skill takes no parameters.
Output: A JSON array of objects, each representing a database connection and including details such as:
name: The connection's unique identifier.dialect: The database dialect (e.g., "mysql", "postgresql", "bigquery").default_schema: The default schema for the connection.database: The associated database name (if applicable).supports_multiple_databases: A boolean indicating if the connection can access multiple databases.This skill is used to retrieve the current git branch of a LookML project.
Parameters:
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The project_id | Yes |
Returns a list of tests which can be run to validate a project's LookML code and/or the underlying data, optionally filtered by the file id.
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
models/my_model.model.lkml or views/my_view.view.lkml).Output: A JSON array of LookML test objects, each containing:
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The unique ID of the LookML project. | Yes | |
| file_id | string | Optional ID of the file to filter tests by. This must be the complete file path from the project root (e.g., 'models/my_model.model.lkml'). | No |
This skill retrieves the list of directories within a specified LookML project.
Parameters:
Output: A JSON array of strings, where each string is the name of a directory within the project.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project | Yes |
This skill retrieves the raw content of a specific LookML file from within a project.
Parameters:
get_projects.get_project_files.Output: The raw text content of the specified LookML file.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project containing the files | Yes | |
| file_path | string | The path of the file within the project | Yes |
This skill retrieves a list of all LookML files within a specified project, providing details about each file.
Parameters:
get_projects.Output:
A JSON array of objects, each representing a LookML file and containing
details such as path, id, type, and git_status.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project containing the files | Yes |
This skill retrieves a list of all LookML projects available on the Looker instance. It is useful for identifying projects before performing actions like retrieving project files or making modifications.
Parameters: This skill takes no parameters.
Output:
A JSON array of objects, each containing the project_id and project_name
for a LookML project.
This skill calculates the usage statistics for Looker projects, models, and explores.
Parameters:
"projects", "models", or "explores".project if used without explore.model if used.90 days.1.Output: The result is a JSON object containing usage metrics for the specified resources.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| action | string | The analysis to run. Can be 'projects', 'models', or 'explores'. | Yes | |
| project | string | The Looker project to analyze (optional). | No | |
| model | string | The Looker model to analyze (optional). | No | |
| explore | string | The Looker explore to analyze (optional). | No | |
| timeframe | integer | The timeframe in days to analyze. | No | 90 |
| min_queries | integer | The minimum number of queries for a model or explore to be considered used. | No | 0 |
This skill performs various health checks on a Looker instance.
Parameters:
check_db_connections: Verifies database connectivity.check_dashboard_performance: Assesses dashboard loading performance.check_dashboard_errors: Identifies errors within dashboards.check_explore_performance: Evaluates explore query performance.check_schedule_failures: Reports on failed scheduled deliveries.check_legacy_features: Checks for the usage of legacy features.Note on check_legacy_features:
This action is exclusively available in Looker Core instances. If invoked
on a non-Looker Core instance, it will return a notice rather than an error.
This notice should be considered normal behavior and not an indication of an issue.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| action | string | The health check to run. Can be either: check_db_connections, check_dashboard_performance,check_dashboard_errors,check_explore_performance,check_schedule_failures, or check_legacy_features | Yes |
This skill identifies and suggests LookML models or explores that can be safely removed due to inactivity or low usage.
Parameters:
"models" or "explores".project if used without explore.model if used.90 days.1.Output: A JSON array of objects, each representing a model or explore that is a candidate for deletion due to low usage.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| action | string | The vacuum action to run. Can be 'models', or 'explores'. | Yes | |
| project | string | The Looker project to vacuum (optional). | No | `` |
| model | string | The Looker model to vacuum (optional). | No | `` |
| explore | string | The Looker explore to vacuum (optional). | No | `` |
| timeframe | integer | The timeframe in days to analyze. | No | 90 |
| min_queries | integer | The minimum number of queries for a model or explore to be considered used. | No | 1 |
This skill is used to retrieve the list of available git branches of a LookML project.
Parameters:
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The project_id | Yes |
This skill runs LookML tests in the project, filtered by file, test, and/or model. These filters work in conjunction (logical AND).
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
models/my_model.model.lkml or views/my_view.view.lkml).Output: A JSON array containing the results of the executed tests, where each object includes:
message, file_path, line_number, and severity.| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project to run LookML tests for. | Yes | |
| file_id | string | Optional id of the file to run tests for. | No | |
| test | string | Optional name of the test to run. | No | |
| model | string | Optional name of the model to run tests for. | No |
This skill is used to switch the git branch of a LookML project. This only works in dev mode.
Parameters:
reset --hard on a switch operation.| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The project_id | Yes | |
| branch | string | The git branch to switch to | Yes | |
| ref | string | The ref to switch the branch to using reset --hard. | No | `` |
This skill modifies the content of an existing LookML file within a specified project.
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
Output: A confirmation message upon successful file modification.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project containing the files | Yes | |
| file_path | string | The path of the file within the project | Yes | |
| file_content | string | The content of the file | Yes |
This skill checks a LookML project for syntax errors.
Prerequisite: The Looker session must be in Development Mode. Use dev_mode: true first.
Parameters:
Output: A list of error details including the file path and line number, and also a list of models that are not currently valid due to LookML errors.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project_id | string | The id of the project to validate | Yes |