Google Cloud Database Onboarding Skill
This skill provides domain instructions, decision matrices, and
Infrastructure-as-Code workflows to guide users through discovering their exact
database requirements, selecting an optimal Google Cloud database service, and
drafting starter resource provisioning code for user review.
Validation & Progressive Disclosure
A validation script is provided to verify the skill's reference files and
formatting:
python3 scripts/database_onboarding_skill.py --verify
- Reading / Progressive Disclosure: When interacting with a user during a
conversation, load reference files progressively. Follow the Just-in-Time
(JiT) loading instructions outlined in the phases below.
Workflow & Just-in-Time (JiT) Instructions
This workflow operates in three distinct sequential phases. Evaluate the active
conversation history to determine the current phase and follow the corresponding
instructions:
Phase 1: Requirement Discovery & Information Gathering
When a user asks "What database should I use?" or requires guidance on Google
Cloud database selection, you must initiate the Discovery phase.
- Load Discovery Instructions (JiT): Read the complete contents of
references/onboarding_prompts.md using view_file.
- Execute Discovery: Follow the detailed Phase 1 instructions in
onboarding_prompts.md to gather core requirements (data model, workload,
scale, and migration context) using user-friendly phrasing and enforcing
constraints (such as the 90% confidence rule) before proposing any
recommendation.
Phase 2: Recommendation Analysis & Matrix Consultation
Once you have gathered sufficient explicit discovery context, you must determine
the optimal Google Cloud database recommendation.
- Consult Matrix & Formulate Recommendation (JiT): Follow the Phase 2
instructions in
references/onboarding_prompts.md. This involves distilling
requirements, calling the database selection tool (or consulting
references/recommendation_matrix.txt directly if the tool is unavailable),
and formulating a single recommendation.
- Deliver Recommendation: Deliver the recommendation to the user, mapping
destination codes to plain English, explaining the reasoning, and offering
to help with provisioning as detailed in
onboarding_prompts.md.
Phase 3: Implementation & Provisioning (Plan-Validate-Execute Pattern)
When the user accepts the recommendation and requests to provision or modify
cloud resources, follow the Phase 3 instructions in
references/onboarding_prompts.md using a strict Plan-Validate-Execute pattern.
Limit your actions to creating and validating draft artifacts for user review.
Analyze the Workspace: Scan the user's workspace/open files/related
directories with database resources scripts.
Obtain User Confirmation: If the target infrastructure files are not
clear, ask the user explicitly to confirm the file paths or target directory
before modifying anything.
Draft Infrastructure Plan (Plan): Create or edit the necessary Terraform
configuration files or any other relevant scripts necessary to provision the
resources. When creating or editing Terraform files or any other database
resource provisioning script, you MUST:
- Add a stamped header comment at the top of every generated Terraform
file/ shell script or any other resource provisioning script. (e.g.,
# Generated with cloud onboarding skills selector @date, replacing
@date with the current date/timestamp).
- Add a custom default tag like
resource_generated_by = "cloud db onboarding skill" under the default_tags block or as a resource
label/tag.
- gcloud CLI Generation: When drafting
gcloud CLI commands or shell
scripts, you MUST follow the instructions in the gcloud skill
(../gcloud/SKILL.md). Specifically:
- Always use
gcloud beta command group for database provisioning
(e.g., gcloud beta <group> <resource> create).
- Validate leaf-level syntax using
gcloud help <leaf_command> prior
to proposing commands.
- Append explicit
--project=<PROJECT_ID> and explicit location flags
(--region, --zone, or --location).
- Use
--dry-run or --validate-only preview flags where supported.
- Include custom label/tag flags (e.g.
--labels=resource_generated_by=cloud_db_onboarding_skill) on
generated gcloud provisioning commands.
- Do NOT include
--quiet (-q): Provisioning commands are
drafted for interactive human user review and execution, so do NOT
include non-interactive --quiet or -q flags.
- No Live Write Execution: The skill MUST ONLY draft provisioning
commands or code for user review and MUST NOT execute mutating/write
infrastructure operations directly.
Validate Infrastructure Code (Validate): Before finalizing, you must
validate the drafted infrastructure code to verify syntax and configuration
correctness. Why this matters: Validating Terraform code ensures that
configuration blocks, IAM bindings, and instance sizing are
syntax-error-free and strictly enforceable before code review.
Create Pull Request (Execute): Once validation succeeds with zero
errors, automatically create a Pull request containing the validated
Terraform/shell/scripts updates for user review. Leave live infrastructure
changes (terraform apply or gcloud commands) to human review or
automated CI/CD pipelines.
Supporting Resources & Documentation
1---2name: cloud-databases-onboarding3description: Guides users through discovering their database requirements, recommends a Google Cloud database based on a recommendation matrix, and assists in database creation. Use when a user asks 'What database service should I use?', 'Help me pick a database', or when a user wants to create a new database on Google Cloud. Don't use for general Google Cloud maintenance, managing existing databases, or database migrations.4---56# Google Cloud Database Onboarding Skill78This skill provides domain instructions, decision matrices, and9Infrastructure-as-Code workflows to guide users through discovering their exact10database requirements, selecting an optimal Google Cloud database service, and11drafting starter resource provisioning code for user review.1213## Validation & Progressive Disclosure1415A validation script is provided to verify the skill's reference files and16formatting:1718```bash19python3 scripts/database_onboarding_skill.py --verify20```2122* **Reading / Progressive Disclosure:** When interacting with a user during a23 conversation, load reference files progressively. Follow the Just-in-Time24 (JiT) loading instructions outlined in the phases below.2526--------------------------------------------------------------------------------2728## Workflow & Just-in-Time (JiT) Instructions2930This workflow operates in three distinct sequential phases. Evaluate the active31conversation history to determine the current phase and follow the corresponding32instructions:3334### Phase 1: Requirement Discovery & Information Gathering3536When a user asks `"What database should I use?"` or requires guidance on Google37Cloud database selection, you must initiate the Discovery phase.38391. **Load Discovery Instructions (JiT):** Read the complete contents of40 `references/onboarding_prompts.md` using `view_file`.412. **Execute Discovery:** Follow the detailed Phase 1 instructions in42 `onboarding_prompts.md` to gather core requirements (data model, workload,43 scale, and migration context) using user-friendly phrasing and enforcing44 constraints (such as the 90% confidence rule) before proposing any45 recommendation.4647### Phase 2: Recommendation Analysis & Matrix Consultation4849Once you have gathered sufficient explicit discovery context, you must determine50the optimal Google Cloud database recommendation.51521. **Consult Matrix & Formulate Recommendation (JiT):** Follow the Phase 253 instructions in `references/onboarding_prompts.md`. This involves distilling54 requirements, calling the database selection tool (or consulting55 `references/recommendation_matrix.txt` directly if the tool is unavailable),56 and formulating a single recommendation.572. **Deliver Recommendation:** Deliver the recommendation to the user, mapping58 destination codes to plain English, explaining the reasoning, and offering59 to help with provisioning as detailed in `onboarding_prompts.md`.6061### Phase 3: Implementation & Provisioning (Plan-Validate-Execute Pattern)6263When the user accepts the recommendation and requests to provision or modify64cloud resources, follow the Phase 3 instructions in65`references/onboarding_prompts.md` using a strict **Plan-Validate-Execute** pattern.66Limit your actions to creating and validating draft artifacts for user review.67681. **Analyze the Workspace:** Scan the user's workspace/open files/related69 directories with database resources scripts.702. **Obtain User Confirmation:** If the target infrastructure files are not71 clear, ask the user explicitly to confirm the file paths or target directory72 before modifying anything.733. **Draft Infrastructure Plan (Plan):** Create or edit the necessary Terraform74 configuration files or any other relevant scripts necessary to provision the75 resources. When creating or editing Terraform files or any other database76 resource provisioning script, you MUST:7778 * Add a stamped header comment at the top of every generated Terraform79 file/ shell script or any other resource provisioning script. (e.g., `#80 Generated with cloud onboarding skills selector @date`, replacing81 `@date` with the current date/timestamp).82 * Add a custom default tag like `resource_generated_by = "cloud db83 onboarding skill"` under the `default_tags` block or as a resource84 label/tag.85 * **gcloud CLI Generation**: When drafting `gcloud` CLI commands or shell86 scripts, you MUST follow the instructions in the `gcloud` skill87 (`../gcloud/SKILL.md`). Specifically:88 * Always use `gcloud beta` command group for database provisioning89 (e.g., `gcloud beta <group> <resource> create`).90 * Validate leaf-level syntax using `gcloud help <leaf_command>` prior91 to proposing commands.92 * Append explicit `--project=<PROJECT_ID>` and explicit location flags93 (`--region`, `--zone`, or `--location`).94 * Use `--dry-run` or `--validate-only` preview flags where supported.95 * Include custom label/tag flags (e.g.96 `--labels=resource_generated_by=cloud_db_onboarding_skill`) on97 generated `gcloud` provisioning commands.98 * **Do NOT include `--quiet` (`-q`)**: Provisioning commands are99 drafted for interactive human user review and execution, so do NOT100 include non-interactive `--quiet` or `-q` flags.101 * **No Live Write Execution**: The skill MUST ONLY draft provisioning102 commands or code for user review and MUST NOT execute mutating/write103 infrastructure operations directly.1041054. **Validate Infrastructure Code (Validate):** Before finalizing, you must106 validate the drafted infrastructure code to verify syntax and configuration107 correctness. *Why this matters:* Validating Terraform code ensures that108 configuration blocks, IAM bindings, and instance sizing are109 syntax-error-free and strictly enforceable before code review.1101115. **Create Pull Request (Execute):** Once validation succeeds with zero112 errors, automatically create a Pull request containing the validated113 Terraform/shell/scripts updates for user review. Leave live infrastructure114 changes (`terraform apply` or `gcloud` commands) to human review or115 automated CI/CD pipelines.116117--------------------------------------------------------------------------------118119## Supporting Resources & Documentation120121- [Google Cloud Databases Overview](https://cloud.google.com/products/databases.md.txt)122- [gcloud CLI Skill](../gcloud/SKILL.md)