跳到正文
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(原文)

安装前可以查看交给 AI 代理的指令内容。

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
    

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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_store52026年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_store52026年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_store52026年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_store52026年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_store52026年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_store52026年5月27日 更新

查看 aibot88 的全部技能

报告此技能的问题