Agent Platform Rag Engine ManagementSAFE
Agent Skills for Google products and technologies
Overview
Agent Skills for Google products and technologies
41460d1a305dOBSERVED · 2026-10-28Install
Commands as the repository documents them. They are shown, not run.
pip install -q google-cloud-aiplatform google-genai && python3 - <<'PY'
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: agent-platform-rag-engine-management
metadata:
version: "1.0.1"
category: AiAndMachineLearning
description: >-
Manage and query Agent Platform RAG Engine Corpora and retrieve grounded
contexts using the Google GenAI SDK. Use when listing RAG corpora or files,
inspecting a corpus, retrieving contexts, or generating content grounded in a
RAG corpus. Do not use for standard database queries (use SQL/Spanner skills),
Google Workspace RAG, or other RAG products like gRAG.
---
# Agent Platform RAG Engine Management
This skill provides instructions on how to interact with Agent Platform RAG
Engine using the Agent Platform Python SDK. You MUST use the `vertexai` Python
SDK to perform RAG Engine operations, rather than raw REST calls or MCP tools,
because this code is intended to be run by external clients.
## Safety & Confirmation Tiers (CRITICAL)
Before executing any commands or scripts on behalf of the user, you must adhere
to the following safety tiers based on the action requested:
1. **Tier R: Read-only (`list_corpora`, `list_files`, `get_corpus`,
`retrieval_query`)**
* No confirmation needed. Execute immediately to gather information or
retrieve grounded contexts.
2. **Tier RC: Read-only but consumes Compute Resources
(`client.models.generate_content`)**
* Requires **interactive confirmation** with 'Yes'/'No' options before
executing grounded content generation. The confirmation prompt MUST
clearly explain the proposed generation execution and its key parameters
(e.g., target corpus ID, query text, target model). Natural-language
paraphrases without specifying exact parameters are insufficient, as
explicit parameter listing is required to ensure unambiguous user
approval of the specific resource and configuration.
* **Same-turn restriction**: Do not execute the generation code in the
same turn as presenting the confirmation prompt. Stop and wait for the
user's reply; only execute after explicit 'Yes' / approval.
* **Gold Standard Example**:
> I will perform grounded content generation with the following
> parameters. Please confirm this information before I proceed:
>
> * **Target Corpus ID**: `projects/123/locations/us/ragCorpora/abc`
> * **Target Model**: `gemini-2.5-pro`
> * **Query Text**: "What are the company policies on remote work?"
>
> Do you confirm? [Yes/No]
## Phase 0: Environment Setup
**CRITICAL**: Before running any of the Python snippets below, you must ensure
the environment is correctly initialized by following these steps:
1. **Google Cloud Authentication**: Authenticate with your Google Cloud
credentials and configure active Application Default Credentials (ADC) for
Agent Platform access:
```bash
gcloud auth login
gcloud auth application-default login
```
2. **Python Dependencies**: This skill needs `google-cloud-aiplatform` and
`google-genai`, which the sandbox already provides. Do **not** create a
virtual environment — it starts empty and hides packages the environment
already provides, forcing a redundant install. Do not spend a separate
command checking for them: run the snippet directly, and only if it fails
with `ModuleNotFoundError`, install in the same command as the retry:
```bash
pip install -q google-cloud-aiplatform google-genai && python3 - <<'PY'
...
PY
```
3. **Execution**: Run each snippet as a quoted heredoc, `python3 - <<'PY'` ...
`PY`, rather than `python3 -c '...'`, whose nested quotes break easily.
There is no environment to activate first. When one step needs several of
the snippets below (for example, list the corpora and then the files in
each), combine them into one script and one command. The
`vertexai.preview.rag` deprecation warning printed on stderr is expected;
keep using these snippets rather than switching clients because of it.
## Workflow Decision Tree
1. **Information Gathering**: Has the user provided the Project ID, Region, and
Corpus ID?
* **No** -> Proceed to [1. Listing Corpora and Files] to discover the
necessary Resource Names and IDs. Only ask the user if discovery fails.
* **Yes** -> Proceed.
2. **Task Type**: What does the user want to do?
* **List Corpora and Files** -> Proceed to [1. Listing Corpora and Files].
* **Inspect a Corpus** -> Proceed to [2. Getting / Inspecting a RAG Engine
Corpus].
* **Search for Contexts** -> Proceed to [3. Retrieving Contexts].
* **Answer questions using RAG Engine** -> Proceed to [4. Answering the
User with Retrieved Context].
> [!TIP]
>
> **Placeholder Parameter Replacement:** The Python scripts below use bracketed
> string placeholders (like `"{project_id}"`, `"{region}"`, and
> `"{corpus_id}"`). You **MUST** dynamically replace these placeholders with the
> actual Project ID, Region, and Corpus ID values provided in the user's prompt
> (or active context) before generating, providing, or executing the scripts.
## 1. Listing Corpora and Files (Discovery)
If you do not know the Resource Name of the corpus or file, you MUST list them
first to discover them. The SDK handles pagination automatically when converted
to a list, but you can also use manual pagination for large sets.
### 1.1 Listing and Discovering Corpora
```python
import vertexai
from vertexai.preview import rag
vertexai.init(project="{project_id}", location="{region}")
# Approach A: List ALL (Automatic Pagination)
# The SDK's Pager iterates through all pages for you.
all_corpora = list(rag.list_corpora())
print(f"Found {len(all_corpora)} corpora in total.")
for c in all_corpora:
print(f"Corpus Name: {c.name} | Display Name: {c.display_name}")
# Approach B: Manual Pagination (for very large projects)
pager = rag.list_corpora(page_size=10)
# Process fTrust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
41460d1a305dfull audit observations/trust-audit/skill/google__agent-platform-rag-engine-management.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-28 | 41460d1a305d | SAFE | B | 89 | first audit |
Questions
What does the agent-platform-rag-engine-management — google/skills skill do?
Agent Skills for Google products and technologies
Is agent-platform-rag-engine-management — google/skills safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can agent-platform-rag-engine-management — google/skills access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (41460d1a305d), read on 2026-10-28. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/google/agent-platform-rag-engine-management/)
Not your listing, or something out of date? Claim or update your listing.