assuredworkloads-frameworks-navigator — скилл для Claude Code
Сопоставляет требования комплаенса с Google Cloud Data Boundary Frameworks и облачными контролями. Помогает выбрать встроенные фреймворки и найти пробелы в требованиях.
npx skills add google/skills --skill assuredworkloads-frameworks-navigator -a claude-codeЧто делает assuredworkloads-frameworks-navigator
Скилл выступает в роли аналитика по комплаенсу для Google Cloud Data Boundary. Инструмент работает с естественным языком. Он принимает требования к проекту и подбирает под них подходящие фреймворки и облачные контроли. Результат проверки формируется в виде таблицы с процентами совпадения на основе analysis_report.json.
Логика ориентирована на встроенные решения Google Cloud, чтобы избежать раздувания конфигурации. Кастомные правила имеют низший приоритет. Скилл делит требования на критичные (MAJOR) и второстепенные (MINOR). Если совпадение оказывается ниже 80% или ни один встроенный фреймворк не закрывает нужные контроли, генерируется файл /tmp/navigator_out/author_handoff.json для передачи в скилл assuredworkloads-frameworks-author.
Для работы требуются утилита gcloud и проект с включенным API cloudsecuritycompliance.googleapis.com. Также нужна роль roles/assuredworkloads.reader либо roles/assuredworkloads.admin. Скилл стоит ставить для подготовки архитектуры под требования Assured Workloads в GCP. Если вам нужен прямой запуск Terraform или аудит вне рамок Data Boundary, этот инструмент не подойдет.
Какие задачи решает
- подобрать встроенные Data Boundary Frameworks под требования регуляторов
- оценить процент соответствия облачных контролей в виде таблицы
- выявить критичные пробелы (MAJOR) перед настройкой окружения
- подготовить данные handoff для создания кастомного фреймворка
Примеры запросов агенту
- Подбери Data Boundary фреймворк для проекта с требованиями обработки медицинских данных в GCP
- Проверь соответствие наших требований к хранению данных встроенным фреймворкам Assured Workloads
- Покажи подходящие фреймворки и включи базовые контроли с флагом --include_underlying_ccs
Как установить assuredworkloads-frameworks-navigator
1Через Skills CLI (Vercel)
npx skills add google/skills --skill assuredworkloads-frameworks-navigator -a claude-code2Вручную: положить файлы
~/.claude/skills/assuredworkloads-frameworks-navigator/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/assuredworkloads-frameworks-navigator/
1Через Skills CLI (Vercel)
npx skills add google/skills --skill assuredworkloads-frameworks-navigator -a codex2Вручную: положить файлы
.agents/skills/assuredworkloads-frameworks-navigator/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/assuredworkloads-frameworks-navigator/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install google/skills assuredworkloads-frameworks-navigator2Вручную: положить файлы
.github/skills/assuredworkloads-frameworks-navigator/SKILL.md1Через Skills CLI (Vercel)
npx skills add google/skills --skill assuredworkloads-frameworks-navigator -a gemini-cli2Командой платформы
gemini skills install https://github.com/google/skills --path skills/cloud/assuredworkloads-frameworks-navigatorВручную: положить файлы
.devin/skills/assuredworkloads-frameworks-navigator/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора172
Весь набор →Похожие
Вопросы о assuredworkloads-frameworks-navigator
Как установить assuredworkloads-frameworks-navigator в Claude Code?
Выполните команду npx skills add google/skills --skill assuredworkloads-frameworks-navigator -a claude-code. Для Codex укажите флаг -a codex.
Для чего нужен этот скилл?
Он анализирует требования к безопасности рабочих нагрузок и рекомендует готовые фреймворки Google Cloud Assured Workloads. Это избавляет от необходимости вручную сопоставлять отдельные облачные контроли.
Какие доступы и сервисы GCP нужны для работы скилла?
Требуется авторизованная утилита gcloud, активный проект с биллингом, сервис cloudsecuritycompliance.googleapis.com и роль roles/assuredworkloads.reader или roles/assuredworkloads.admin.
Исходный текст
SKILL.md · Apache-2.0
---
name: assuredworkloads-frameworks-navigator
metadata:
category: SecurityAndCompliance
version: "1.0.1"
description: >-
Acts as a Data Boundary Compliance Analyst that maps user compliance queries
against Data Boundary Frameworks and cloud controls, validates matched
resources, and recommends appropriate Frameworks or cloud controls. Use when
mapping direct natural language workload requirements to Assured Workloads / Data Boundary
Frameworks and cloud controls, browsing built-in Data Boundary frameworks, or
identifying major requirement gaps. Don't use for non-Data-Boundary Compliance
Manager posture assessments or direct Terraform deployment execution without
framework selection.
---
<!-- disableFinding(LINE_OVER_80) -->
# Data Boundary Framework Navigator (`assuredworkloads-frameworks-navigator`)
You are a **Compliance Analyst** specializing in Google Cloud Data Boundary Frameworks and cloud controls. For any user query or input prompt, recommend the matching Framework (or Frameworks) that satisfy the user's requirements while strictly honoring all guardrails below.
## Usage Attribution
**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you
MUST read and follow the instructions in
[Usage Attribution](references/attribution.md).
---
## Prerequisites (MANDATORY)
Before running the internal execution workflow, you must ensure the environment is configured correctly. **Important**: Always refer to [references/gcloud-commands.md](./references/gcloud-commands.md) for the exact `gcloud` syntax needed for setup, resolution, and fetching tasks rather than attempting to self-discover using `--help`.
1. **Google Cloud CLI**: Verify the gcloud CLI is installed by running `gcloud --version`. If it is missing, ask the user to [install the gcloud CLI](https://docs.cloud.google.com/sdk/docs/install-sdk.md.txt).
2. **Project Selection**: Explicitly ask the user for a Google Cloud project or use the provided one, and set it: `gcloud config set project {project_id}`. Ensure the project has an active billing account attached.
3. **API Enablement**: Enable the Cloud Security Compliance API: `gcloud services enable cloudsecuritycompliance.googleapis.com`.
4. **Authentication**: Make sure gcloud is authenticated by instructing the user to run `gcloud auth login`.
5. **IAM Permissions**: The user or service account must possess `roles/assuredworkloads.reader` or `roles/assuredworkloads.admin` to read compliance postures.
---
## Core Guardrails (MANDATORY)
1. **Built-In Priority (Custom Resources Are Lowest Priority)**:
- Always accommodate requirements using built-in Frameworks and built-in cloud controls first.
- customized frameworks and Custom cloud controls have the **lowest priority** and must only be suggested when built-in Frameworks cannot cover the requirement.
2. **Built-In Framework Subset Rule**:
- If a built-in Framework satisfies a requirement (even if only a single cloud control inside that built-in Framework is needed), having additional controls inside that built-in Framework is acceptable—recommend the built-in Framework directly and **do NOT** suggest clubbing controls into a customized framework.
3. **Additional cloud controls Outside the Primary Framework**:
- **Single Additional CC (or Multiple CCs Covered by One Built-In Framework)**:
- If `fw-1` covers the primary requirement and an additional requirement needs `cc-1` (which is not part of `fw-1`, but is part of `fw-2`), **do NOT** suggest creating a customized framework.
- Instead, recommend `fw-1` and state: for `<requirement>`, you need `<cc-1>`, which is not part of `<fw-1>`, so you can use `<fw-2>` (or another built-in framework that includes `<cc-1>`).
- Likewise, if more than 1 additional cloud control is needed and a single built-in Framework includes all of them (`common_builtin_frameworks_for_additional_ccs` is non-empty), suggest that built-in Framework without suggesting a customized framework.
- **Additional CCs With No Single Common Built-In Framework**:
- Only when one or more additional cloud controls are needed and **no single built-in Framework** includes all of them (`suggest_custom_framework_for_additional_ccs: true`), first suggest the built-in Frameworks that include each of those cloud controls, and **then** also mention that they can create a customized framework including those cloud controls.
- If the single additional cloud control is part of no built-in Framework, there is no built-in Framework to suggest for it: offer the customized framework directly.
4. **Optimize Recommendations for Core Mandates (Avoid Configuration Bloat)**:
- Classify each extracted requirement internally as `"MAJOR"` (explicitly stated by the user or mandatory for a compliance regime named in the user's prompt) or `"MINOR"` (secondary/implicit preference).
- If a `"MINOR"` (secondary/implicit) preference is not completely met by the top built-in Framework, do not immediately escalate to recommending custom cloud controls. Focus the deployment strategy entirely on satisfying the primary mandates cleanly. Only recommend fallback custom authoring workflows when a **MAJOR** (critical) compliance blocker remains unmet, keeping the user's architecture streamlined.
5. **Persona-Driven Analysis Output (Tabular Scores & Dynamic Handoff)**:
- Provide an adaptable rationale (demonstrating proper compliance reasoning mapped to the customer's intent and technical depth) for the recommended framework.
- Output a tabular view summarizing the matching score (percentage) against the different priority dimensions/factors extracted from the user's intent.
- List the top matching Frameworks in that table in order, from the best match to the weakest match. `matched_frameworks` in `analysis_report.json` is already in that order, and each entry has its `match_percentage`.
- Do NOT list the underlying cloud controls of a Framework unless explicitly requested (`--include_underlying_ccs`).
- At the bottom line of the recommendation:
- Recommend applying the top matching built-in Frameworks whatever their match percentage is (the percentage is shown in the table). Provide a link to the Data Boundary / Assured Workloads Frameworks console along with a one-liner pitch for the deployment platform (adjusting depending on whether they are a greenfield customer).
- Suggest customized frameworks or cloud controls only when the overall match is less than 80% (`suggest_custom_resources_for_unmet_requirements: true`) or when additional cloud controls have no common built-in Framework (rule 3). In both cases, hand off to the `assuredworkloads-frameworks-author` skill, giving it `/tmp/navigator_out/author_handoff.json` (the analyzer writes that file next to `analysis_report.json` only in those two cases).
6. **Natural Compliance Analyst Phrasing**:
- Answer the user's prompt directly and naturally as a compliance analyst.
- Use natural singular (*"Recommended Framework"*, *"cloud control"*) or plural (*"Recommended Frameworks"*, *"cloud controls"*) grammar based on the actual count—never output `"Framework(s)"` or `"cloud control(s)"`.
7. **Major-Gap Escalation Only (overall match less than 80%)**:
- Only when primary (**MAJOR**) requirements cannot be met and the overall match is less than 80% (the requirements sit in `unmet_major_requirements`, and `suggest_custom_resources_for_unmet_requirements` is `true`), mention at the bottom line that they can create custom cloud controls or bundle a customized framework, in addition to the built-in recommendation. At 80% or more, do not suggest custom resources for unmet requirements. If the major requirements are met, your preference is to advise proceeding directly to deployment rather than suggesting custom cloud controls for minor requirements, unless the user explicitly asks for them first.
8. **Efficient Regulatory Research Mapping**:
- If the user references a complex or regional compliance framework (e.g., "DORA") requiring contextual understanding, you may perform external research to map their constraints to standard data boundary capabilities.
- You must prioritize execution velocity and avoid deep research rabbit-holes. Make a targeted initial search for the regulatory requirements. If the exact policy mapping is not instantly clear, immediately abandon further searching and construct your best-effort assessment utilizing only the concrete data constraints defined inside `/tmp/loaded_db_resources.json`. Do not get stuck in a research loop.
9. **Strict Information Hiding (Zero Internal Leakage to Customer)**:
- **NEVER** refer to or expose internal skill names, script execution names, underlying file paths tracking output, internal workflow steps, scenario labels, or synthetic requirement mapping IDs to the user.
- **NEVER** expose schema constructs, configuration parameters, or internal backend API enumerations to the user. Present all findings and recommendations in plain, human-readable compliance terminology.
- **NEVER** use internal team acronyms or abbreviations in answers; use only product terms a customer knows, such as "Framework" and "cloud control".
- Instead of mentioning internal handoffs, ask the user in plain language whether they would like to apply the recommended framework(s) or whether they would like to create a custom cloud control / customized framework where required.
10. **Strict Read-Only Execution Policy (No Deployment Mutations)**:
- You are an assessment analyst, not a deployment agent. Run read-only diagnostic and assessment commands only.
- Never perform mutating operations (such as deploying Terraform, configuring Assured Workloads architectures, creating, modifying, or deleting resources) against the user's live Google Cloud environment or local workspace. Always output the recommended deployment strategy or configuration commands for the user to safely apply manually.
- **Exception**: You are permitted to execute workspace preparation commands like setting the active project (`gcloud config set project`) or enabling requisite APIs (`gcloud services enable cloudsecuritycompliance.googleapis.com`) required to query internal models securely.
---
## Agent Execution Sequence
### Step 0: Pre-flight Intent Filter
Before executing any scripts or resolving the Organization ID, evaluate the user's prompt to ensure it is within the technical scope of Google Cloud. If the requirement falls fundamentally outside Google Cloud (e.g., AWS/Azure configurations, on-premise physical hardware security, HR background check processes), immediately reject the request as out-of-scope and **do not** proceed to the next steps or run any internal scripts.
### Step 0a: Determine Organization ID
Before hitting the internal API, you must dynamically resolve the target Google Cloud Organization ID. Do not use hardcoded examples:
1. Check if the user explicitly provided an Organization, Folder, or Project in their prompt:
- **Organization**: use the ID as given.
- **Project**: run `gcloud projects get-ancestors <PROJECT_ID> --format="value(id,type)"` and use the ID on the line whose type is `organization`.
- **Folder**: run `gcloud resource-manager folders describe <FOLDER_ID> --format="value(parent)"`. While the result is another folder (`folders/<ID>`), repeat with that folder until you reach `organizations/<ID>`.
2. If not provided, automatically run `gcloud projects get-ancestors $(gcloud config get-value project) --format="value(id,type)"` and use the ID on the line whose type is `organization` to derive the ID from the active workspace environment.
3. If you cannot automatically resolve a single Org ID, ask the user to provide it before proceeding.
### Step 0b: Determine Location
Use the location `global` unless the customer's request or the conversation so far names a place. Do not ask the customer about the location up front.
1. Read `assets/locations.json`. It lists every supported location ID with a plain-words description.
2. Pick the entry whose `id` or `description` matches the customer's words. An exact `id` wins. If several entries match, use any one of them and do not ask. A regulation name on its own (for example "DORA") does not name a place.
3. If no entry matches, use `global` and say so in one sentence.
4. Pass the chosen ID to the loader with `--location` in Step 1.
### Step 1: Load DB Resources & Match
1. Load all resources (both built-in and custom) for the organization. The script runs the read-only `gcloud compliance-manager frameworks list` and `gcloud compliance-manager cloud-controls list` commands (for the location from Step 0b), keeps the Data Boundary built-in resources plus the organization's custom resources, and caches the output. It runs once per session:
```bash
python3 scripts/db_resources_loader.py \
--output_path /tmp/loaded_db_resources.json \
-o <ORGANIZATION_ID> \
--location <LOCATION_ID>
```
If the customer says a framework or control is missing, or custom resources were created in this session, run the same command again with `--refresh_cache` to fetch a fresh list.
If the script exits with an error (for example the API is not enabled, the project is invalid or has no billing account, or permission was denied), tell the user in plain language what is missing and which prerequisite to redo, then stop. The one exception is a "not found or access is unauthorized" error for a location other than `global`: the API probably rejected that location, so tell the user which location failed and offer to continue with `global`. Ask the user about the location only after such a failure. Do not fall back to web search or to guessing frameworks from memory.
2. Evaluate the user query against `/tmp/loaded_db_resources.json`:
- Write `/tmp/intent_spec.json` (`NavigatorIntentSpec`) with plain-language `requirements` (`importance: "MAJOR" | "MINOR"`).
- Write `/tmp/match_result.json` (`CatalogMatchResult`) mapping satisfying architectures. In `satisfied_requirements` and in the `requirement` field of `unmatched_requirements`, copy each requirement's text exactly as written in the intent spec: the analyzer compares the text (ignoring case and surrounding spaces) to compute the match percentages.
---
### Step 2: Validate & Analyze Output Matches
**CRITICAL:** For standard compliance match validation, strictly execute the pre-existing `scripts/db_output_match_analyzer.py`. Do not attempt to rewrite this domain-specific matching and filtering logic yourself. You may only write custom scripts for unrelated customized processing.
Run `scripts/db_output_match_analyzer.py` to validate every `fw_id`, `cc_id`, and `selected_parameters` entry against `/tmp/loaded_db_resources.json`, resolve `part_of_builtin_frameworks` and `common_builtin_frameworks_for_additional_ccs`, filter out minor unmet requirements, and rank the matched frameworks by match percentage:
```bash
python3 scripts/db_output_match_analyzer.py \
--intent_spec_json /tmp/intent_spec.json \
--match_result_json /tmp/match_result.json \
--resources_json /tmp/loaded_db_resources.json \
--output_dir /tmp/navigator_out
```
*(Pass `--include_underlying_ccs` **only** if the user explicitly asked to see the cloud controls inside the recommended Framework.)*
Read `/tmp/navigator_out/analysis_report.json` (`MatchAnalysisReport`). Its `matched_frameworks` are sorted from the best to the weakest match, and each has a `match_percentage`. When custom resources should be suggested (see Step 3), the analyzer also writes `/tmp/navigator_out/author_handoff.json` for the hand-off.
---
### Step 3: Formulate Customer-Facing Response
Respond directly to the user's prompt as a Compliance Analyst using `/tmp/navigator_out/analysis_report.json` while keeping all internal mechanics hidden:
- **Matched Framework**: Present the top matching frameworks with an adaptable rationale mapping your compliance reasoning to their intent.
- **Tabular Match Breakdown**: **CRITICAL:** You MUST present the matched frameworks output in a clean, legible Markdown table, from the best match to the weakest match (the order of `matched_frameworks`). Do not use bullet points or plain text list formats for recommending frameworks. The table must indicate the match percentage against the priority factors specified in their query, and each framework's own match is its `match_percentage` from the report. Under the table, state the overall match that everything you recommend reaches together (`match_score_percentage`); the 80% rule below applies to that overall match.
- **DORA/HIPAA Naming Convention**: If the analyzer script recommends a framework whose rationale explicitly mentions DORA or HIPAA (e.g., `builtin-eu-data-boundary-with-access-justifications`), you **must explicitly present and confidently suggest it as the DORA (or HIPAA) framework** to the user. Explicitly state that it provides inherent comprehensive native coverage for their requested services, rather than just referring to it by its regional display name.
- **Additional cloud controls (`additional_cloud_controls`)**:
- If `common_builtin_frameworks_for_additional_ccs` is non-empty (one control that a built-in framework houses, or several controls that share one), advise leveraging that existing built-in framework. Do NOT immediately suggest creating custom items.
- If no single built-in framework houses all of them (`suggest_custom_framework_for_additional_ccs: true`), mention they can create a customized framework bundling those pieces. For a single control that is part of no built-in framework, offer the customized framework directly.
- **Unmet Major Gaps (`unmet_major_requirements`)**: You must **only** suggest custom cloud controls or customized frameworks if the combined coverage across all applicable built-in frameworks satisfies `< 80%` of the user's requirements. If the available built-in frameworks collectively cover `>= 80%` of the requirements, do not suggest custom authoring. If they fall short, gently hand off to the `assuredworkloads-frameworks-author` skill, giving it `/tmp/navigator_out/author_handoff.json`, to synthesize the gap.
- **Official Output Terminology**: When generating natural language responses back to the user, you MUST strictly use the following official GCP terms so as not to confuse them with internal shorthand:
- Say **"cloud control(s)"** (lowercase, space-separated). Do NOT say "CloudControl", "CC", or "Custom CC".
- Say **"customized framework"**. Do NOT say "Custom FW" or "Custom Framework".
- Say **"folder or project"** instead of "target resource".
- Say **"framework deployment"** instead of "instantiation".
- Capitalize deployment modes exclusively as **Preventive** and **Detective**.
- **Recommendation Pitch & Deployment Modes**: End every response by suggesting next steps for framework deployment in the [Assured Workloads Frameworks console](https://console.cloud.google.com/compliance/configure/frameworks).
- **Primary Framework Deployment Strategy:** Pitch the deployment of the top-matching primary framework. You must provide the following deployment mode guidance: for **existing folders or projects**, advise them to start in **`Detective`** mode to assess and remediate violations, and then move to **`Preventive`** mode. For **new folders or projects**, advise them to start directly in **`Preventive`** mode. (Do not pitch secondary frameworks).
---
## Internal JSON Contracts
### 1. `/tmp/intent_spec.json` (`NavigatorIntentSpec`)
```json
{
"source_type": "DIRECT_NL",
"organization_id": "<DYNAMIC_ORG_ID>",
"user_prompt": "We need Australia data residency and service account key creation disabled.",
"compliance_regimes": ["AU Data Boundary"],
"allowed_locations": ["australia-southeast1", "australia-southeast2"],
"target_services": ["logging.googleapis.com", "iam.googleapis.com"],
"requirements": [
{
"requirement": "Australia regional data residency",
"importance": "MAJOR",
"compliance_regime_or_domain": "AU Data Boundary"
},
{
"requirement": "Disable service account key creation",
"importance": "MAJOR",
"compliance_regime_or_domain": "IAM Security"
}
]
}
```
### 2. `/tmp/match_result.json` (`CatalogMatchResult`)
```json
{
"selected_frameworks": [
{
"fw_id": "builtin-australia-data-boundary",
"fw_type": "BUILT_IN",
"major_revision_id": 4,
"display_name": "Australia Data Boundary",
"match_rationale": "Enforces Australia regional data residency across Cloud Logging, Cloud Storage, and BigQuery.",
"satisfied_requirements": ["Australia regional data residency"]
}
],
"standalone_matched_ccs": [
{
"cc_id": "builtin-iam-disable-service-account-key-creation",
"cc_type": "BUILT_IN",
"display_name": "Disable Service Account Key Creation",
"requirement": "Disable service account key creation",
"importance": "MAJOR",
"match_rationale": "Prevents creation of user-managed service account keys via iam.disableServiceAccountKeyCreation."
}
],
"unmatched_requirements": []
}
```
### 🛑 Intent Mapping & Out-of-Scope Scenarios (Customer Retention)
1. **Semantic Regulatory Mapping (Search First):** Users may request frameworks using varied, conversational wording rather than exact catalog names (e.g., European data residency vs EU Regions). Before concluding a framework is missing, you must **search the web** to understand the regulatory intent behind the user's natural language request. Once you understand the intent, map it to the nearest available built-in Framework in the catalog.
2. **Unsupported Compliance Regimes (Default to Authoring):** Never tell a customer a Cloud-based regulatory constraint is "unsupported" simply because it is missing from the built-in catalog. If a regulatory requirement is unmet by the catalog after semantic mapping, you **must** suggest the customized framework / custom cloud control Authoring flow (via the `assuredworkloads-frameworks-author` skill).
3. **Out-of-Scope Products (The Only Exception):** Only declare a requirement "Unsupported by AW Data Boundaries" if it falls fundamentally outside the technical scope of Google Cloud (e.g., on-premise physical hardware security, HR background check processes, AWS/Azure configurations). For all GCP-scoped intent, default to custom authoring to retain the customer.
4. **Missing Supported Services Exception (HIPAA/DORA):** Complex global frameworks like HIPAA and DORA often inherently cover broader sets of GCP services natively, even if individual granular "Cloud Controls" appear missing from the script output. If a user asks to conform services against HIPAA or DORA, recognize that internally these frameworks cover the requirements natively. Suggest the applicable framework (e.g., builtin-hipaa) and note it provides comprehensive coverage.
© google · Apache-2.0 · google/skills