Skip to content

Guide · Agent skill

How to use the Apps Script File Push agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The Apps Script File Push skill (gws-script-push) teaches an AI agent to upload files from a local folder into a Google Apps Script project using the gws command-line tool. This guide explains what an agent skill is, how to install this one, how to ask for a push in plain language, and what to check before running it. It is written for readers who have not used agent skills before.

Apps Script File Pushgoogleworkspace/cli · Apache-2.0

Quick start

  1. 1Install gws and set up authentication. Install the gws command-line tool and configure Google authentication as described in the gws-shared skill.
  2. 2Get your Script Project ID. Find the Script Project ID of the Apps Script project you want to update.
  3. 3Install the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
  4. 4Prepare the local folder. Make sure the folder holds the complete set of .gs, .js, .html and appsscript.json files the project should have.
  5. 5Ask the agent to push. Make a natural request naming the project and folder, such as pushing ./src to a given Script Project ID.
  6. 6Review and confirm. Check the project ID, folder and overwrite risk the agent reports, then approve the write.

What is an agent skill and what does this one do?

An agent skill is a folder containing a SKILL.md file that gives an AI agent instructions for one specific task. This skill covers one task: pushing code from your computer to Google Apps Script. Once installed, when you ask the agent to push code to Apps Script, it knows the correct gws command and flags to use.

The skill reads local files with the extensions .gs, .js, .html and appsscript.json from a folder and uploads them to an Apps Script project identified by its Script Project ID.

  • Works on files: .gs, .js, .html and appsscript.json.
  • Targets one project by its Script Project ID.
  • The upload replaces all files in the target project, so it is a destructive write operation.

What do you need before installing?

The skill cannot work without three things: the gws command-line tool (Google Workspace CLI), Google authentication configured for gws, and an Apps Script Project ID. The source says authentication is described in the shared gws-shared skill, which the agent reads for setup details.

If the gws-shared skill is missing, the source says to run gws generate-skills to create it.

  • The gws command-line tool (Google Workspace CLI) installed.
  • Google authentication configured for gws, as described in the gws-shared skill.
  • The Script Project ID of the Apps Script project you want to update.

How do you install the skill?

Download the ZIP file from this page and unzip it. You can install it in one of two places. For all your projects, unzip it into ~/.claude/skills/. For a single project, unzip it into that project's .claude/skills/ folder.

If you use the Claude apps instead, you can upload the skill under Settings → Capabilities → Skills.

  • Personal install: ~/.claude/skills/
  • Project install: .claude/skills/ inside your project folder
  • Claude apps: Settings → Capabilities → Skills, then upload

How do you trigger the skill with a natural request?

You do not need to type the command yourself. Ask the agent in plain language to push code to Apps Script, and name the project and folder if you can. The agent should then pick this skill and prepare the gws command.

Because the push is a write command, the skill instructs the agent to confirm with you before running it. Check the command and project ID the agent proposes before you approve.

  • "Push the files in ./src to my Apps Script project SCRIPT_ID."
  • "Upload my local Apps Script code to project SCRIPT_ID."
  • "Deploy my Apps Script changes from this folder."

What commands does the skill use?

The skill's basic usage is shown below. The --script flag is required and takes the Script Project ID. The --dir flag is optional; if you leave it out, the current directory is used.

The source lists two examples: one using the current directory and one pointing at ./src. Both are shown below.

  • --script (required): Script Project ID.
  • --dir (optional): directory containing script files; defaults to the current directory.
  • Hidden files and node_modules are skipped automatically.
gws script +push --script SCRIPT_ID gws script +push --script SCRIPT_ID --dir ./src

What should you check for safety?

This skill runs scripts and uses the network. Its main risk is not a bad download but an overwrite: the upload replaces every file in the target project. If the online editor holds changes that are not saved in your local folder, those changes will be lost.

Before approving a push, confirm the Script Project ID is the one you intend, the --dir folder contains the complete set of files you want, and nobody has edited the online project in a way you have not copied locally. Also read the shared gws-shared skill for auth and security rules.

  • Confirm the Script Project ID before running.
  • Make sure the local folder holds every file the project should have.
  • Copy any online-only edits to your local folder first.
  • Keep your code in a version-controlled repository so you can recover earlier versions.

What tips help you avoid problems?

Keep the local folder as the single source of truth for the project. Because the push replaces everything, partial folders are a common cause of lost files. The skill is also not suited to editing one file at a time.

  • Use --dir when your code lives in a subfolder such as ./src.
  • Only .gs, .js, .html and appsscript.json files are uploaded.
  • Use this skill only if you want the whole project replaced, not a single-file edit.

What people use it for

  • Deploying Apps Script code kept in a local Git repository from the terminal.
  • Automating Apps Script updates as part of a build or release workflow.
  • Pushing code from a ./src subfolder into a specific Apps Script project.

Frequently asked questions

How do I install the Apps Script File Push skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder for one project. In the Claude apps, you can instead upload it under Settings → Capabilities → Skills.

What do I need to use gws-script-push?

You need the gws command-line tool (Google Workspace CLI), Google authentication configured for gws as described in the gws-shared skill, and an Apps Script Project ID. The skill cannot work without gws and authentication.

Is the Apps Script File Push skill free?

The source for this skill is licensed under Apache-2.0. The source does not state pricing for the gws tool or for Google Apps Script, so check those separately.

Does pushing replace my whole Apps Script project?

Yes. The source says the upload replaces all files in the target project. Copy any online-only edits to your local folder before you push.

Which files does the skill upload?

It uploads .gs, .js, .html and appsscript.json files. Hidden files and node_modules are skipped automatically.

Can I update just one file with this skill?

Not with this command. It replaces the whole project, so it is not suited to editing a single file. Choose another method if you only need to change one file.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you keep Apps Script code in a local repository, already have gws and Google authentication working, and want an agent to run full-project pushes from the terminal. Pick something else if you have not set up gws, if the online editor holds unsaved-locally changes, or if you only need to edit a single file.

Download the skill