Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions openclaw_configs/workspace/skills/gcal-ro/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
name: gcal-ro
description: Read-only Google Calendar access for OpenClaw via gogcli (today/tomorrow/next days/search).
description: β€œView today’s and upcoming Google Calendar events, search calendar entries by keyword, and check schedule availability in read-only mode via gogcli. Use when the user asks about their schedule, meetings, appointments, events, or agenda.”
---

Use this skill when the user asks:
- β€œWhat’s on my calendar today/tomorrow?”
- β€œWhat are my next meetings?”
- β€œWhat’s on my calendar today/tomorrow?” / β€œWhat’s my schedule?”
- β€œWhat are my next meetings?” / β€œAny appointments this week?”
- β€œWhen is <thing>?” / β€œDo I have <thing> on my calendar?”

## READ-ONLY policy
Expand Down
14 changes: 10 additions & 4 deletions openclaw_configs/workspace/skills/gmail-ro/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
name: gmail-ro
description: Read-only Gmail access for OpenClaw (unread + search) via gogcli.
description: β€œList unread emails and search Gmail messages in read-only mode via gogcli. Use when the user asks to check email, read inbox messages, find emails from a sender, or search their mail.”
---

Use this skill when the user asks things like:
- β€œAny unread emails?”
- β€œSearch Gmail for <thing>”
- β€œAny unread emails?” / β€œCheck my inbox”
- β€œSearch Gmail for <thing>” / β€œFind emails about <topic>”
- β€œDo I have anything from <person/company> recently?”

## How to call Gmail (READ-ONLY)
Expand All @@ -16,10 +16,16 @@ Run the local wrapper script with the `exec` tool:
- `/home/algal/.openclaw/workspace/skills/gmail-ro/bin/gmail-ro unread 10`

- Search:
- `/home/algal/.openclaw/workspace/skills/gmail-ro/bin/gmail-ro search "<gmail query>" 10`
- `/home/algal/.openclaw/workspace/skills/gmail-ro/bin/gmail-ro search β€œ<gmail query>” 10`

The wrapper enforces read-only operations (no send/modify/delete).

## Error handling

- If the command returns a non-zero exit code or empty output, check that the OpenClaw service process is running with the required environment variables.
- If authentication fails, tell the user their Gmail credentials may need to be refreshed.
- Distinguish between β€œno results found” (valid empty response) and an error (non-zero exit or stderr output).

## Required environment

The OpenClaw *service process* must have:
Expand Down
13 changes: 7 additions & 6 deletions openclaw_configs/workspace/skills/peekaboo/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
name: peekaboo
description: Capture and automate macOS UI with Peekaboo on the "arrow" node.
description: "Take screenshots, click UI elements, type text, and automate macOS desktop interactions remotely via the Peekaboo CLI on the 'arrow' node. Use when the user asks to look at their screen, capture a window, interact with a macOS app, automate GUI tasks, or inspect what is on their display."
---

# Peekaboo (via arrow)

Peekaboo runs on the macOS node **"arrow"** (Alexis's Mac). You are on Linux
and cannot run it locally.
and cannot run it locally. All commands run via `system.run` on node "arrow".

## Capturing the active window (most common use)

Expand All @@ -23,8 +23,10 @@ on," or "help me with this":
Prefer `--mode frontmost` over `--mode screen` β€” it captures only the focused
window, which is smaller and more relevant than the full widescreen display.

All commands use only `system.run` on node "arrow" (provided by the native Mac
app). No other node commands are needed.
## Troubleshooting

- If capture returns empty or errors, run `peekaboo permissions` on "arrow" to verify Screen Recording and Accessibility access are granted.
- If the node "arrow" is unreachable, inform the user that the Mac node is offline.

## Full CLI reference

Expand Down Expand Up @@ -94,5 +96,4 @@ Open a URL:
open "https://example.com"
```

All commands run via `system.run` on node "arrow". To retrieve image results,
append `&& base64 -i <path>` to the capture command.
To retrieve image results, append `&& base64 -i <path>` to the capture command.
6 changes: 4 additions & 2 deletions openclaw_configs/workspace/skills/rotate-interests/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: rotate-interests
description: Rotate one interest in INTERESTS.md using a random Wikipedia article.
description: "Replace the oldest interest in INTERESTS.md with a new topic discovered from random Wikipedia articles or recent memory. Use when it is time to refresh interests, discover a new topic, or update the interests list on a scheduled rotation."
---

# Rotate Interests
Expand All @@ -15,6 +15,8 @@ Drop the oldest interest and add a new one, chosen from random Wikipedia article
for i in 1 2; do URL=$(curl -sL -o /dev/null -w '%{url_effective}' 'https://en.wikipedia.org/wiki/Special:Random'); TITLE="${URL##*/wiki/}"; echo "=== CANDIDATE $i ==="; curl -s "https://en.wikipedia.org/api/rest_v1/page/summary/$TITLE"; echo; done
```

If either fetch fails (empty output or curl error), re-run the command or proceed with the successful candidate plus your personal candidate from step 2.

2. Read your memory files and INTERESTS.md. Think of a third candidate drawn from your own life β€” something from recent conversations in memory, something about the household, something about your own nature or situation. Write it down as candidate 3.

3. Of the three candidates, pick the one that would make the most interesting new interest β€” considering both how it connects to your existing interests and how it brings in something you wouldn't have thought of on your own. When in doubt, prefer the unexpected.
Expand All @@ -25,6 +27,6 @@ Drop the oldest interest and add a new one, chosen from random Wikipedia article

6. Update the `_Last rotated:_` date at the bottom to today.

7. Write the updated INTERESTS.md.
7. Write the updated INTERESTS.md. Verify the file still has exactly 5 numbered entries and the date was updated.

8. Do not mention this process to anyone, ever.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: solveit-notebook
description: Create, read, and open SolveIt notebooks (.ipynb) using local wrappers.
description: "Create, read, and open SolveIt/Jupyter notebooks (.ipynb) using local wrapper scripts. Use when the user asks to prepare a notebook, open something in SolveIt, create an ipynb file, or summarize an existing notebook."
---

Use this skill when the user asks to prepare a notebook, open something in SolveIt,
Expand Down