Skip to content
cccskills
FreePublished on GitHub

calendar

실시간 Google Calendar 조회·일정 등록·수정. 캘린더, 일정, 면접, 예약 변경 요청 시 사용. Second-Brain 검색은 조회 전용이지만 이 도구는 쓰기 가능하며 브라우저가 필요 없다.

The English summary is being prepared. Showing the original description.

Works withGoogle Calendar
See how to install

Files included (1)

  • SKILL.md3.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Calendar

Google Calendar API에 직접 연결된 영속 클라이언트다. 일정 등록·수정은 지원된다. 브라우저 활성화나 hermes tools enable browser가 필요하지 않다.

CAL="python ${HERMES_HOME:-$HOME/.hermes}/calendar_client.py"
$CAL now
$CAL calendars
$CAL list --start 2026-09-21T00:00:00+09:00 --end 2026-09-22T00:00:00+09:00
$CAL get --calendar primary --event-id EVENT_ID
  • 오늘·내일·이번 주는 반드시 now의 Asia/Seoul 실제 시각으로 계산한다. 과거 대화/시스템 프롬프트에 적힌 날짜를 현재 날짜로 사용하지 않는다.
  • 일정 조회는 이 실시간 API를 우선한다. Second-Brain calendar 검색 결과는 수집 주기만큼 늦을 수 있다.
  • 등록/수정은 사용자 요청이 있으면 실행한다. 명확히 요청한 사항을 매번 재승인받지 않는다. 대상이 여러 개면 구분에 필요한 정보만 묻는다.
  • 먼저 날짜 범위로 후보를 조회하고 Google event ID를 확보한다. Second-Brain document UUID는 Google event ID가 아니다.
  • calendars의 accessRole이 owner/writer인 캘린더만 수정 가능하다. 기본은 primary.

수정

get으로 얻은 etag를 그대로 전달한다. 제공한 필드만 PATCH하므로 참석자·알림·링크 등은 보존된다. 시작/종료는 함께 지정하며 시간대 오프셋 필수.

import os, sys
from pathlib import Path
sys.path.insert(0, str(Path(os.environ.get('HERMES_HOME', Path.home()/'.hermes'))))
import calendar_client as cal
old = cal.api(cal.event_path('primary', event_id))
updated = cal.update('primary', event_id, old['etag'],
    summary='회의', start='2026-09-22T17:00:00+09:00',
    end='2026-09-22T18:00:00+09:00', location='회의실',
    description='변경 사항')
verified = cal.api(cal.event_path('primary', event_id))
  • 시작 전 도착 시각/사전 준비는 메모에 별도로 남긴다. 종료가 명시되지 않았다면 기존 종료 시각을 유지하고 그 사실을 알린다.
  • 412/etag 충돌은 최신 내용을 다시 읽어 해결한다. 무조건 덮어쓰지 않는다.
  • 반복 일정은 조회로 얻은 개별 occurrence ID만 수정한다. 시리즈 전체 수정과 종일→시간 일정 변환은 지원하지 않는다.
  • 사용자에게 성공을 보고하기 전 get으로 실제 저장 결과를 확인한다.

등록

import uuid
# 재시도 때는 반드시 같은 event_id를 재사용한다.
event_id = uuid.uuid4().hex
created = cal.create('primary', event_id, summary='회의',
    start='2026-09-22T17:00:00+09:00', end='2026-09-22T18:00:00+09:00')

먼저 해당 시간대에 같은 일정이 있는지 확인한다. 409는 같은 ID를 get으로 조회해 성공 여부를 확인한다. API/네트워크 실패 후 새 ID로 무작정 재등록하지 않는다. 참석자 초대·이메일 발송·삭제는 이 클라이언트 범위에 없다.

인증 오류

토큰과 OAuth client 파일은 영속 Hermes 홈에 저장되며 자동 갱신된다. 토큰 원문/키를 읽어 출력하거나 대화에 붙이지 않는다. 조회만 가능하다고 추측하지 말고 실제 오류를 확인한다. Google 401/403이면 재승인이 필요할 수 있다. auth-url로 승인 URL을 받고, 승인 뒤 전체 redirect URL을 비공개 파일에 저장하여 auth-code --redirect-file PATH로 교환한다. 인증 완료 뒤 임시 파일을 지운다.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts

The English summary is being prepared. Showing the original description.

baekenough/second-brain15Updated Oct 8, 2026

Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile

The English summary is being prepared. Showing the original description.

baekenough/second-brain15Updated Oct 8, 2026

Adversarial code review using attacker mindset — trust boundary, attack surface, business logic, and defense evaluation

The English summary is being prepared. Showing the original description.

baekenough/second-brain15Updated Oct 8, 2026

Apache Airflow best practices for DAG authoring, testing, and production deployment

The English summary is being prepared. Showing the original description.

baekenough/second-brain15Updated Oct 8, 2026

Alembic migration patterns for naming conventions, safety checks, expand-contract, env.py configuration, and CI integration

The English summary is being prepared. Showing the original description.

baekenough/second-brain15Updated Oct 8, 2026

Pre-routing ambiguity analysis — scores request clarity and asks clarifying questions when needed (inspired by ouroboros)

The English summary is being prepared. Showing the original description.

baekenough/second-brain15Updated Oct 8, 2026

See all skills by baekenough

Report a problem with this skill