diff --git a/gws/.claude-plugin/plugin.json b/gws/.claude-plugin/plugin.json index 0e8362f..f4d1716 100644 --- a/gws/.claude-plugin/plugin.json +++ b/gws/.claude-plugin/plugin.json @@ -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" }, diff --git a/gws/skills/gws-gmail-read/SKILL.md b/gws/skills/gws-gmail-read/SKILL.md new file mode 100644 index 0000000..dc153af --- /dev/null +++ b/gws/skills/gws-gmail-read/SKILL.md @@ -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 +``` + +## 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 diff --git a/gws/skills/gws-tasks/SKILL.md b/gws/skills/gws-tasks/SKILL.md new file mode 100644 index 0000000..da4b44d --- /dev/null +++ b/gws/skills/gws-tasks/SKILL.md @@ -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 [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.. +``` + +Use `gws schema` output to build your `--params` and `--json` flags. + diff --git a/gws/skills/persona-it-admin/SKILL.md b/gws/skills/persona-it-admin/SKILL.md new file mode 100644 index 0000000..270fdef --- /dev/null +++ b/gws/skills/persona-it-admin/SKILL.md @@ -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. + diff --git a/gws/skills/persona-researcher/SKILL.md b/gws/skills/persona-researcher/SKILL.md new file mode 100644 index 0000000..ef0068c --- /dev/null +++ b/gws/skills/persona-researcher/SKILL.md @@ -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. + diff --git a/gws/skills/persona-sales-ops/SKILL.md b/gws/skills/persona-sales-ops/SKILL.md new file mode 100644 index 0000000..b22f755 --- /dev/null +++ b/gws/skills/persona-sales-ops/SKILL.md @@ -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. + diff --git a/gws/skills/recipe-review-overdue-tasks/SKILL.md b/gws/skills/recipe-review-overdue-tasks/SKILL.md new file mode 100644 index 0000000..396ca92 --- /dev/null +++ b/gws/skills/recipe-review-overdue-tasks/SKILL.md @@ -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 +