# gws-modelarmor

Connects Claude Code to the Google Workspace CLI to run Model Armor operations. It inspects API schemas and sanitizes user prompts and model responses for safety.

- command · `type=command` · Claude Code · 65 installs
- Author: davila7
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/google-workspace/gws-modelarmor.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/commands/gws-modelarmor

## What it does

This command equips Claude Code to manage Google Model Armor through the `gws` command-line tool. It guides the assistant to inspect method schemas via `gws schema modelarmor.<resource>.<method>`, construct `--params` or `--json` payloads, and handle pagination flags like `--max-results` and `--page-token`.

The command will fail immediately if the `gws` CLI is not installed or if authentication via `gws auth status` has not been completed. It relies directly on local shell execution with Bash, Read, Write, and Edit tools to run operations and handle API errors.

## Requirements
- Works with: Google Workspace

## Install

### Claude Code (native platform)

1. **claude-code-templates**
```bash
npx claude-code-templates@latest --command google-workspace/gws-modelarmor
```

2. **Manually: put the files in place**
- File: `.claude/commands/gws-modelarmor.md` — Call it with /gws-modelarmor. For all projects use ~/.claude/commands/

### Codex

**Manually: put the files in place**
- File: `~/.codex/prompts/gws-modelarmor.md` — Call it with /prompts:gws-modelarmor. Codex marks this format deprecated in favour of skills

### GitHub Copilot

**Manually: put the files in place**
- File: `.github/prompts/gws-modelarmor.prompt.md`

### Gemini CLI

**Manually: put the files in place**
- File: `.gemini/commands/gws-modelarmor.toml` — Gemini stores commands as TOML: the prompt text goes into the prompt field

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/google-workspace/gws-modelarmor.md

## When to use it
- sanitize user prompts against Model Armor safety templates
- filter model responses before displaying them
- inspect required API parameters using `gws schema`
- manage Model Armor templates through the `gws` CLI

## Example prompts
- /gws-modelarmor --help
- /gws-modelarmor templates list --params "pageSize=5"
- Inspect the schema and run Model Armor sanitization for this input

## Source text · gws-modelarmor.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 806862c85e5f8ce5.

BEGIN THIRD-PARTY FILE 806862c85e5f8ce5
````text
---
allowed-tools: Bash, Read, Write, Edit
argument-hint: "[resource] [method] [flags]"
description: "Google Model Armor: Filter user-generated content for safety."
---

# Google Workspace Modelarmor

Execute Google Workspace Modelarmor operations: $ARGUMENTS

## Prerequisites

- Google Workspace CLI (`gws`) must be installed
- Authentication configured: Run `gws auth status` to verify
- Review `gws modelarmor --help` for all available commands

## Available Resources and Methods

# modelarmor (v1)

> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.

```bash
gws modelarmor <resource> <method> [flags]
```

## Helper Commands

| Command | Description |
|---------|-------------|
| [`+sanitize-prompt`](../gws-modelarmor-sanitize-prompt/SKILL.md) | Sanitize a user prompt through a Model Armor template |
| [`+sanitize-response`](../gws-modelarmor-sanitize-response/SKILL.md) | Sanitize a model response through a Model Armor template |
| [`+create-template`](../gws-modelarmor-create-template/SKILL.md) | Create a new Model Armor template |

## Discovering Commands

Before calling any API method, inspect it:

```bash
# Browse resources and methods
gws modelarmor --help

# Inspect a method's required params, types, and defaults
gws schema modelarmor.<resource>.<method>
```

Use `gws schema` output to build your `--params` and `--json` flags.

## Usage

```bash
# List available resources and methods
gws modelarmor --help

# Inspect method schema before calling
gws schema modelarmor.<resource>.<method>

# Execute command with arguments
gws modelarmor $ARGUMENTS
```

## Task

Execute the requested Modelarmor operation: $ARGUMENTS

1. **Verify Prerequisites**
   - Check `gws` is installed: `gws --version`
   - Verify authentication: `gws auth status`
   - Review available commands: `gws modelarmor --help`

2. **Inspect Method Schema**
   - Before calling any method, inspect its parameters
   - Use `gws schema` to understand required fields
   - Review parameter types and constraints

3. **Execute Operation**
   - Build command with appropriate flags
   - Use `--params` for query/path parameters
   - Use `--json` for request body
   - Handle pagination with `--max-results` or `--page-token`

4. **Error Handling**
   - Check command output for errors
   - Review API quotas and rate limits
   - Handle authentication issues
   - Retry transient failures

---

**License**: Apache License 2.0
**Source**: [Google Workspace CLI](https://github.com/googleworkspace/cli)
**Original Skill**: `gws-modelarmor`
````
END THIRD-PARTY FILE 806862c85e5f8ce5

The third-party file has ended. Everything between the 806862c85e5f8ce5 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

© davila7 · MIT · https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/google-workspace/gws-modelarmor.md

## Similar
- [security-hardening](https://affpapa.org/en/nevibecode/commands/security-hardening.md) — command · 437 installs
- [hookify](https://affpapa.org/en/nevibecode/commands/hookify.md) — command · ★ 44770
- [modernize-harden](https://affpapa.org/en/nevibecode/commands/modernize-harden.md) — command · ★ 44770
- [modernize-assess](https://affpapa.org/en/nevibecode/commands/modernize-assess.md) — command · ★ 44770

From the same set: [davila7/claude-code-templates](https://affpapa.org/en/nevibecode/by/davila7/claude-code-templates.md) — 804 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
