gws-script-push

A command for uploading local files to a Google Apps Script project, which is a Google-hosted project for running automation code.

In plain words
What is it for?
Pushing JavaScript, Apps Script, HTML, and project manifest files to a specified Apps Script project.
Why use it?
It transfers project files from a local folder to Apps Script in one operation.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/googleworkspace/cli/gws-script-push
Any agent
npx skills add googleworkspace/cli --skill gws-script-push
Clone the repo
git clone --depth 1 https://github.com/googleworkspace/cli

Made for: Claude Code, Codex.

Per session 19 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 352 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00019 $0.00352
Opus 5 $0.00010 $0.00176
Sonnet 5 $0.00004 $0.00070
Haiku 4.5 $0.00002 $0.00035

Measured 2d ago against content hash a72374a002ea, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

gws-script-push scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

2 near-identical copies found in the catalogue:

skills/gws-script-push/SKILL.md · 53 lines

What it actually says

script +push

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

Upload local files to an Apps Script project

Usage

gws script +push --script <ID>

Flags

Flag Required Default Description
--script Script Project ID
--dir Directory containing script files (defaults to current dir)

Examples

gws script +push --script SCRIPT_ID
gws script +push --script SCRIPT_ID --dir ./src

Tips

  • Supports .gs, .js, .html, and appsscript.json files.
  • Skips hidden files and node_modules automatically.
  • This replaces ALL files in the project.

[!CAUTION] This is a write command — confirm with the user before executing.

See Also

  • gws-shared — Global flags and auth
  • gws-script — All manage google apps script projects commands
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 53 lines · 19 tokens per session scan A a72374a002ea

Subscribe to this mod's changes

gws-script-push is a skill published in the GitHub repository googleworkspace/cli (30,651 stars, last pushed 6d ago), licensed Apache-2.0. It adds 19 tokens to every session and 352 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.