Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions gws/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "gws",
"version": "1.1.0",
"description": "Google Workspace CLI skills for Gmail, Calendar, Drive, Docs, Sheets, Slides, and Meet",
"version": "1.2.0",
"description": "Google Workspace CLI skills for Gmail, Calendar, Drive, Docs, Sheets, Slides, Meet, and Tasks",
"author": {
"name": "cblecker"
},
Expand Down
52 changes: 52 additions & 0 deletions gws/skills/gws-gmail-read/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
name: gws-gmail-read
description: "Gmail: Read a message and extract its body or headers."
metadata:
version: 0.22.5
openclaw:
category: "productivity"
requires:
bins:
- gws
cliHelp: "gws gmail +read --help"
---

# gmail +read

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

Read a message and extract its body or headers

## Usage

```bash
gws gmail +read --id <ID>
```

## Flags

| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--id` | ✓ | — | The Gmail message ID to read |
| `--headers` | — | — | Include headers (From, To, Subject, Date) in the output |
| `--format` | — | text | Output format (text, json) |
| `--html` | — | — | Return HTML body instead of plain text |
| `--dry-run` | — | — | Show the request that would be sent without executing it |

## Examples

```bash
gws gmail +read --id 18f1a2b3c4d
gws gmail +read --id 18f1a2b3c4d --headers
gws gmail +read --id 18f1a2b3c4d --format json | jq '.body'
```

## Tips

- Converts HTML-only messages to plain text automatically.
- Handles multipart/alternative and base64 decoding.

## See Also

- [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
- [gws-gmail](../gws-gmail/SKILL.md) — All send, read, and manage email commands
57 changes: 57 additions & 0 deletions gws/skills/gws-tasks/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
name: gws-tasks
description: "Google Tasks: Manage task lists and tasks."
metadata:
version: 0.22.5
openclaw:
category: "productivity"
requires:
bins:
- gws
cliHelp: "gws tasks --help"
---

# tasks (v1)

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

```bash
gws tasks <resource> <method> [flags]
```

## API Resources

### tasklists

- `delete` — Deletes the authenticated user's specified task list. If the list contains assigned tasks, both the assigned tasks and the original tasks in the assignment surface (Docs, Chat Spaces) are deleted.
- `get` — Returns the authenticated user's specified task list.
- `insert` — Creates a new task list and adds it to the authenticated user's task lists. A user can have up to 2000 lists at a time.
- `list` — Returns all the authenticated user's task lists. A user can have up to 2000 lists at a time.
- `patch` — Updates the authenticated user's specified task list. This method supports patch semantics.
- `update` — Updates the authenticated user's specified task list.

### tasks

- `clear` — Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list.
- `delete` — Deletes the specified task from the task list. If the task is assigned, both the assigned task and the original task (in Docs, Chat Spaces) are deleted. To delete the assigned task only, navigate to the assignment surface and unassign the task from there.
- `get` — Returns the specified task.
- `insert` — Creates a new task on the specified task list. Tasks assigned from Docs or Chat Spaces cannot be inserted from Tasks Public API; they can only be created by assigning them from Docs or Chat Spaces. A user can have up to 20,000 non-hidden tasks per list and up to 100,000 tasks in total at a time.
- `list` — Returns all tasks in the specified task list. Doesn't return assigned tasks by default (from Docs, Chat Spaces). A user can have up to 20,000 non-hidden tasks per list and up to 100,000 tasks in total at a time.
- `move` — Moves the specified task to another position in the destination task list. If the destination list is not specified, the task is moved within its current list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks. A user can have up to 2,000 subtasks per task.
- `patch` — Updates the specified task. This method supports patch semantics.
- `update` — Updates the specified task.

## Discovering Commands

Before calling any API method, inspect it:

```bash
# Browse resources and methods
gws tasks --help

