본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

google_calendar

Google Calendar의 일정 목록, 세부 정보, 빈 시간을 확인하고 일정을 만들거나 변경·삭제합니다. 여러 계정과 캘린더를 다루며 참석자에게 보내는 알림도 관리합니다.

원문원문 설명 보기

Work with the user's Google Calendar: agenda views, event details, and scheduling changes.

연동 도구Google Calendar

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • 오늘이나 일주일의 일정을 확인합니다
  • 회의를 잡을 수 있는 빈 시간을 찾습니다
  • 집중해서 일할 시간을 확보합니다
  • 일정 변경이나 취소를 참석자에게 알립니다

한국어 소개

할 수 있는 일

google_calendar는 Google Calendar에서 오늘이나 일주일의 일정 목록을 보여 주고 개별 일정의 세부 정보와 빈 시간을 확인합니다. 일정 생성, 시간과 장소 변경, 참석자 추가와 삭제, 일정 취소가 가능합니다. 연결된 여러 계정과 캘린더를 다루며 일정을 찾은 캘린더를 그대로 사용해 변경합니다. 종일 일정과 집중 작업 시간 확보도 지원합니다.

이럴 때 유용합니다

하루 일정을 살펴보거나 회의를 잡을 수 있는 시간을 찾을 때 유용합니다. 업무용과 개인용 등 여러 캘린더를 사용하거나 참석자 알림이 필요한 일정 변경을 함께 요청할 때도 사용할 수 있습니다.

사용 예시

  • “오늘과 내일 일정을 정리해 주세요.”
  • “다음 주 이 캘린더에서 회의를 잡을 수 있는 빈 시간을 찾아 주세요.”
  • “이 회의의 장소를 바꾸고 참석자에게도 알려 주세요.”

주의 사항

hatch_gws_cli와 Google Calendar의 최초 연결이 필요합니다. 일부 작업에는 추가 접근 권한이 필요할 수 있습니다. 참석자가 있는 일정 생성, 참석자에게 알림이 가는 변경, 캘린더나 공유 권한 관리는 내용을 확인한 뒤 실행합니다. 알림 없이 변경하면 상대방의 캘린더에 반영되지 않을 수 있어 별도로 확인합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

문서 점검

AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.

안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호참석자 알림과 공유 권한 변경 전 확인을 요구하며 인증 정보 파일의 수동 생성을 금지합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
A양호hatch_gws_cli를 통한 연결 확인, 최초 연결, 추가 권한 획득 절차를 설명합니다.

점수에는 넣지 않았습니다. 2026년 10월 24일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(3)

  • SKILL.md8.4 KB
  • eval/scenarios.yaml17.5 KB
  • manifest.yaml4.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Google Calendar

Everything runs through hatch_gws_cli calendar .... Raw API calls are space-separated (<resource> <method>) and take a --params JSON object, plus a --json body when creating or editing. A timed event's start/end is a dateTime in RFC3339 with a timezone offset, like 2026-04-16T14:00:00-07:00; an all-day event uses a date-only date like 2026-04-16 instead (never mix the two on one event). Run hatch_gws_cli calendar <command> --help for a command's flags, and hatch_gws_cli schema calendar.events.insert (and so on) for a raw method's --params and --json shape before you use one you are unsure of.

Connecting

Calendar needs a one-time connect before commands return data. Run hatch_gws_cli calendar status. If it comes back not connected and returns a connect_url, post it as [Connect Google Calendar](<connect_url>), then stop and wait for the user to tap it. If no URL is returned, report that connection is unavailable and stop; never invent one. Connecting is the user's step: never open the sign-in, drive a browser to it, send the user to Settings, or ask for credentials. If status is unavailable, say Google Calendar is unavailable on this device and stop. Disconnect with hatch_gws_cli calendar disconnect. Post [Disconnect Google Calendar](<disconnect_url>) only when the command returns that URL; otherwise rerun status and report its state without inventing a link. If a later command fails with an auth error, missing connector, or not-connected status, rerun status: if not connected with a URL, post the connect link and wait; if connected, retry once; if unavailable or missing a URL, report that and stop. Auth flows only through status and disconnect. Never hand-author credential files or run raw gws auth.

