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.
npx agentmods add skills/rdel-group/compound-knowledge-work/gws-readernpx skills add RDEL-Group/compound-knowledge-work --skill gws-readergit clone --depth 1 https://github.com/RDEL-Group/compound-knowledge-workWrote 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.
[](https://agentmods.dev/skills/rdel-group/compound-knowledge-work/gws-reader)<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>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.
| Model | Per session | Once 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 |
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.
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.
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:drivecommand needs to search or read files/ckw:import-reference --from-driveneeds 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.
Mode: Search
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_TERMcontains an apostrophe, escape it as\'inside the query (e.g.,O'Brien→O\'Brien) — otherwise the Driveqstring terminates early and the search fails or returns wrong results.
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.
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.
- 3d ago First seen · 242 lines · 81 tokens per session scan A 46f4cb116746
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.
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"…
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.
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".
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…
opendart-excel
사용자가 특정 기업/사업연도의 연결·별도 재무제표를 엑셀로 요청하면, OpenDART MCP로 공시 원문을 받아 DART 원문 양식(재무제표 시트 + 클릭 가능한 주석 링크)의 검증된 Excel 파일을 생성한다.
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…