소스 정보
- 저장소
- laude-institute/headlong
- 최근 소스 활동
- 2026년 5월 9일 22:03
- 감지된 SKILL.md 언어
- 영어
- 스타
- 1,057
- 포크
- 105
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/laude-institute/headlong --skill googleworkspace명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Create new ShellLM skills. Use when the user asks to write, author, build, or scaffold a new skill, or when an agent needs to extend its own capabilities by creating a new SKILL.md file.
Reference for the shellm system — recursive LLM shell, identity management, memory, skills, trajectory, and all CLI tools. Use when working on shellm itself, debugging agent behavior, or understanding how the pieces fit together.
Talk with people on Slack — recognize slack-* senders and reach them via chat reply
SKILL.md 표시 중
| name | googleworkspace |
| description | Manage Google Drive, Gmail, Calendar, Sheets, Docs, and Chat via the gws CLI |
| metadata | {"shelllm":{"requires":{"bins":["gws"]}}} |
The gws CLI provides access to Google Workspace APIs (Drive, Gmail, Calendar, Sheets, Docs, Chat, and more). Commands are dynamically generated from Google's Discovery Service.
gws <service> <resource> <method> [flags]
Helper commands (prefixed with +) provide shortcuts for common workflows.
# Browser-based OAuth (interactive, one-time)
gws auth login
# Or use an existing access token
export GOOGLE_WORKSPACE_CLI_TOKEN=$(gcloud auth print-access-token)
| Flag | Description |
|---|---|
--params '{...}' | URL/query parameters (JSON) |
--json '{...}' | Request body (JSON) |
--dry-run | Preview request without calling the API |
--page-all | Auto-paginate all results (NDJSON output) |
--upload <PATH> | Upload file content (multipart) |
--format <FMT> | Output format: json (default), table, yaml, csv |
Always inspect before calling an unfamiliar method:
gws <service> --help
gws schema <service>.<resource>.<method>
# Send an email
gws gmail +send --to alice@example.com --subject "Hello" --body "Hi there"
# Unread inbox summary
gws gmail +triage
# Read a message body
gws gmail +read --message-id MESSAGE_ID
# Reply to a message (threading handled automatically)
gws gmail +reply --message-id MESSAGE_ID --body "Thanks!"
# Reply-all
gws gmail +reply-all --message-id MESSAGE_ID --body "Acknowledged"
# Forward a message
gws gmail +forward --message-id MESSAGE_ID --to bob@example.com
# Watch for new emails (streams NDJSON)
gws gmail +watch
# List messages via API
gws gmail users messages list --params '{"maxResults": 10}'
# Show upcoming events
gws calendar +agenda
# Show agenda in a specific timezone
gws calendar +agenda --timezone America/New_York
# Create an event
gws calendar +insert --title "Standup" --time "2026-05-02T09:00:00"
# List events via API
gws calendar events list --params '{"calendarId": "primary", "maxResults": 5}'
# Check free/busy
gws calendar freebusy query --json '{"timeMin": "...", "timeMax": "...", "items": [{"id": "primary"}]}'
# List files
gws drive files list --params '{"pageSize": 10}'
# Upload a file
gws drive +upload ./report.pdf --name "Q1 Report"
# Download a file
gws drive files get --params '{"fileId": "FILE_ID", "alt": "media"}' -o output.pdf
# Search for files
gws drive files list --params '{"q": "name contains '\''budget'\''", "pageSize": 10}'
# Create a folder
gws drive files create --json '{"name": "Projects", "mimeType": "application/vnd.google-apps.folder"}'
# Read a range
gws sheets +read --spreadsheet SPREADSHEET_ID --range "Sheet1!A1:D10"
# Append a row
gws sheets +append --spreadsheet SPREADSHEET_ID --values "Alice,95,A"
# Read via API
gws sheets spreadsheets values get \
--params '{"spreadsheetId": "ID", "range": "Sheet1!A1:C10"}'
# Append via API
gws sheets spreadsheets values append \
--params '{"spreadsheetId": "ID", "range": "Sheet1!A1", "valueInputOption": "USER_ENTERED"}' \
--json '{"values": [["Name", "Score"], ["Alice", 95]]}'
# Create a new spreadsheet
gws sheets spreadsheets create --json '{"properties": {"title": "Q1 Budget"}}'
# Append text to a document
gws docs +write --document-id DOC_ID --text "New paragraph of text"
# Get document content
gws docs documents get --params '{"documentId": "DOC_ID"}'
# Send a message to a space
gws chat +send --space-id spaces/SPACE_ID --text "Deploy complete."
# List spaces
gws chat spaces list
! expansion: Sheet ranges like Sheet1!A1 contain ! which zsh interprets as history expansion. Always use double quotes for ranges:
gws sheets +read --spreadsheet ID --range "Sheet1!A1:D10"
--params and --json values in single quotes so the shell doesn't interpret the inner double quotes.--dry-run for destructive operations until the user confirms.| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | API error (4xx/5xx) |
| 2 | Auth error |
| 3 | Validation error |
| 4 | Discovery error |
| 5 | Internal error |