Skip to content
Back to skills

Gws Script

ASecurity

Apps Script: Deploy and manage Google Apps Script projects with gws script +push.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 28, 2026
ai-agentsgobashnodegitapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned May 28, 2026

npx -y skills add fakoli/fakoli-plugins --skill gws-script --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gws Script?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gws Script
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fakoli-gws-script/badge)](https://www.skillsdirectory.com/skills/fakoli-gws-script)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gws-script
description: "Apps Script: Deploy and manage Google Apps Script projects with gws script +push."
trigger:
  - keyword: apps script
  - keyword: script push
  - keyword: deploy script
  - keyword: google apps script
  - keyword: gws script
version: 1.0.0
---

# gws script

> **Reference:** See the `gws-shared` skill for auth, global flags, and security rules.

Deploy and manage Google Apps Script projects using the `gws` CLI.

## Helper Command

### +push — Upload local files to an Apps Script project

Replaces ALL files in the target Apps Script project with files from a local directory.

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

**Supported file types:** `.gs`, `.js`, `.html`, `appsscript.json`

**Automatic behavior:**
- Skips hidden files and `node_modules`
- Replaces the entire project content (not a merge)

## Raw API Access

You can also use the Apps Script API directly:

```bash
# List script projects
gws script projects list

# Get project content
gws script projects getContent --params '{"scriptId": "SCRIPT_ID"}'

# Get project metadata
gws script projects get --params '{"scriptId": "SCRIPT_ID"}'
```

## Examples

### Deploy a script from current directory

```bash
# Check what files will be uploaded
ls *.gs *.html appsscript.json

# Push to the project
gws script +push --script 1BxTjDmEZcABxhVBmFLRfMXD4eHJB7k_g2r-example
```

### Deploy from a specific directory

```bash
gws script +push --script SCRIPT_ID --dir ./apps-script-src
```

### View current project content before pushing

```bash
gws script projects getContent --params '{"scriptId": "SCRIPT_ID"}'
```

## Caution

- `+push` **replaces all files** in the project — there is no merge or diff
- Always verify the script ID before pushing
- Consider keeping a backup of the current project content:
  ```bash
  gws script projects getContent --params '{"scriptId": "SCRIPT_ID"}' > backup.json
  ```

## Tips

- Keep your Apps Script source files in a dedicated directory (e.g., `./apps-script/`)
- Use version control (git) alongside `+push` for change tracking
- The `appsscript.json` manifest file controls runtime settings, scopes, and triggers

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.