* initial version of a FAST pre-install skill * first round of testing * Update fast-0-org-setup-prereqs skill with improved UX and local path handling - Add explicit lockout warning and stop condition if the user is not a member of the provided Admin Principal group. - Streamline bootstrap project selection to only prompt for an override if the active gcloud project is rejected. - Restrict dataset discovery strictly to the `fast/stages/0-org-setup/datasets/` directory. - Improve location handling by referencing `defaults.schema.json` for Standard GCP and auto-configuring fixed regions for GCD. - Add comprehensive `local_path` management: prompt for customization, create directories, move `defaults.yaml` to the local data folder, and symlink `0-org-setup.auto.tfvars` back to the stage directory. * add testing scenarios, implement initial changes for scenario 2 * move skills * move to a skills/fast subfolder * Refactor fast-0-org-setup prereqs skill * Add skill-turn-harness utility tool * Use relative markdown links for skill references * Use descriptive titles for markdown links in skill references * Add descriptions to each phase in the prerequisites workflow map * Use backslash for markdown line breaks in skill map * Update README security warning to mention default .gitignore * shebang * Update fast prereqs skill rules to force sequential question flow and refine harness tool with proper ctrl+c handling and slugified log paths * Move playbook-gcp-dev.yaml to fast/prerequisites/gcp-dev.yaml and update fast prerequisites * docs(skill-turn-harness): detail autonomous pond testing approach * docs(skill-turn-harness): add final_state_checks to pond architecture and update toc * Refine fast prereqs SKILL and gcp-dev playbook to strictly align with one-question-at-a-time rule * feat(skill-turn-harness): update playbook schema for autonomous persona mode * feat(skill-turn-harness): implement autonomous persona testing mode and fallback logic * docs(skill-turn-harness): document the three modes of testing and update ToC * implement timeout, schema validation, configurable cli * chore: remove accidentally committed log files * chore: ignore logs directory * feat(skill-harness): implement tool execution interception, configurable workspace, and modularized validation * feat(skill-harness): add model configuration and update README * fix(skill-harness): automatically inject -y flag to gemini commands * docs(skill-harness): add TODO.md with analysis for skill environment dependencies * feat(skill-harness): add working_dir support and clean up fixtures - Implement working_dir in harness to run tests in specific directories. - Rename test fixtures and playbooks to be more descriptive. - Add E2E test for working_dir. - Apply code quality improvements to harness.py (imports, linting). - Update README with working directory considerations and usage notes. - Update phase3-bootstrap-and-iam.md skill doc to add execution rule against creating temp scripts. * fix: capture customer_id and respect relative paths * Implement isolated temp workspace sandboxing with symlinks in test harness * Configure GCD manual autonomous playbook and align Phase 3/4 steps order * Fix linting and schema tests failures - Add missing license headers to tools/skill-turn-harness files. - Fix trailing spaces and newlines in playbooks. - Ignore tools directory in schema tests workflow. TAG=agy CONV=1bb75453-c3e2-448b-bae9-8e332a068012 * Fix Python formatting with yapf TAG=agy CONV=1bb75453-c3e2-448b-bae9-8e332a068012 * Refactor skill-turn-harness to use Antigravity SDK - Migrated harness from gemini-cli subprocesses to Antigravity SDK. - Implemented real-time step streaming and console logging. - Added color-coded terminal output (dark gray headers, blue inputs, pink outputs). - Collapsed excessive newlines in streamed thoughts. - Excluded harness codebase from workspace copy to prevent agent cheating. - Enabled skills folder copy to resolve agent lookup loops. - Added key validation and CLI --debug flag. * Fix autonomous turn layout: print Turn ID before execution - Moved the [Autonomous Turn X] header print to before running the agent turn. - This groups the real-time thinking and tool calls under the correct Turn ID block, instead of displaying them before the label. * Remove obsolete .log.md from prerequisites skill directory
79 lines
4.7 KiB
YAML
79 lines
4.7 KiB
YAML
# Copyright 2026 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# yaml-language-server: $schema=../../playbook.schema.json
|
|
name: "FAST 0-org-setup Prereqs - GCD Custom Manual Flow (Autonomous)"
|
|
timeout: 300
|
|
agent_model: "gemini-3.5-flash"
|
|
evaluator_model: "gemini-3.5-flash"
|
|
tmpdir:
|
|
link_paths:
|
|
- fast
|
|
- modules
|
|
- tools
|
|
- skills
|
|
- .yamllint
|
|
- GEMINI.md
|
|
- AGENTS.md
|
|
- README.md
|
|
- FACTORIES.md
|
|
persona:
|
|
initial_user_input: "Hi, please activate the fast-0-org-setup-prereqs skill and guide me through the setup."
|
|
context: >
|
|
You are a GCP developer setting up FAST in a Google Cloud Dedicated (GCD) environment.
|
|
Your target environment is Google Cloud Dedicated (GCD).
|
|
You prefer the agent to output commands for you to execute manually.
|
|
Since the execution mode is manual, the agent will output commands for you to run. Whenever it does, pretend you executed them successfully and tell the agent to proceed (e.g., say "Done", "I ran it", or "OK" to continue).
|
|
You are using a Custom GCD Universe (not S3NS or Berlin). When asked about the universe, reply that it is "Custom". Do not volunteer the universe details all at once. Wait for the agent to ask for each attribute individually, and then provide:
|
|
- For Universe Web Domain: custom.cloud.domain
|
|
- For Universe API Domain: custom-apis.domain
|
|
- For Universe Name: custom-gcd
|
|
- For Universe Prefix: cust
|
|
- For Universe Region: u-custom-region1
|
|
Confirm the compiled list of 5 universe values is correct when presented.
|
|
You are NOT authenticated with Google Cloud. When the agent asks for the workforce pool audience string, provide '//iam.googleapis.com/locations/global/workforcePools/my-pool/providers/my-provider'. When the agent outputs WIF login commands, pretend you run them successfully and confirm you are authenticated.
|
|
You want to use a Single User for the Admin Principal (Approach B). When the agent asks you to run the command to get your current principal, provide 'principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@custom.cloud.domain'.
|
|
When asked for Organization ID, provide the Org ID '1092874262642' directly (and state there is no domain).
|
|
When asked for Billing Account ID, provide "012345-6789AB-CDEF01".
|
|
Your access level to the billing account is Scenario 3 (No Access). Confirm you want to proceed despite the warnings.
|
|
You do not have a pre-existing project for the bootstrap project. When the agent instructs you to create one, tell it you created it and the Project ID is "my-custom-bootstrap-project".
|
|
Confirm the configuration dataset is 'classic-gcd'.
|
|
Your base location is automatically set to u-custom-region1.
|
|
Your local path for output files is custom-fast-config.
|
|
You do not have any additional static context values.
|
|
When the agent instructs you to run fast-links.sh, pretend you run it and it outputs the linking commands. Then pretend you run those linking commands successfully.
|
|
When asked to check for existing organization policies, pretend the command output returned "constraints/compute.disableSerialPortAccess".
|
|
Do not volunteer information unless explicitly asked. Answer only the question asked by the agent.
|
|
max_turns: 30
|
|
success_criteria:
|
|
llm_checks:
|
|
- "The agent explicitly provided the final wrap-up instructions containing the commands 'terraform init' and 'terraform apply'."
|
|
files_exist:
|
|
- "custom-fast-config/0-org-setup.auto.tfvars"
|
|
- "custom-fast-config/providers/0-org-setup-providers.tf"
|
|
- "custom-fast-config/data/0-org-setup/defaults.yaml"
|
|
files_contain:
|
|
"custom-fast-config/data/0-org-setup/defaults.yaml":
|
|
- "billing_account: 012345-6789AB-CDEF01"
|
|
- "id: 1092874262642"
|
|
- "domain: custom-apis.domain"
|
|
- "prefix: cust"
|
|
- "primary: u-custom-region1"
|
|
- "gcp-organization-admins: principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@custom.cloud.domain"
|
|
"custom-fast-config/providers/0-org-setup-providers.tf":
|
|
- "universe_domain"
|
|
- "custom-apis.domain"
|
|
"custom-fast-config/0-org-setup.auto.tfvars":
|
|
- "org_policies_imports"
|