action-validator
FreePre-action boundary checking — validates agent tool calls against declared capabilities and task contracts
The English summary is being prepared. Showing the original description.
실시간 Google Calendar 조회·일정 등록·수정. 캘린더, 일정, 면접, 예약 변경 요청 시 사용. Second-Brain 검색은 조회 전용이지만 이 도구는 쓰기 가능하며 브라우저가 필요 없다.
The English summary is being prepared. Showing the original description.
Review the instructions the agent will receive before you install.
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 실제 시각으로 계산한다. 과거 대화/시스템 프롬프트에 적힌 날짜를 현재 날짜로 사용하지 않는다.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))
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로 교환한다. 인증 완료 뒤 임시 파일을 지운다.
No reviews yet. Tell others what you thought.
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.
Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts
The English summary is being prepared. Showing the original description.
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.
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.
Apache Airflow best practices for DAG authoring, testing, and production deployment
The English summary is being prepared. Showing the original description.
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.
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.