iam-helper-for-troubleshooting — Claude Code skill: IAM
Diagnoses Google Cloud IAM access denials and routes developers or administrators toward a controlled fix. Useful when a request returns 403 or a permission is missing.
npx skills add google/skills --skill iam-helper-for-troubleshooting -a claude-codeWhat iam-helper-for-troubleshooting does
The skill has two operating modes. Requester Flow captures error context, supports self-service PAM activation, allows remediation when the caller has elevated access, or creates a structured escalation ticket. Resolver Flow is for Security Admin and Cloud IAM Admin work: it evaluates allow and deny policies, finds least-privilege roles, and provisions access through PAM or IAM.
It includes separate requester and resolver guides, approval guardrails, Policy Troubleshooter material, and MCP usage guidance. The flow stops when access is already granted, the policy state is unknown because group expansion is unavailable, or a command returns PERMISSION_DENIED. Role searches require user confirmation, and role provisioning requires explicit approval.
Install it when an agent needs a controlled way to investigate Google Cloud IAM access. It is unnecessary for a simple policy read with no remediation step.
What it helps with
- trace a 403 response for a Google Cloud resource
- check why an IAM permission is missing
- start a temporary PAM activation for a developer
- find a least-privilege role for the requested access
- prepare an administrator ticket for an access denial
Example prompts for the agent
- Investigate this Google Cloud 403 and choose the right requester or resolver flow.
- Check the IAM access and ask for confirmation before searching for candidate roles.
- Activate PAM access if the required permissions and approval are available.
How to install iam-helper-for-troubleshooting
1Skills CLI (Vercel)
npx skills add google/skills --skill iam-helper-for-troubleshooting -a claude-code2Manually: put the files in place
~/.claude/skills/iam-helper-for-troubleshooting/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/iam-helper-for-troubleshooting/
1Skills CLI (Vercel)
npx skills add google/skills --skill iam-helper-for-troubleshooting -a codex2Manually: put the files in place
.agents/skills/iam-helper-for-troubleshooting/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/iam-helper-for-troubleshooting/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install google/skills iam-helper-for-troubleshooting2Manually: put the files in place
.github/skills/iam-helper-for-troubleshooting/SKILL.md1Skills CLI (Vercel)
npx skills add google/skills --skill iam-helper-for-troubleshooting -a gemini-cli2Platform CLI
gemini skills install https://github.com/google/skills --path skills/cloud/iam-helper-for-troubleshootingManually: put the files in place
.devin/skills/iam-helper-for-troubleshooting/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set172
The whole set →Similar
Questions about iam-helper-for-troubleshooting
How do I install iam-helper-for-troubleshooting in Claude Code?
Run npx skills add google/skills --skill iam-helper-for-troubleshooting -a claude-code. The skill file is placed at ~/.claude/skills/iam-helper-for-troubleshooting/SKILL.md.
What does iam-helper-for-troubleshooting do?
It diagnoses Google Cloud IAM access denials and routes the request through requester or resolver flow. It can evaluate policies, assist with PAM, and prepare the next remediation step with approval controls.
Why does the skill stop when the access state is UNKNOWN?
UNKNOWN or UNKNOWN_INFO means the check lacks permissions to expand group membership, including roles/browser. The skill ends the flow instead of running secondary policy queries.
Source text
SKILL.md · Apache-2.0
--- name: iam-helper-for-troubleshooting metadata: version: "1.0.3" category: Security description: >- Diagnoses, remediates, and manages Identity and Access Management (IAM) access issues on Google Cloud. Supports two distinct operational modes: (1) Requester Flow for developers encountering access denials (capturing error context, self-service PAM JIT activations, elevated developer self-remediation, or logging structured tickets), and (2) Resolver Flow for privileged administrators (authoritative Policy Troubleshooter analysis, deny policy exemptions, least-privilege role discovery, and PAM/IAM provisioning). --- # IAM Access Troubleshooter & Remediation Orchestrator on Google Cloud You are an expert Google Cloud Security and IAM assistant. You diagnose access denial errors and orchestrate the appropriate resolution path depending on the caller's persona and privileges. ## 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). ## Mode Selection Guide Identify the caller's context to select the appropriate operational mode: | Mode | Target Persona / Context | Primary Actions | Reference Guide | | :--- | :--- | :--- | :--- | | **Mode 1: Requester Flow** | Developer, Service Account, or requester blocked by an access denial | Captures Error ID, runs self-diagnosis, self-activates PAM JIT grants, self-remediates (if elevated), or logs structured tickets. | [`references/requester.md`](references/requester.md) | | **Mode 2: Resolver Flow** | Security Admin, Cloud IAM Admin, or agent handling an escalated access ticket | Authoritatively evaluates allow/deny policies, creates deny exemptions, discovers minimal roles, and provisions PAM/IAM access. | [`references/resolver.md`](references/resolver.md) | ### Routing Rules 1. **Follow Mode 1 (Requester Flow) if:** * You are executing an end-user development task, encounter a 403 / Error ID, and need to perform self-service PAM activation or produce an internal escalation ticket for an administrator. * 📖 **Reference Guide:** Read and follow [`references/requester.md`](references/requester.md) for detailed execution steps. 2. **Follow Mode 2 (Resolver Flow) if:** * The user asks you to troubleshoot access, investigate a missing permission, find candidate roles, or resolve an access denial on a Google Cloud resource. * 📖 **Reference Guide:** Read and follow [`references/resolver.md`](references/resolver.md) for detailed execution steps. 3. **Default Behavior:** * Default to **Mode 2 (Resolver Flow)** for troubleshooting access denials and missing permissions across Google Cloud resources. Read and follow [`references/resolver.md`](references/resolver.md) for detailed execution steps. --- ## Safety Guardrails & Approval Policy All access modifications and role provisioning operations are governed by the approval tiers and safety boundaries defined in [`references/guardrails.md`](references/guardrails.md): * **Human-in-the-Loop (HITL):** All role provisioning operations (read-only, mutating, and administrative roles) require explicit human approval before execution. High-risk administrative roles require an explicit high-risk warning. * **Access Already Granted Rule:** When policy evaluation determines `accessState: GRANTED` (or access is already granted via inherited allow policies), inform the user that the IAM permission configuration is correct and **terminate the troubleshooting flow immediately**. Do NOT search for roles, suggest role queries, or propose role bindings. * **Role Discovery Gating:** Always ask the user for confirmation before executing queries to list or search candidate roles. Only list roles after receiving user confirmation in a subsequent turn. * **Unknown Access State / Group Expansion Rule:** When policy evaluation returns `accessState: UNKNOWN` or `UNKNOWN_INFO` (due to missing permissions to expand group memberships like `roles/browser`), explain that access is unknown due to missing group expansion permissions (`roles/browser`), and **terminate the troubleshooting flow immediately**. Do NOT run secondary queries or probe alternative policies. * **Anti-Loop & Permission Denied:** If troubleshooting commands encounter `PERMISSION_DENIED` on the caller's identity (HTTP 403), stop immediately without querying roles or running alternative commands. If the user requested replying with "Permission Denied" or the role name, reply immediately with "Permission Denied". > [!NOTE] > Organizations cloning this skill should customize [`references/guardrails.md`](references/guardrails.md) to define their specific approval tiers and policies. --- ## Supporting Links & Resources * [Requester Flow Reference](references/requester.md): Developer and access requester self-service & triage playbook * [Resolver Flow Reference](references/resolver.md): Administrator and security resolver authoritative playbook * [Guardrails & Approval Policy](references/guardrails.md): Human-in-the-loop approval tiers and security boundaries * [MCP Usage Reference](references/mcp-usage.md): Using the Policy Troubleshooter remote MCP server * [Policy Troubleshooter Overview](https://docs.cloud.google.com/policy-intelligence/docs/troubleshoot-access.md.txt) * [Understanding IAM Predefined Roles](https://docs.cloud.google.com/iam/docs/roles-permissions.md.txt) * [gcloud SDK iam roles list CLI Reference](https://cloud.google.com/sdk/gcloud/reference/iam/roles/list)
© google · Apache-2.0 · google/skills