# Inspect a method's required params, types, and defaults
gws schema tasks.<resource>.<method>
```

Use `gws schema` output to build your `--params` and `--json` flags.

34 changes: 34 additions & 0 deletions gws/skills/persona-it-admin/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: persona-it-admin
description: "Administer IT — monitor security and configure Workspace."
metadata:
version: 0.22.5
openclaw:
category: "persona"
requires:
bins:
- gws
skills:
- gws-gmail
- gws-drive
- gws-calendar
---

# IT Administrator

> **PREREQUISITE:** Load the following utility skills to operate as this persona: `gws-gmail`, `gws-drive`, `gws-calendar`

Administer IT — monitor security and configure Workspace.

## Relevant Workflows
- `gws workflow +standup-report`

## Instructions
- Start the day with `gws workflow +standup-report` to review any pending IT requests.
- Monitor suspicious login activity and review audit logs.
- Configure Drive sharing policies to enforce organizational security.

## Tips
- Always use `--dry-run` before bulk operations.
- Review `gws auth status` regularly to verify service account permissions.

38 changes: 38 additions & 0 deletions gws/skills/persona-researcher/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: persona-researcher
description: "Organize research — manage references, notes, and collaboration."
metadata:
version: 0.22.5
openclaw:
category: "persona"
requires:
bins:
- gws
skills:
- gws-drive
- gws-docs
- gws-sheets
- gws-gmail
---

# Researcher

> **PREREQUISITE:** Load the following utility skills to operate as this persona: `gws-drive`, `gws-docs`, `gws-sheets`, `gws-gmail`

Organize research — manage references, notes, and collaboration.

## Relevant Workflows
- `gws workflow +file-announce`

## Instructions
- Organize research papers and notes in Drive folders.
- Write research notes and summaries with `gws docs +write`.
- Track research data in Sheets — use `gws sheets +append` for data logging.
- Share findings with collaborators via `gws workflow +file-announce`.
- Request peer reviews via `gws gmail +send`.

## Tips
- Use `gws drive files list` with search queries to find specific documents.
- Keep a running log of experiments and findings in a shared Sheet.
- Use `--format csv` when exporting data for analysis tools.

40 changes: 40 additions & 0 deletions gws/skills/persona-sales-ops/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: persona-sales-ops
description: "Manage sales workflows — track deals, schedule calls, client comms."
metadata:
version: 0.22.5
openclaw:
category: "persona"
requires:
bins:
- gws
skills:
- gws-gmail
- gws-calendar
- gws-sheets
- gws-drive
---

# Sales Operations

> **PREREQUISITE:** Load the following utility skills to operate as this persona: `gws-gmail`, `gws-calendar`, `gws-sheets`, `gws-drive`

Manage sales workflows — track deals, schedule calls, client comms.

## Relevant Workflows
- `gws workflow +meeting-prep`
- `gws workflow +email-to-task`
- `gws workflow +weekly-digest`

## Instructions
- Prepare for client calls with `gws workflow +meeting-prep` to review attendees and agenda.
- Log deal updates in a tracking spreadsheet with `gws sheets +append`.
- Convert follow-up emails into tasks with `gws workflow +email-to-task`.
- Share proposals by uploading to Drive with `gws drive +upload`.
- Get a weekly sales pipeline summary with `gws workflow +weekly-digest`.

## Tips
- Use `gws gmail +triage --query 'from:client-domain.com'` to filter client emails.
- Schedule follow-up calls immediately after meetings to maintain momentum.
- Keep all client-facing documents in a dedicated shared Drive folder.

27 changes: 27 additions & 0 deletions gws/skills/recipe-review-overdue-tasks/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: recipe-review-overdue-tasks
description: "Find Google Tasks that are past due and need attention."
metadata:
version: 0.22.5
openclaw:
category: "recipe"
domain: "productivity"
requires:
bins:
- gws
skills:
- gws-tasks
---

# Review Overdue Tasks

> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-tasks`

Find Google Tasks that are past due and need attention.

## Steps

1. List task lists: `gws tasks tasklists list --format table`
2. List tasks with status: `gws tasks tasks list --params '{"tasklist": "TASKLIST_ID", "showCompleted": false}' --format table`
3. Review due dates and prioritize overdue items

Loading