Search

PythonReactSEOPDF
OpenClaw

scrask-bot

When the user sends a screenshot via Telegram, parse it using Gemini (fast, default) with automatic Claude fallback when confidence is low. Saves results to Google Calendar (events) or Google Tasks (reminders and tasks). Saves silently if confidence is high; asks for confirmation if uncertain.

devsandip0 source installs☆ 0 Repository starsv3.0.0

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install devsandip/scrask-bot

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Scrask Bot

Overview

This skill activates when the user sends a screenshot via Telegram. It uses vision AI to extract actionable information from the image, then:

  • High confidence (≥ 0.75): Saves immediately and replies with a brief confirmation.
  • Low confidence (< 0.75): Shows a structured preview in Telegram and asks for confirmation before saving.

Provider behaviour (auto mode, default):

Step What happens
1 Gemini 2.0 Flash parses the screenshot (fast, cheap)
2 If any item confidence < 0.60, Claude Opus reruns the parse
3 Whichever provider scores higher average confidence wins
4 Output includes provider, fallback_triggered, and confidence delta

Set vision_provider to "claude" or "gemini" to lock a specific provider.

Output destinations (AI-decided by content type):

Detected type Destination
Event (has date+time, venue, or invite link) Google Calendar
Reminder (deadline, due date, personal action) Google Tasks (with due date)
Task (no date, pure action item) Google Tasks (no due date)

Trigger Conditions

Activate when:

  1. The user sends a message in Telegram that contains an image attachment
  2. The image appears to be a screenshot — not a photo of a person, place, or physical object
  3. No other skill has already claimed the image

Do not activate for:

  • Photos of people, places, food, scenery
  • Screenshots of code, errors, or UI bugs (leave for other skills)
  • Images the user explicitly asks to edit, describe, or analyze for another purpose

Step-by-Step Instructions

Step 1: Acknowledge Immediately

Reply in Telegram right away so the user knows the skill is working:

"📸 Got it — analyzing your screenshot..."

Do not make the user wait silently.


Step 2: Run the Parser
python3 ~/.openclaw/skills/scrask-bot/scripts/scrask_bot.py \
  --image-path "<path-to-temp-image>" \
  --provider "$CONFIG_VISION...

Source information

Source
github
Repository
openclaw/skills
Path
skills/devsandip/scrask-bot
Version
3.0.0
Commit
e03c67acb638efd1aa2af3acdb6cd311ef67d01a
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README

🦞 Scrask Bot

OpenClaw Skill — Send a screenshot to Telegram. Scrask saves it to Google Calendar or Tasks automatically.

Scrask = Screenshot + Task


What It Does

  1. You take a screenshot on your phone (WhatsApp forward, email, social post, chat)
  2. You send it to your OpenClaw bot on Telegram
  3. Scrask parses it using vision AI
  4. It saves it to the right place — no input needed from you
Detected type Destination
Event (date + time / venue / invite link) Google Calendar
Reminder (deadline, due date) Google Tasks (with due date)
Task (no date, action item) Google Tasks

High confidence (≥ 0.75) → saves silently, confirms in chat
Low confidence → shows preview, asks before saving


Provider Strategy (v3)

By default, Scrask uses auto mode: Gemini first, Claude fallback.

Screenshot arrives
      ↓
  Gemini 2.0 Flash (fast, cheap)
      ↓
  Any item confidence < 0.60?
  ├── No  → Done ✓
  └── Yes → Claude Opus reruns the parse
              ↓
          Claude avg confidence > Gemini + 0.05?
          ├── Yes → Use Claude result ✓
          └── No  → Gemini result was fine, keep it ✓

You can override this per-use with --provider claude or --provider gemini.

What you get in the output:

{
  "provider": "claude",
  "fallback_triggered": true,
  "gemini_avg_confidence": 0.51,
  "claude_avg_confidence": 0.82,
  "confidence_gain": 0.31
}

Installation

# 1. Copy to OpenClaw skills directory
cp -r scrask-bot ~/.openclaw/skills/

# 2. Install dependencies
pip install -r ~/.openclaw/skills/scrask-bot/scripts/requirements.txt

# 3. Set up Google credentials
# → Google Cloud Console → create service account
# → Enable Calendar API + Tasks API
# → Download JSON key → save as ~/.openclaw/google-creds.json
# → Share your Google Calendar with the service account email

# 4. Add to openclaw.json (see below)

# 5. Restart OpenClaw
openclaw restart
openclaw.json co...

Extracted content

SKILL.md
# Scrask Bot

## Overview

