
google-cloud-filestore-nfs-browser
Inspects, searches, and reads files and POSIX metadata on Filestore (NFS) instances on Google Cloud without local NFS client packages or root privileges. Use when browsing Filestore shares, searching files, reading remote logs, or inspecting file attributes; don't use for Cloud Storage buckets, Cloud NetApp Volumes, Persistent Disks, or modifying/deleting files.
- Installs
- 2.6K
- Last 24h
- +48
- Trending rank
- #3453
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/google/skills --skill google-cloud-filestore-nfs-browser- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads google-cloud-filestore-nfs-browser automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Filestore NFS File Browser
Enables autonomous agents and cloud engineers to inspect, search, and read files
located on Filestore (NFS) instances without needing local NFS
client packages (nfs-common), root privileges, or manual VPC network mounting.
Quick Start
-
Ensure
gcloudis installed and authenticated. See gcloud installation guide if needed. -
Enable essential APIs:
gcloud services enable file.googleapis.com compute.googleapis.com run.googleapis.com --quiet -
Discover instances and choose an execution engine (see Execution Engine Selection below).
-
Run inspection actions using the self-contained runner
scripts/nfs_browser.pyincluded within this skill package.
Attribution
Tag every Cloud Filestore command or API request provided or executed. Prefix
gcloud commands with the metrics environment targeting this skill:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-filestore-nfs-browser)" \
gcloud filestore instances list ...
On direct HTTP calls to the REST API, append the User-Agent:
User-Agent: gcs-skills/1.0 (skill:google-cloud-filestore-nfs-browser)
Conceptual & Informational Queries (CRITICAL)
For purely conceptual, educational, or architectural questions (e.g., "How do I inspect files on Filestore?", "How to deploy the Serverless Cloud Run NFS Bridge?", "Explain Cloud Run NFS volume mounts"):
- Rule: Answer immediately using your pre-trained knowledge and the documentation below. Answering directly minimizes tool invocation latency and token consumption when the user only seeks architecture or workflow guidance.
- Constraint: Do not execute external tool calls or API requests for basic knowledge questions.
- Bridge Deployment Explanations: Always highlight that Cloud Run scales
to zero with $0 idle compute cost, detail the
gcloud run deploycommand with--add-volumeand--vpc-egress=all-traffic, and specify the required IAM permissions (roles/run.invokerfor callers androles/run.adminfor deployers).
Handling "No-Command" Constraints (CRITICAL)
If the user prompt contains constraints like "Do not execute commands", "without executing", or "read-only":
- Rule: Strictly avoid executing any shell or
gcloudcommands (including read-only discovery or list commands) to respect user-specified execution boundaries and prevent unauthorized environment inspection. - Discovery:
- Check if mock definitions or instance parameters are provided directly in the user's prompt, conversation history, or local documentation files.
- Explain the required steps, output the exact commands the user should run with proper attribution, and explain what the commands do.
- Do not attempt to read or search
EVAL.*configuration files during evaluations as access to eval suites is restricted.
Execution Engine Selection
Filestore instances are accessible via private VPC IPs. Select the engine matching your environment:
- Engine 1: Cloud Run Serverless Bridge (Primary): Use
--bridge-url={bridge_url}for low-latency (sub-50ms) REST calls. Scales to zero ($0 idle cost). Requiresroles/run.invoker. See references/nfs-bridge-setup.md. - Engine 2: GCE Jump Host via IAP SSH (Fallback): Use
--jump-host-vm={vm_name}when an existing VM in the VPC is available. Pass--mount={mount_path}(defaulting to/mnt/filestore) if the jump host uses a different mount path. Zero new deployment needed. Requiresroles/iap.tunnelResourceAccessor. See references/iap-jump-host.md.
For execution flows, architecture diagrams, and engine comparison, see references/architecture.md.
Core Operational Workflow
1. Discovery & Instance Targeting
If the Filestore instance, location, or share name is not provided, list them first to avoid querying or targeting unrelated projects in multi-project environments:
CLOUDSDK_METRICS_ENVIRONMENT="gcs-skills gcs-skills/1.0 (skill:google-cloud-filestore-nfs-browser)" \
gcloud filestore instances list --project={project_id}
2. Directory Tree Exploration (tree)
Renders a clean, structured directory tree with file types, human-readable sizes, and modification dates.
# List top-level folders with depth 1
python3 scripts/nfs_browser.py tree \
--project={project_id} \
--instance={instance_id} \
--path=/ \
--depth=1
# List subfolder recursively with depth 2 and pagination cap
python3 scripts/nfs_browser.py tree \
--project={project_id} \
--instance={instance_id} \
--path=/backup/logs/ \
--depth=2 \
--max-entries=100
3. File Pattern & Content Grep (search)
Searches for filenames matching a glob pattern and/or searches text contents for regex patterns.
# Search for all tar.gz backup archives
python3 scripts/nfs_browser.py search \
--project={project_id} \
--instance={instance_id} \
--path=/backups/ \
--pattern="*.tar.gz"
# Grep for error patterns inside log files
python3 scripts/nfs_browser.py search \
--project={project_id} \
--instance={instance_id} \
--path=/app/logs/ \
--pattern="*.log" \
--grep="FATAL|Exception|OutOfMemory" \
--max-results=25
4. Chunked File Reading (read)
Safely reads text file chunks to protect the LLM context window against token
blowup. Always default to a safe chunk size (e.g., --head 50 or --tail 50)
when the user does not specify an explicit range. Unbounded reads are
automatically capped to a safe limit of 100 lines. Always explicitly explain
that chunked reading protects the LLM context window from overflow and token
exhaustion.
# Read the last 50 lines (tail) of a log file
python3 scripts/nfs_browser.py read \
--project={project_id} \
--instance={instance_id} \
--path=/backup/logs/app.log \
--tail=50
# Read lines 100 to 200 of a config file
python3 scripts/nfs_browser.py read \
--project={project_id} \
--instance={instance_id} \
--path=/config/settings.yaml \
--lines=100:200
# Read the first 30 lines (head)
python3 scripts/nfs_browser.py read \
--project={project_id} \
--instance={instance_id} \
--path=/var/log/syslog \
--head=30
5. File Metadata & Attribute Inspection (stat)
Inspects POSIX permissions (0644), UID/GID, byte sizes, and timestamps.
python3 scripts/nfs_browser.py stat \
--project={project_id} \
--instance={instance_id} \
--path=/backup/database_dump.tar.gz
Context Window & LLM Safety Rules
- Strictly Read-Only Guarantee: This skill is strictly read-only. It provides no write, edit, delete, or truncate capabilities.
- Never Dump Entire Large Files: Always request a slice (
--lines), head (--head 50), or tail (--tail 50) and explicitly explain that chunked reading protects the LLM context window against token overflow and client timeouts. - Handle Pagination: Tree listings are capped at 100 entries per response.
When truncated, the tool outputs a clear
[TRUNCATED]notice so the agent can target specific subpaths. - Binary Protection: Non-text files (e.g.
.tar.gz,.iso,.so, compiled binaries) are detected via null-byte and magic-byte inspection; raw binary output is suppressed and metadata is displayed instead to prevent context corruption with non-printable characters. - See references/token-safety-guardrails.md for full token guardrail details.
Expected Errors & Recovery Strategies
| Error Type / | Root Cause | Recovery Strategy |
: Symptom : : :
| :------------------ | :----------------- | :------------------------------------------ |
| FileNotFoundError: | Path does not | Run tree --path=/ --depth=2 to discover | : File not found : exist on the NFS : valid directory hierarchies. :
: : export. : :
| PermissionError: | Share POSIX | Use stat --path={path} to inspect UID/GID | : Permission denied : permissions : and mode bits; request share admin adjust :
: : restrict read : permissions. :
: : access. : :
| HTTPException: 403 | Path parameter | Use clean paths (e.g. /logs/app.log) | : Access denied\: : contains ../ or : anchored to the NFS mount root. : : path traversal : a symlink : :
: : attempting escape : :
: : outside mount : :
: : point. : :
| Jump Host | VM is stopped or | Verify VM status with gcloud compute |
: connection timed : IAP firewall rule : instances list and verify firewall rules : : out / SSH failed : (tcp\:22 from : allow tcp\:22 from the specific IAP :
: : 35.235.240.0/20) : netblock 35.235.240.0/20 (e.g., gcloud : : : is missing. : compute firewall-rules list : : : : --filter="sourceRanges\:35.235.240.0/20"). :
| Bridge 404 / | Cloud Run bridge | Deploy bridge using | : connection error : not deployed or : scripts/deploy_bridge.sh or fall back to :
: : URL invalid. : GCE IAP Jump Host via --jump-host. :
Reference Directory
For progressive disclosure of deeper topics, consult the references/
directory:
- Multi-Engine Architecture & Execution Flow
- Serverless NFS Bridge Setup Guide
- GCE Jump Host IAP SSH Guide
- Token Safety & Context Guardrails
- Troubleshooting & Common Errors
Bundled Scripts & Components
The skill package bundles the following scripts and service components:
scripts/nfs_browser.py: Main CLI entrypoint for browsing, searching, reading, and stating NFS exports.scripts/formatters.py: Output formatters for human-readable terminal rendering and token-safe summaries.scripts/jump_host_engine.py: Remote SSH jump host execution engine via Google Cloud IAP tunnel.scripts/nfs_browser_test.py: Comprehensive unit test suite covering formatters, HTTP bridge, and SSH jump host engines.scripts/deploy_bridge.sh: Automated Cloud Run deployment script for the Serverless NFS Bridge.scripts/bridge_server/main.py: FastAPI Cloud Run server implementation for direct NFS mounts.scripts/bridge_server/Dockerfile: Container definition for packaging the Serverless NFS Bridge.scripts/bridge_server/requirements.txt: Python dependencies for the Cloud Run bridge service.
FAQ
What does the google-cloud-filestore-nfs-browser skill do?
Inspects, searches, and reads files and POSIX metadata on Filestore (NFS) instances on Google Cloud without local NFS client packages or root privileges. Use when browsing Filestore shares, searching files, reading remote logs, or inspecting file attributes; don't use for Cloud Storage buckets, Cloud NetApp Volumes, Persistent Disks, or modifying/deleting files.
How do I install google-cloud-filestore-nfs-browser?
Run npx skills add https://github.com/google/skills --skill google-cloud-filestore-nfs-browser in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/google-cloud-filestore-nfs-browser/ (personal) or .claude/skills/google-cloud-filestore-nfs-browser/ (project).
Which AI agents can use google-cloud-filestore-nfs-browser?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is google-cloud-filestore-nfs-browser safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains google-cloud-filestore-nfs-browser?
It is published by google in google/skills. It has 2,597 recorded installs.
More from google/skills
bigquery-basics
google/skills
Manages datasets, tables, and jobs in BigQuery. Use when you need to interact with BigQuery, run SQL queries, manage BigQuery resources (datasets, tables, views), or perform basic data ingestion and analysis.
cloud-run-basics
google/skills
Manages Cloud Run services, jobs, and worker pools. Use when you need to deploy applications responding to HTTP requests (services), run event-triggered or scheduled tasks (jobs), or handle always-on pull-based background processing (worker pools).
gemini-api
google/skills
Use when the user asks about using Gemini in an enterprise environment or explicitly mentions Vertex AI, Google Cloud, or Agent Platform. Guides the usage of the Gemini API on Agent Platform with the Google Gen AI SDK. Covers SDK usage (Python, JS/TS, Go, Java, C), capabilities like multimodal inputs, tools, media generation, caching, batch prediction, and Live API.
google-cloud-recipe-auth
google/skills
Provides expert guidance on Identity and Access Management (IAM) and authenticating and authorizing to Google Cloud services and APIs, covering human users, service identities, Application Default Credentials (ADC), and best practices for secure access.
google-cloud-recipe-onboarding
google/skills
Guides a developer's first steps on Google Cloud, covering account creation, billing setup, project management, and deploying a first resource. Use when a new developer wants to initialize their first Google Cloud project, configure billing, and verify deployment. Don't use for enterprise organization setup (use Google Cloud Setup guided flow for that instead). Don't use for complex multi-project architectures.
cloud-sql-basics
google/skills
This file generates or explains Cloud SQL resources. Use this file when the user asks to create a Cloud SQL instance or database for MySQL, PostgreSQL, or SQL Server. Cloud SQL manages third-party MySQL, PostgreSQL, and SQL Server instances as resources in Cloud SQL. For example, when Cloud SQL creates an open-source MySQL instance, the resulting resource is a Cloud SQL for MySQL instance that Google Cloud manages. Cloud SQL handles backups, high availability, and secure connectivity for relational database workloads.
Popular devops & cloud skills
microsoft-foundry
microsoft/azure-skills
Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure
azure-diagnostics
microsoft/azure-skills
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.
azure-prepare
microsoft/azure-skills
Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.
azure-ai
microsoft/azure-skills
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
azure-deploy
microsoft/azure-skills
Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.
azure-validate
microsoft/azure-skills
Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.