本文へ移動
cccskills
無料GitHub で公開

add-gcal

Add Google Calendar integration to Deus. Agents can list, create, update, and delete calendar events. Guides through GCP OAuth setup, token generation, keep-alive timer, and CLI command installation.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.4 KB
  • source.json687 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Add Google Calendar

This skill adds Google Calendar tools to Deus container agents via the built-in @deus-ai/gcal-mcp package. Once set up, agents can list events, create meetings, check availability, and manage calendars from any channel.

Phase 1: Pre-flight

Check if already configured

ls integrations/gcal/credentials.json 2>/dev/null && echo "CREDS_EXIST" || echo "NO_CREDS"
ls integrations/gcal/tokens.json 2>/dev/null && echo "TOKENS_EXIST" || echo "NO_TOKENS"
ls packages/mcp-gcal/dist/index.js 2>/dev/null && echo "PACKAGE_BUILT" || echo "NOT_BUILT"
  • If all three exist, skip to Phase 4: Verify.
  • If tokens exist but are stale (older than 7 days), skip to Phase 3: Authorize.
  • If credentials exist but no tokens, skip to Phase 3: Authorize.
  • Otherwise, continue to Phase 2.

Phase 2: GCP Project Setup

Tell the user:

I need you to create Google Cloud OAuth credentials. This is a one-time setup:

  1. Open https://console.cloud.google.com - create a new project or select an existing one
  2. Go to APIs & Services > Library, search "Google Calendar API", click Enable
  3. Go to APIs & Services > Credentials, click + CREATE CREDENTIALS > OAuth client ID
    • If prompted for a consent screen: choose External, fill in app name ("Deus") and your email, save
    • Application type: Desktop app, name: "Deus"
  4. Click DOWNLOAD JSON and tell me where you saved it (or paste the contents)

Once the user provides the file path or JSON content:

mkdir -p integrations/gcal

If user gave a path:

cp "<user-provided-path>" integrations/gcal/credentials.json

If user pasted JSON, write it to integrations/gcal/credentials.json.

Verify the file is gitignored:

git check-ignore integrations/gcal/credentials.json || echo "WARNING: credentials.json is NOT gitignored"

Phase 3: Authorize

Build the gcal package (if not already built)

cd packages/mcp-gcal && npm install && npm run build && cd ../..

Ensure googleapis is available for the auth script

npm list googleapis 2>/dev/null | grep -q googleapis || npm install --no-save googleapis

Run the OAuth flow

Tell the user:

I'll start the Google Calendar authorization. A URL will appear - open it in your browser, sign in with your Google account, and grant calendar access. Then paste the authorization code back here.

node scripts/setup-gcal-auth.mjs

This is interactive - the user must paste the code. The script saves tokens to integrations/gcal/tokens.json and verifies the connection.

If the script can't run interactively (e.g., in a container), tell the user:

Run this in a separate terminal:

node scripts/setup-gcal-auth.mjs

Let me know when it's done.

Verify tokens were created

ls -la integrations/gcal/tokens.json

Phase 4: Verify

Test the connection

deus gcal ping

Expected output: gcal ping OK: <user-email>

If deus gcal command is not found, the CLI may not have the latest version. Run:

deus auth

Verify container detection

The container agent-runner auto-detects gcal when all three files exist:

  • packages/mcp-gcal/dist/index.js
  • integrations/gcal/credentials.json
  • integrations/gcal/tokens.json

No manual container configuration is needed.

Phase 5: Keep-alive Timer

The Google OAuth refresh token expires after ~7 days of inactivity. Install a daily keep-alive to prevent this:

cp setup/com.deus.gcal-keepalive.plist ~/Library/LaunchAgents/
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.deus.gcal-keepalive.plist 2>/dev/null || launchctl kickstart gui/$(id -u)/com.deus.gcal-keepalive

Verify it's running:

launchctl list | grep gcal-keepalive

For Linux

Create a systemd timer instead:

mkdir -p ~/.config/systemd/user

cat > ~/.config/systemd/user/deus-gcal-keepalive.service << 'EOF'
[Unit]
Description=Deus Google Calendar keep-alive

[Service]
Type=oneshot
ExecStart=/usr/local/bin/deus gcal ping
EOF

cat > ~/.config/systemd/user/deus-gcal-keepalive.timer << 'EOF'
[Unit]
Description=Daily Deus gcal keep-alive

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target
EOF

systemctl --user enable --now deus-gcal-keepalive.timer

Phase 6: Restart Deus

deus auth

Tell the user:

Google Calendar is now connected. Your agents can list events, create meetings, and check availability from any channel.

CLI commands:

  • deus gcal - show token status
  • deus gcal auth - re-authorize (if token expires)
  • deus gcal ping - test connection / keep token alive

From chat: Just ask naturally - "What's on my calendar tomorrow?", "Schedule a meeting at 3pm", etc.

Removal

  1. Remove the keep-alive timer:

    launchctl bootout gui/$(id -u)/com.deus.gcal-keepalive 2>/dev/null
    rm ~/Library/LaunchAgents/com.deus.gcal-keepalive.plist
    
  2. Remove tokens (keeps credentials for easy re-setup):

    rm integrations/gcal/tokens.json
    
  3. Remove everything:

    rm -rf integrations/gcal/
    
  4. Restart Deus:

    deus auth
    

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

007

無料

Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files. This should trigger for requests such as Create a user story; Write a user story; I need to write a user story. Part of cursor-rules-java project

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

Facilitates conversational discovery to create Architectural Decision Records (ADRs) for non-functional requirements using the ISO/IEC 25010:2023 quality model. Use when the user wants to document quality attributes, NFR decisions, security/performance/scalability architecture, or design systems with measurable quality criteria. This should trigger for requests such as Create ADR for Non-functional requirements; Document Non-functional requirements; Capture Non-functional requirements; Generate Non-functional requirements in an ADR. Part of cursor-rules-java project

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

Run a health check on an existing project: dependency audit, security scan, test runner detection, CI/CD evaluation, and missing configuration analysis. Maps the three execution gates (pre/in/post) from /10x-bootstrapper to an assessment framework for existing codebases. Reads optional context/foundation/stack-assessment.md from /10x-stack-assess to focus checks on identified gaps. Writes context/foundation/health-check.md with findings, prioritized fixes, and an agent-readiness verdict. Use when the user has an existing project and wants to verify its health before working with an agent. Trigger phrases: "health check", "check my project", "audit my project", "is my project healthy", "sprawdź projekt", "audyt projektu", "health-check", "project health". Use AFTER /10x-stack-assess (brownfield chain), BEFORE agent onboarding (m1-l4).

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

10x-team

無料

You MUST use this when building projects end-to-end. Orchestrates all 12 team roles — automatically switches between CTO, architect, PM, engineers, SRE, security, DBA, QA, and EM based on the current phase of work. Starts with brainstorming before any implementation.

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

Use when you need to add or configure Maven plugins in your pom.xml — including quality tools (enforcer, surefire, failsafe, jacoco, pitest, spotbugs, pmd), security scanning (OWASP), code formatting (Spotless), version management, container image build (Jib), build information tracking, and benchmarking (JMH) — through a consultative, modular step-by-step approach that only adds what you actually need. This should trigger for requests such as Add Maven plugins in pom.xml; Improve Maven plugins in pom.xml. Part of cursor-rules-java project

日本語の概要は準備中です。原文の説明を表示しています。

aibot88/sec_skill_store42026年5月27日 更新

aibot88 のスキルをすべて見る

このスキルの問題を報告する