gws-reader

gws-reader is a skill for Claude Code, Codex from RDEL-Group/compound-knowledge-work. It costs 81 tokens per session (2,155 once invoked), scanned A, original, MIT.

A skill for reading Google Docs, Sheets, Slides, and Drive files through the Google Workspace command-line tool, then turning their contents into clean Markdown text.

In plain words
What is it for?
Find files in Google Drive, including Shared Drives, and read documents, spreadsheets, or presentations for use as project context.
Why use it?
It removes the need to copy content manually when an agent needs information from Google Workspace.

Skill for Claude CodeCodex

Part of the compound-knowledge-work plugin — 5 skills, 7 agents, 1 hook shipped together

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/rdel-group/compound-knowledge-work/gws-reader
Any agent
npx skills add RDEL-Group/compound-knowledge-work --skill gws-reader
Clone the repo
git clone --depth 1 https://github.com/RDEL-Group/compound-knowledge-work

Made for: Claude Code, Codex.

Or install compound-knowledge-work, the plugin that ships this one along with the rest of its 5 skills, 7 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for gws-reader

README.md
[![agentmods](https://agentmods.dev/badge/skills/rdel-group/compound-knowledge-work/gws-reader.svg)](https://agentmods.dev/skills/rdel-group/compound-knowledge-work/gws-reader)
Your own site
<a href="https://agentmods.dev/skills/rdel-group/compound-knowledge-work/gws-reader"><img src="https://agentmods.dev/badge/skills/rdel-group/compound-knowledge-work/gws-reader.svg" alt="Measured on agentmods" height="20"></a>
Per session 81 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,155 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.00081 $0.02155
Opus 5 $0.00041 $0.01077
Sonnet 5 $0.00016 $0.00431
Haiku 4.5 $0.00008 $0.00215

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

Security

Grade A, and why

gws-reader 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 3d ago.

The scan reads SKILL.md. This mod also ships 3 executable files (scripts/docs_to_markdown.py, scripts/sheets_to_markdown.py, scripts/slides_to_markdown.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/gws-reader/SKILL.md · 242 lines

How it starts

The opening of the file, as written. The whole thing — 242 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Google Workspace Reader

Read files from Google Drive and convert their content to clean markdown. Supports Google Docs, Sheets, and Slides. Searches across all Drives including Shared Drives.

When to Use

  • User asks to read, view, or fetch a Google Doc, Sheet, or Slides file
  • User asks to search or find files on Google Drive
  • /ckw:drive command needs to search or read files
  • /ckw:import-reference --from-drive needs to fetch content before importing
  • Any CKW agent needs Google Workspace content as context

Prerequisites

Check 1: gws CLI installed

which gws

If not found:

The Google Workspace CLI (gws) is required but isn't installed.

Install:
  npm install -g @googleworkspace/cli

Then authenticate:
  gws auth setup
  gws auth login

After setup, run this command again.

Stop here — do not attempt any operations without gws.

Check 2: Authentication valid

gws drive files list --params '{"pageSize": 1}' 2>&1

If the response contains "401" or "authError":

Your Google Workspace session has expired. Re-authenticate:
  gws auth login

Then try again.

Stop here — do not attempt operations with expired auth.

Find files by name across all Drives (including Shared Drives).

Step 1: Execute search

gws drive files list --params '{"q": "name contains '\''SEARCH_TERM'\''", "includeItemsFromAllDrives": true, "supportsAllDrives": true, "corpora": "allDrives", "pageSize": 10, "fields": "files(id,name,mimeType,modifiedTime,parents)"}'

To search within a specific Shared Drive (if user specifies):

gws drive files list --params '{"q": "name contains '\''SEARCH_TERM'\''", "driveId": "DRIVE_ID", "includeItemsFromAllDrives": true, "supportsAllDrives": true, "corpora": "drive", "pageSize": 10, "fields": "files(id,name,mimeType,modifiedTime,parents)"}'

To list available Shared Drives:

gws drive drives list

Escaping apostrophes: if SEARCH_TERM contains an apostrophe, escape it as \' inside the query (e.g., O'BrienO\'Brien) — otherwise the Drive q string terminates early and the search fails or returns wrong results.

Read the full file on GitHub · 242 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 3d ago First seen · 242 lines · 81 tokens per session scan A 46f4cb116746

Subscribe to this mod's changes

gws-reader is a skill published in the GitHub repository RDEL-Group/compound-knowledge-work (9 stars, last pushed 1mo ago), licensed MIT. It adds 81 tokens to every session and 2,155 once invoked, about $0.0004 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-31.

Related

Other skills, from other repositories

brand-xlsx

Brand-aware Excel engine. Use to (1) EXTRACT a company's brand from a .xlsx template into a reusable "Brand Profile", (2) COMPREHEND the template with the model (optional), (3) VERIFY it, (4) GENERATE a new on-brand .xlsx from a GridDocument fill manifest. Trigger on "extract our brand", "use our workbook template"…

ferdinandobons/brand-docs · 141 tokens

analyze

Analyze a large file (CSV, Excel, PDF, JSON, code) and return a token-efficient summary. Instead of reading thousands of rows or pages, get schema + statistics + sample in under 500 tokens. Use when user mentions a file path, asks to analyze data, pastes many rows, or references a CSV/Excel/PDF/JSON file.

Shweta-Mishra-ai/tokenmizer · 76 tokens

gw-sheets

Read, write, append, and list Google Sheets via CLI. TRIGGERS: "sheets", "spreadsheet", "google sheets", "read sheet", "write sheet", "append row", "update cell", "list spreadsheets".

Elnora-AI/elnora-google-workspace · 54 tokens

csv-to-report

Convert a raw CSV into a structured, business-ready report using a 3-step framework — load + label, define rules, request structured deliverables. Trigger when the user says "csv to report", "report from this csv", "summarize this spreadsheet", "training log report", "compliance report", "turn this data into a…

ZachArticulateV/designer-pro-and-seo · 88 tokens

opendart-excel

사용자가 특정 기업/사업연도의 연결·별도 재무제표를 엑셀로 요청하면, OpenDART MCP로 공시 원문을 받아 DART 원문 양식(재무제표 시트 + 클릭 가능한 주석 링크)의 검증된 Excel 파일을 생성한다.

gyeongmin100/Open-Dart-Plugin · 70 tokens

faostat-analytical-brief

Use when the user wants a short, FAOSTAT-style analytical brief — a multi-page PDF policy document in the FAOSTAT house visual style, with a HIGHLIGHTS box, global/regional/country sections, numbered figures with source lines, explanatory notes, and a data appendix. Use when the user asks for "an analytical brief on…

berba-q/faostat-skills · 183 tokens