Andrew Google Calendar

v1.0.0

Google Calendar API ���� �� 조�, ��, ��, �� �리. OAuth 2.0 �� ��. ���� �� �린��� ��� ���고 �리�� � ��.

0· 25·1 current·1 all-time
by김현곤@ibluewind

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for ibluewind/andrew-google-calendar.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Andrew Google Calendar" (ibluewind/andrew-google-calendar) from ClawHub.
Skill page: https://clawhub.ai/ibluewind/andrew-google-calendar
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install ibluewind/andrew-google-calendar

ClawHub CLI

Package manager switcher

npx clawhub@latest install andrew-google-calendar
Security Scan
Capability signals
Requires OAuth tokenRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, SKILL.md, and the included Python modules (oauth_setup.py and calendar_ops.py) all implement Google Calendar OAuth2 and calendar operations. Required resources (none declared) are reasonable for a purely instruction/code skill. Nothing in the files requests unrelated cloud credentials or services.
Instruction Scope
Runtime instructions (copying client_secret JSON to the home directory, installing google-auth libraries, running oauth_setup.py) fit the stated purpose. Notes: SKILL.md and oauth_setup.py occasionally reference specific developer paths (e.g., /Users/andrew/.openclaw/...) — these are examples and not required. There is a minor inconsistency in the documented credentials filename: most places expect ~/.google-credentials.json, but one error/help message in oauth_setup.main() mentions ~/.google-calendar-credentials.json. That is a documentation inconsistency to correct but not evidence of malicious behavior.
Install Mechanism
No install spec; the SKILL.md asks the user to pip-install standard google-auth libraries. This is expected and proportionate for a Python-based Google API client. There are no downloads from arbitrary URLs or extract steps.
Credentials
The skill requests no environment variables or external credentials via env vars; instead it uses OAuth client secrets saved in a file under the user's home directory (~/.google-credentials.json) and stores tokens at ~/.google-calendar-token.pickle. This is typical for desktop OAuth flows. Caution: token storage uses Python pickle — if an attacker can replace that file, loading a malicious pickle can execute code. That is a known risk of pickle-based token storage and is inherent to the implementation, not an indicator of unrelated credential access.
Persistence & Privilege
The skill does not request always:true nor request system-wide config changes. It stores tokens and credentials under the user's home directory (expected for OAuth). It does not modify other skills or global agent settings.
Assessment
This skill appears to do what it says: use Google OAuth2 to access your Calendar and provide helpers for listing/creating/updating events. Before installing or running: 1) Verify which filename you should use (the code expects ~/.google-credentials.json and tokens are saved to ~/.google-calendar-token.pickle; fix any copy/paste differences in the docs). 2) Protect the token/credentials files—do not share them. 3) Be aware the code uses Python pickle to save credentials; if the token file is replaced by an attacker, loading it could be abused. Only run this code on a trusted machine and keep the token file private. 4) Inspect the included scripts yourself (or run in an isolated environment) and ensure you are comfortable with the requested Google OAuth scope (https://www.googleapis.com/auth/calendar gives read/write access to your calendars). 5) Install the listed google-auth packages from PyPI (official packages) and avoid running arbitrary downloaded binaries.

Like a lobster shell, security has layers — review code before you run it.

latestvk97d2psva7py896cgd2zsaqh9d85nd8e
25downloads
0stars
1versions
Updated 4h ago
v1.0.0
MIT-0

Google Calendar

Overview

Google Calendar API 를 ���� ���� ��� 조�, ��, ��, ���� � �� ������. OAuth 2.0 ��� ���� ���� �� �린�� �근����.

Setup

1. OAuth ������� �� ��

# Google Cloud Console �� OAuth ������� �� ����
# https://console.cloud.google.com/apis/credentials

# �� ��� � ����리� 복�
cp ~/Downloads/client_secret_*.json ~/.google-credentials.json

2. �존� ��

pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib

3. �� ����

cd /Users/andrew/.openclaw/workspace/google-calendar
python3 scripts/oauth_setup.py

첫 ��� ����� �리고 Google ���� �그�� � ��� ����� ����.

Capabilities

�� 조�

��� �� ��:

"�� 7 � ��� 보��"
"�� ��� ��?"
"�� 주 �� 목� �려�"

��� 기� 조�:

"4 � 15 ���� 20 ��� ��� 보��"

�� ��

� �� ��:

"�� �� 2 �� � 미� �� ����, 1 �� ��, Zoom ��"
"�� 주 ��� 10 �� dentist ��, 30 �"

�� ��

�� �경:

"�� �� 2 � 미�� �� 3 �� ���"
"�� �목� '� 미�'�� '����� ��� 미�'�� �경���"

�� ��

�� 취�:

"�� �� 2 � 미� 취����"

Usage Examples

�� 1: ��� �� 조�

from scripts.calendar_ops import list_events, format_event

# �� 7 � �� 조�
events = list_events(max_results=10)
for event in events:
    print(format_event(event))

�� 2: � �� ��

from scripts.calendar_ops import create_event
from datetime import datetime, timedelta

# �� �� 2 � �� ��
start = datetime.now() + timedelta(days=1, hours=14)
end = start + timedelta(hours=1)

event = create_event(
    summary="� 미�",
    start_time=start.isoformat(),
    end_time=end.isoformat(),
    description="주� ����� ���",
    location="Zoom"
)

�� 3: �린� 목� ��

from scripts.oauth_setup import list_calendars

calendars = list_calendars()
for cal in calendars:
    print(f"{cal['summary']} - {cal['accessRole']}")

Files Structure

google-calendar/
��� SKILL.md
��� scripts/
�   ��� oauth_setup.py      # OAuth 2.0 �� � ���� �리
�   ��� calendar_ops.py     # Calendar API �� ����
��� references/

Security Notes

  • OAuth ����� ~/.google-calendar-token.pickle � �����
  • ������� ��� ~/.google-credentials.json � �����
  • � ���� .gitignore � ����� ����
  • �� ��: https://www.googleapis.com/auth/calendar (�기/�기 �체 �근)

Troubleshooting

"OAuth ������� �� ��� ����" ��:

  • Google Cloud Console �� OAuth 2.0 ������� ��를 �� ����
  • client_secret_XXXXXX.json ��� ~/.google-credentials.json �� 복�

�� ���:

  • ���� ��� ���고 ���: rm ~/.google-calendar-token.pickle
  • Google Cloud Console �� API ��� ��

�� ��:

  • OAuth �� �면�� ��� �� ��
  • ����� �� � ���

Comments

Loading comments...