If the user asks to add or link another Google Calendar account, run hatch_gws_cli calendar status and post the exact add_account_url it returns as [Add Google Calendar account](<add_account_url>). Never reuse connect_url for an additional account. If add_account_url is absent, say that adding another account is unavailable. To remove one specific Google Calendar account while keeping the others, direct the user to that account under Connectors in Settings; do not disconnect Google Calendar entirely.

More than one account

A user can link several Google accounts. Calendar service calls use the default account when --account is omitted, so most tasks need nothing extra and there is no need to list accounts first. When the user clearly means a specific one of several, list them with hatch_gws_cli calendar accounts (identity only, no tokens) and match their words to a display_name, then add --account <account_id> to the command. --account selects which linked account runs a calendar service call and which account a capability-aware status --for-command checks; plain status, disconnect, and accounts remain connector-wide lifecycle commands. If you cannot match the user's words to exactly one display_name, ask which account rather than guessing; a wrong or unlinked --account fails closed ("account may not be linked") — surface that and confirm the account, never silently retry on the default.

If Google returns 403, insufficientPermissions, or "insufficient authentication scopes," run hatch_gws_cli calendar status --for-command <command-or-method> with the same --account <account_id> selection as the failed operation. When scope_status is not_granted, post the returned scope_add_url exactly as [Additional Google Calendar access](<scope_add_url>) and tell the user to choose that same account on Google's consent screen. Do not substitute add_account_url: that starts a new-account flow rather than adding access to the selected account. Wait for consent to finish before retrying the command.

Common flows

Read the agenda

+agenda is the default for any read-only "what's on my calendar", "what's coming up", or multi-day summary. It searches every visible calendar.

  • Match the window to the question: +agenda --today for today, +agenda --week or +agenda --days 7 for a range.
  • One calendar: +agenda --calendar <name-or-id>.
  • Add --format json when you need to parse the result.

Look up calendars, events, and free time

  • Which calendars exist: calendarList list. Use it when the user asks what calendars are connected or wants to target one by name.
  • Events in a known calendar, or to get an event's ID before editing it: events list --params '{"calendarId":"primary","timeMin":"<start>","timeMax":"<end>"}'. Use this over +agenda only when you need a specific calendar, fields +agenda omits, or event IDs.
  • One event's full detail: events get --params '{"calendarId":"primary","eventId":"<id>"}'.
  • Whether a time is free or busy: freebusy query --json '{"timeMin":"<start>","timeMax":"<end>","items":[{"id":"primary"}]}'.

Create, update, or delete events

  • Create: events insert --params '{"calendarId":"primary"}' --json '{"summary":"Focus block","start":{"dateTime":"<start>"},"end":{"dateTime":"<end>"}}'. Add attendees, location, or description as needed. A block, hold, or focus event must show as busy: leave transparency unset or set it to "opaque", never "transparent" (that shows the time as free) unless the user wants it to read as free. For an all-day event use date-only values instead, "start":{"date":"2026-04-16"},"end":{"date":"2026-04-17"}, where the end date is exclusive.
  • Update: events patch --params '{"calendarId":"primary","eventId":"<id>"}' --json '{"location":"Room A"}'. Patch only the fields that change. A patch REPLACES a whole array, so to add or remove a guest, first read the event and send back the COMPLETE attendee list with your change applied — never send only the new guest, or you silently drop the others.
  • Delete: events delete --params '{"calendarId":"primary","eventId":"<id>"}'.

Carry the account, calendar ID, and event ID from the read that found the event straight through the write, and use them exactly. primary above is only the default when the user has not pointed at another calendar; once a read locates an event on some calendar, target that same calendar and account for the update or delete — never fall back to primary. Never invent or rewrite an event ID.

