Gmail Inbox Watcher
googleworkspace/cli
Streams new Gmail messages as NDJSON from the gws command line tool using Google Pub/Sub, with label filters, batch settings and optional per-message files.
Configure and troubleshoot Google Cloud cross-project centralized logging and read-time aggregation.
$ npx skills add google/skills --skill cloud-logging-cross-project-configuration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google/skills cloud-logging-cross-project-configuration --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cloud/cloud-logging-cross-project-configuration .claude/skills/cloud-logging-cross-project-configuration && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cloud-logging-cross-project-configuration" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-logging-cross-project-configuration into .claude/skills/cloud-logging-cross-project-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-logging-cross-project-configuration", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/google/skills/tree/main/skills/cloud/cloud-logging-cross-project-configurationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add google/skills --skill cloud-logging-cross-project-configuration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google/skills cloud-logging-cross-project-configuration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cloud/cloud-logging-cross-project-configuration .agents/skills/cloud-logging-cross-project-configuration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cloud-logging-cross-project-configuration" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-logging-cross-project-configuration into .agents/skills/cloud-logging-cross-project-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-logging-cross-project-configuration", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/skills --skill cloud-logging-cross-project-configuration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google/skills cloud-logging-cross-project-configuration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cloud/cloud-logging-cross-project-configuration .cursor/skills/cloud-logging-cross-project-configuration && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cloud-logging-cross-project-configuration" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-logging-cross-project-configuration into .cursor/skills/cloud-logging-cross-project-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-logging-cross-project-configuration", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/google/skills.git --path skills/cloud/cloud-logging-cross-project-configuration--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add google/skills --skill cloud-logging-cross-project-configuration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google/skills cloud-logging-cross-project-configuration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cloud/cloud-logging-cross-project-configuration .gemini/skills/cloud-logging-cross-project-configuration && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cloud-logging-cross-project-configuration" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-logging-cross-project-configuration into .gemini/skills/cloud-logging-cross-project-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-logging-cross-project-configuration", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install google/skills cloud-logging-cross-project-configurationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add google/skills --skill cloud-logging-cross-project-configuration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cloud/cloud-logging-cross-project-configuration .github/skills/cloud-logging-cross-project-configuration && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cloud-logging-cross-project-configuration" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-logging-cross-project-configuration into .github/skills/cloud-logging-cross-project-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-logging-cross-project-configuration", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/skills --skill cloud-logging-cross-project-configuration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google/skills cloud-logging-cross-project-configuration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cloud/cloud-logging-cross-project-configuration .opencode/skills/cloud-logging-cross-project-configuration && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cloud-logging-cross-project-configuration" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-logging-cross-project-configuration into .opencode/skills/cloud-logging-cross-project-configuration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-logging-cross-project-configuration", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cloud-logging-cross-project-configurationConfigure and troubleshoot Google Cloud cross-project centralized logging and read-time aggregation.
Cloud Logging Cross Project Configuration is an agent skill from google/skills, published by the product's own GitHub organization. Configure and troubleshoot Google Cloud cross-project centralized logging and read-time aggregation. Use when: - Setting up log routing from multiple projects/folders/organizations to a central log bucket. - Creating cross-project log sinks and configuring central log buckets. - Troubleshooting cross-project routing. Don't use for single-project basic configurations.
Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Google Cloud. The repository describes itself as: Agent Skills for Google products and technologies. The licence is Apache-2.0.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7d97937. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gcloudFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.cloud.google.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cloud Logging Cross Project Configuration loads about 4.5k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,677 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from google/skills at commit 7d97937, republished under its Apache-2.0 licence (© google). 1,677 words, ~4,545 tokens.
.claude/skills/cloud-logging-cross-project-configuration/SKILL.md (or your agent's skills folder).This skill describes how to use gcloud commands to configure Cloud Logging so
that you store log data in a central location, regardless of the point of
origin. The skill also describes how to query log data when that data is stored
in multiple projects.
[!IMPORTANT] Sandbox Network Limitation (CRITICAL for Agent Testing): During evaluation or in restricted sandboxed environments, network traffic to GCP APIs is blocked. Do NOT run network discovery commands to find resource names, project IDs, or organization IDs. Always use the exact project IDs or placeholders provided in the user prompt or instructions, for example,
{project_id},{source_project_id},{central_project_id}. Assume these resources exist and proceed directly with configuration commands. Running these discovery commands will cause the execution to hang and timeout.
Before executing any commands on behalf of the user, you MUST adhere to the following safety tiers based on the action requested:
gcloud logging readgcloud logging buckets listgcloud logging views creategcloud logging views updategcloud logging scopes creategcloud logging buckets creategcloud logging metrics creategcloud logging links creategcloud projects add-iam-policy-bindinggcloud logging buckets deletegcloud logging sinks update --add-exclusionUse this decision matrix to evaluate and choose between Centralized Storage and Read-Time Aggregation. With centralized storage, log data is routed to one log bucket, regardless of where the data originates. You write queries against the centralized log bucket. With read-time aggregation, log data is stored by the resource where it originates. However, a single query aggregates the data by querying all resources.
After you have determined the optimal architecture for handling cross-project logs, follow the corresponding configuration steps detailed below.
| Criterion | Centralized Storage | Read-Time Aggregation |
|---|---|---|
| GCP Project Scale | Scales to thousands of | Best for < 375 projects. |
| : : projects. : : | ||
| Log Storage | Consolidated in a single | Resides in originating |
| : : log bucket. : resources. : | ||
| SQL Analytics | Easy; unified querying | Hard; requires querying |
| : : via Observability : multiple log buckets. : | ||
| : : Analytics. : : | ||
| Access Control | Scoped access via log | Requires IAM access to |
| : : views on the centralized : all views on resources : | ||
| : : log bucket. : that store log data. : | ||
| Configuration | Options vary based on | Will not interfere with |
| : Complexity : Project, Folder, : bucket-based log-based : | ||
| : : Organization structure. : metrics. : | ||
| Cost | Potential for duplicate | Cost-effective; no data |
| : : storage of log buckets : replication. : | ||
| : : if exclusions aren't : : | ||
| : : set. : : |
graph LR
subgraph "Source Project(s)"
Log[Resource Logs] --> Sink["Sink: route-to-central-project"]
end
subgraph "Central Project"
Sink --> Bucket["Bucket: central-logs-bucket (us-central1)"]
endgraph LR
subgraph "Source Project 1"
Log1[Resource Logs] --> Bucket1["Bucket: _Default"]
end
subgraph "Source Project 2"
Log2[Resource Logs] --> Bucket2["Bucket: _Default"]
end
subgraph "Scoping Project (No Log Storage)"
Scope["Log scope: central-query-scope"]
Scope -.-> View1["_AllLogs View on Bucket1"]
Scope -.-> View2["_AllLogs View on Bucket2"]
endUse these steps to route logs from one or more source projects to a central log bucket in a project. Create or select the Google Cloud project that you will use for storing your log data. This is the central project.
Create a custom log bucket with Log Analytics enabled.
[Tip] Use regional log buckets, for example, set the location to
us-central1. Don't use thegloballocation. This approach ensures compatibility with Observability Analytics and SQL querying.
gcloud logging buckets create {bucket_id} \
--project={central_project_id} \
--location={region} \
--retention-days={retention_days} \
--enable-analyticsCreate a project-level sink in the central project pointing to the central log bucket. This sink will route logs that land in the central project's log router into the central log bucket.
gcloud logging sinks create {sink_name} \
logging.googleapis.com/projects/{central_project_id}/locations/{region}/buckets/{bucket_id} \
--project={central_project_id}To route logs to the central project, you must create a log sink in each source
organization, folder, or project. While you can configure a sink to route only a
subset of logs using the --log-filter argument, recommended practice is to
route all non-audit logs, and then restrict access or partition logs at the
destination using custom Log Views on the centralized log bucket.
For an organization-level log sink
gcloud logging sinks create {sink_name} \
logging.googleapis.com/projects/{central_project_id} \
--organization={source_organization_id} \
--include-children \
--exclusion=filter='LOG_ID("cloudaudit.googleapis.com/activity")' \
--exclusion=filter='LOG_ID("externalaudit.googleapis.com/activity")' \
--exclusion=filter='LOG_ID("cloudaudit.googleapis.com/system_event")' \
--exclusion=filter='LOG_ID("externalaudit.googleapis.com/system_event")' \
--exclusion=filter='LOG_ID("cloudaudit.googleapis.com/access_transparency")' \
--exclusion=filter='LOG_ID("externalaudit.googleapis.com/access_transparency")'For project-level log sinks
gcloud logging sinks create {sink_name} \
logging.googleapis.com/projects/{central_project_id} \
--project={source_project_id} \
--exclusion=filter='LOG_ID("cloudaudit.googleapis.com/activity")' \
--exclusion=filter='LOG_ID("externalaudit.googleapis.com/activity")' \
--exclusion=filter='LOG_ID("cloudaudit.googleapis.com/system_event")' \
--exclusion=filter='LOG_ID("externalaudit.googleapis.com/system_event")' \
--exclusion=filter='LOG_ID("cloudaudit.googleapis.com/access_transparency")' \
--exclusion=filter='LOG_ID("externalaudit.googleapis.com/access_transparency")'[!IMPORTANT] Security Action (Tier B): Granting IAM permissions changes access control policy and must be explicitly confirmed by the user before execution.
To allow the source sinks to route logs to the central project's router, and to allow the central sink to write logs to the central bucket:
Grant Logs Writer permission to the source sink: Retrieve the
writerIdentity of the source log sink and grant it
roles/logging.logWriter on the central project.
# Get the writer identity of the source sink
gcloud logging sinks describe {sink_name} \
--project={source_project_id} \
--format="value(writerIdentity)"The output is the {source_writer_identity} value (for example
serviceAccount:...) for the following command:
# Grant Logs Writer permissions on the central project
gcloud projects add-iam-policy-binding {central_project_id} \
--member={source_writer_identity} \
--role=roles/logging.logWriterGrant Bucket Writer permission to the central sink: Retrieve the
writerIdentity of the central log sink and grant it
roles/logging.bucketWriter on the central project.
# Get the writer identity of the central sink
gcloud logging sinks describe {central_sink_name} \
--project={central_project_id} \
--format="value(writerIdentity)"The output is the {central_writer_identity} value for the following
command:
# Grant Bucket Writer permissions on the central project
gcloud projects add-iam-policy-binding {central_project_id} \
--member={central_writer_identity} \
--role=roles/logging.bucketWriterTo partition logs or restrict access by log ID or project (since all logs were routed to the same central bucket), create custom Log Views on the central bucket.
Filter by log ID:
gcloud logging views create {view_id} \
--bucket={bucket_id} \
--location={region} \
--project={central_project_id} \
--log-filter='LOG_ID("{log_id}")'Filter by source project:
gcloud logging views create {view_id} \
--bucket={bucket_id} \
--location={region} \
--project={central_project_id} \
--log-filter='project_id="{source_project_id}"'To verify that logs are being routed from the source projects to the central regional log bucket:
Write a test log in the source project:
gcloud logging write {test_log_id} "Test log entry for verification" \
--severity=WARNING \
--project={source_project_id}Read the test log from the central log bucket: For regional log buckets,
you must specify the --view flag. Because the default view _Default
only contains logs matching the default filter, you should query the
_AllLogs view or your custom log view on the central bucket:
gcloud logging read 'logName:"projects/{source_project_id}/logs/{test_log_id}"' \
--bucket={bucket_id} \
--location={region} \
--view=_AllLogs \
--project={central_project_id}Create or select a Google Cloud project that you will use for querying your log data. This is the scoping project. Use these steps to configure a log scope. Log scopes let you issue a query for log data that is stored in multiple projects.
Create a Log View in the source project to restrict which logs are accessible.
[!IMPORTANT] Gotcha: Log View filters can only contain specific restrictions. Refer to https://docs.cloud.google.com/logging/docs/logs-views.md.txt#view-filter
gcloud logging views create {view_id} \
--bucket={bucket_id} \
--location={region} \
--project={source_project_id} \
--log-filter='LOG_ID("{log_id}")'{bucket_id}: for example, _Default{region}: for example, global{view_id}: for example, app-logs-view--log-filter flag.Create a log scope in the scoping project listing the source resources, which may be projects or specific log views.
gcloud logging scopes create {log_scope_id} \
--project={scoping_project_id} \
--resource-names={resource_names}{log_scope_id}: for example, central-query-scope{resource_names}: Comma-separated list of log views. For example,
projects/source-project-1/locations/global/buckets/_Default/views/app-logs-view,projects/source-project-2/locations/global/buckets/_Default/views/app-logs-view.
You can include up to 100 views in the scope.Link the log scope to the project's default observability scope so it is used by default in Logs Explorer.
gcloud observability scopes update _Default \
--project={scoping_project_id} \
--location=global \
--log-scope=//logging.googleapis.com/projects/{scoping_project_id}/locations/global/logScopes/{log_scope_id}Unlike centralized routing, permissions are checked at query time on all source projects. Users running queries must have:
roles/logging.viewAccessor granted on the specific Log View (with IAM
conditions) or roles/logging.viewer on the source projects.If logs are not appearing in a central project's bucket after configuring centralized logging:
Ensure that the log sink's filter matches the logs you expect to route.
[!IMPORTANT] Gotcha: Standard filter expressions like
logName:abcorlogName="projects/{project_id}/logs/abc"can fail to match in log sinks. Always useLOG_ID("abc")for precise matching in log sink filters.
Verify that you have not configured an exclusion filter that accidentally discards these logs.
The log sink's writer identity service account in the source project must be explicitly granted the necessary permissions on the central resource.
Step A: Get the Writer Identity
gcloud logging sinks describe {sink_name} \
--project={source_project_id} \
--format="value(writerIdentity)"Step B: Grant the Permission in the Central Project (Tier B)
[!IMPORTANT] Security Action (Tier B): Granting IAM permissions changes access control policy and must be explicitly confirmed by the user before execution.
For Cloud Logging Buckets (standard): Grant
roles/logging.bucketWriter:
gcloud projects add-iam-policy-binding {central_project_id} \
--member={writer_identity} \
--role=roles/logging.bucketWriterFor GCS Buckets: Grant roles/storage.objectCreator on the GCS
bucket.
For Pub/Sub Topics: Grant roles/pubsub.publisher on the Pub/Sub
topic.
For BigQuery Datasets: Grant roles/bigquery.dataEditor on the
BigQuery dataset.
© google, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/cloud/cloud-logging-cross-project-configuration of google/skills.
Open the folder on GitHubat commit 7d97937
Cloud Logging Cross Project Configuration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cloud Logging Cross Project Configuration this skillgoogle/skills | 21k | — | ~4.5k | Automated safety check: Pass | Apache-2.0 | |
| Gmail Inbox Watchergoogleworkspace/cli | 31k | 1 repos | ~476 | Automated safety check: Pass | Apache-2.0 | |
| Cloud Cost Optimizationwshobson/agents | 40k | 14 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit | 260 | 6 repos | ~1.1k | Automated safety check: Notes | Custom licence | |
| Terravision Cloud Diagramspatrickchugh/terravision | 1.6k | — | ~5.6k | Automated safety check: Notes | AGPL-3.0-only | |
| Thesvgglincker/thesvg | 2.8k | — | ~1.5k | Automated safety check: Pass | MIT |
googleworkspace/cli
Streams new Gmail messages as NDJSON from the gws command line tool using Google Pub/Sub, with label filters, batch settings and optional per-message files.
wshobson/agents
Cuts cloud spend across AWS, Azure, GCP and OCI with cost tagging, rightsizing, commitment and spot pricing models, and architecture changes.
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…
patrickchugh/terravision
Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.
glincker/thesvg
Fetch brand SVG logos and cloud architecture icons (AWS, Azure, GCP) from theSVG.
Kiln-AI/Kiln
Check Kiln's model list for deprecated or sunset models across all providers.
google/skills
Query Cloud Trace spans, filter by latency thresholds or error status, correlate distributed traces with Cloud Logging, and diagnose latency bottlenecks across Google Cloud services.
google/skills
Manages Google Cloud Privileged Access Manager entitlements and grants: create and edit entitlements, request temporary access, and approve or deny pending grants.
google/skills
Writes Terraform alerting policies for AI agents that emit OpenTelemetry metrics, covering reliability, cost, safety, security and quality signals on Google Cloud.
google/skills
Deploys open models or custom weights from Model Garden to Agent Platform endpoints, checks deployment status and cleans up endpoints, confirming before any change.
google/skills
Searches, manages and scaffolds skills in the Gemini Enterprise Agent Platform Skill Registry using bundled Python scripts and Google Cloud credentials.
google/skills
Designs GCP infrastructure as local Terraform, validates and scans it against best practices, then imports it to Application Design Center for deployment and troubleshooting.
Works with
Configure and troubleshoot Google Cloud cross-project centralized logging and read-time aggregation. Cloud Logging Cross Project Configuration is an agent skill from google/skills, published by the product's own GitHub organization. Configure and troubleshoot Google Cloud cross-project centralized logging and read-time aggregation.
Cloud Logging Cross Project Configuration fits situations like: : - Setting up log routing from multiple projects/folders/organizations to a central log bucket; single-project basic configurations.
Run `npx skills add google/skills --skill cloud-logging-cross-project-configuration -a claude-code`. Or copy the skill folder (skills/cloud/cloud-logging-cross-project-configuration in google/skills) into .claude/skills/cloud-logging-cross-project-configuration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google/skills --skill cloud-logging-cross-project-configuration -a codex`. Or copy the skill folder (skills/cloud/cloud-logging-cross-project-configuration in google/skills) into .agents/skills/cloud-logging-cross-project-configuration in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google/skills --skill cloud-logging-cross-project-configuration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cloud-logging-cross-project-configuration, .gemini/skills/cloud-logging-cross-project-configuration, .github/skills/cloud-logging-cross-project-configuration and .opencode/skills/cloud-logging-cross-project-configuration in your project.
Going by SKILL.md and its folder, Cloud Logging Cross Project Configuration needs the command-line tools its instructions call (gcloud).
SKILL.md names 1 domain. As links in the text: docs.cloud.google.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cloud Logging Cross Project Configuration is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cloud Logging Cross Project Configuration: Gmail Inbox Watcher (googleworkspace/cli, 31k stars), Cloud Cost Optimization (wshobson/agents, 40k stars), Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars) and Terravision Cloud Diagrams (patrickchugh/terravision, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
google (a GitHub organization, an official publisher) maintains it in google/skills, which has 21,032 GitHub stars. The repository holds 147 skills in this directory. The repository was last updated on October 8, 2026.
Source: google/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.