This skill activates when the user sends a screenshot via **Telegram**.
It uses vision AI to extract actionable information from the image, then:

- **High confidence (≥ 0.75):** Saves immediately and replies with a brief confirmation.
- **Low confidence (< 0.75):** Shows a structured preview in Telegram and asks for confirmation before saving.

**Provider behaviour (auto mode, default):**

| Step | What happens |
|---|---|
| 1 | Gemini 2.0 Flash parses the screenshot (fast, cheap) |
| 2 | If any item confidence < 0.60, Claude Opus reruns the parse |
| 3 | Whichever provider scores higher average confidence wins |
| 4 | Output includes `provider`, `fallback_triggered`, and confidence delta |

Set `vision_provider` to `"claude"` or `"gemini"` to lock a specific provider.

**Output destinations (AI-decided by content type):**

| Detected type | Destination |
|---|---|
| Event (has date+time, venue, or invite link) | Google Calendar |
| Reminder (deadline, due date, personal action) | Google Tasks (with due date) |
| Task (no date, pure action item) | Google Tasks (no due date) |

---

## Trigger Conditions

Activate when:
1. The user sends a message in Telegram that contains an **image attachment**
2. The image appears to be a **screenshot** — not a photo of a person, place, or physical object
3. No other skill has already claimed the image

Do not activate for:
- Photos of people, places, food, scenery
- Screenshots of code, errors, or UI bugs (leave for other skills)
- Images the user explicitly asks to edit, describe, or analyze for another purpose

---

## Step-by-Step Instructions

### Step 1: Acknowledge Immediately

Reply in Telegram right away so the user knows the skill is working:

> "📸 Got it — analyzing your screenshot..."

Do not make the user wait silently.

---

### Step 2: Run the Parser

```bash
python3 ~/.openclaw/skills/scrask-bot/scripts/scrask_bot.py \
  --image-path "<path-to-temp-image>" \
  --provider "$CONFIG_VISION...
README
# 🦞 Scrask Bot

**OpenClaw Skill** — Send a screenshot to Telegram. Scrask saves it to Google Calendar or Tasks automatically.

**Scrask** = Screenshot + Task

---

## What It Does

1. You take a screenshot on your phone (WhatsApp forward, email, social post, chat)
2. You send it to your OpenClaw bot on Telegram
3. Scrask parses it using vision AI
4. It saves it to the right place — no input needed from you

| Detected type | Destination |
|---|---|
| Event (date + time / venue / invite link) | Google Calendar |
| Reminder (deadline, due date) | Google Tasks (with due date) |
| Task (no date, action item) | Google Tasks |

High confidence (≥ 0.75) → saves silently, confirms in chat  
Low confidence → shows preview, asks before saving

---

## Provider Strategy (v3)

By default, Scrask uses **auto mode**: Gemini first, Claude fallback.

```
Screenshot arrives
      ↓
  Gemini 2.0 Flash (fast, cheap)
      ↓
  Any item confidence < 0.60?
  ├── No  → Done ✓
  └── Yes → Claude Opus reruns the parse
              ↓
          Claude avg confidence > Gemini + 0.05?
          ├── Yes → Use Claude result ✓
          └── No  → Gemini result was fine, keep it ✓
```

You can override this per-use with `--provider claude` or `--provider gemini`.

**What you get in the output:**

```json
{
  "provider": "claude",
  "fallback_triggered": true,
  "gemini_avg_confidence": 0.51,
  "claude_avg_confidence": 0.82,
  "confidence_gain": 0.31
}
```

---

## Installation

```bash
# 1. Copy to OpenClaw skills directory
cp -r scrask-bot ~/.openclaw/skills/

# 2. Install dependencies
pip install -r ~/.openclaw/skills/scrask-bot/scripts/requirements.txt

# 3. Set up Google credentials
# → Google Cloud Console → create service account
# → Enable Calendar API + Tasks API
# → Download JSON key → save as ~/.openclaw/google-creds.json
# → Share your Google Calendar with the service account email

# 4. Add to openclaw.json (see below)

# 5. Restart OpenClaw
openclaw restart
```

### openclaw.json co...

Related skills

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

139mail

chang-tong

139邮箱邮件收发 Skill - 支持 IMAP/SMTP 协议,兼容139/QQ/163/Gmail等主流邮箱 功能: 1. 发送邮件(SMTP) 2. 接收邮件(IMAP) 3. 查看收件箱列表 4. 查看未读邮件 当用户提到 "发邮件"、"收邮件"、"查看邮件"、"邮箱"...