For any create, deletion, or guest-visible change, add "sendUpdates":"all" to --params whenever attendees exist before or after the write. This includes adding the first guest, recurrence or conference changes, and time, location, title, description, or attendee changes. A deletion sent with "sendUpdates":"all" gives each guest a cancellation notice. If the user asks not to notify anyone, explain that "sendUpdates":"none" can stop the change from reaching guests' calendars, then confirm before using it.

Rules

  • Private event creation, private updates, and event deletion may proceed from a clear user request without an additional confirmation. Creating an event with guests, changing an event in a way that notifies guests, and calendar or ACL management require confirmation because event content or access changes reach other people. Before those outward-facing writes, restate the specific event, time, recipients, and notification effect.
  • Commands that return the saved event in their response (such as timed-event reads, creates and updates) add event_starts_at / event_ends_at; recurring instances also add event_original_starts_at. Each carries UTC and user-local forms; prefer user_local in replies. All-day bounds remain calendar dates and must not be timezone-shifted. Trust the events +agenda returns for the window you asked for, and get "today" and "tomorrow" right against the current date.
  • Talk to the user in plain language only. Never show raw commands, status words like not_connected or unavailable, opaque provider/event/calendar IDs, etags, page tokens or cursors, raw JSON, or other internal response fields, unless the user asks for them. You may name an account by its display name or recognizable email when you need to disambiguate which account you mean. Keep IDs and pagination cursors internally to chain follow-up commands.
  • Never print tokens, secrets, or credential material. Redact them if they appear in tool output.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

3d-object

무료요약 있음

three.js로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.

  • 입체 모델을 만들고 모든 각도에서 확인하기
  • Blender에서 편집할 모델 만들기
  • 모델의 윤곽과 재질 표현 확인하기
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

action-items

무료요약 있음

개인 작업 목록에 할 일, 기한, 다음 단계, 답변을 기다리는 대상과 진행을 막는 이유를 기록합니다. 진행 상황과 의존 관계를 갱신하고 중복 및 완료 항목을 정리합니다.

  • 기한이 있는 작업과 약속 기록
  • 답변 대기와 진행을 막는 이유 정리
  • 선행 작업 완료 후 의존 관계 갱신
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

agents

무료

Coordinate a task from a verifiable goal through completion. Handle work directly or split independent tasks across separate agent sessions, track progress, verify results, and arrange pull request merging when included in the goal.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Split independent tasks across agents
  • Check progress across ongoing tasks
  • Resume a previously started project
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

animated-video

무료요약 있음

재생, 일시 정지, 시간 위치 지정이 가능한 HTML 애니메이션을 만듭니다. 장면 길이와 속도를 조절하고 가로형·세로형 영상 내보내기를 준비합니다.

  • 제품 조작 과정을 영상으로 제작
  • 글자와 도형으로 내용 설명
  • 세로형 애니메이션 제작
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

apple_healthkit

무료요약 있음

Apple Health에 동기화된 걸음 수, 심박수, 수면, 운동 기록을 기간별로 확인하고 일상 변화와 동기화 상태, 누락된 데이터를 살펴봅니다.

  • 걸음 수와 심박수의 변화를 확인합니다
  • 수면 단계와 시간, 중간 각성을 확인합니다
  • 운동 시간과 거리, 소모 열량을 돌아봅니다
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

artifact_document

무료요약 있음

Word 문서와 템플릿을 만들고 편집하며 내용 추출, 이미지 교체, 변경 내용 추적과 메모를 다룹니다. 제목과 목록 구조를 정리하고 모든 페이지의 표시를 확인합니다.

  • 구조를 갖춘 Word 문서 작성
  • 기존 문서의 내용 정리
  • 문서 안의 이미지와 텍스트 교체
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

asgeirtj의 스킬 모두 보기

이 스킬의 문제 신고