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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "scrask-bot" with this command: npx skills add devsandip/scrask-bot

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):

StepWhat happens
1Gemini 2.0 Flash parses the screenshot (fast, cheap)
2If any item confidence < 0.60, Claude Opus reruns the parse
3Whichever provider scores higher average confidence wins
4Output 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 typeDestination
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_PROVIDER" \
  --timezone "$CONFIG_TIMEZONE" \
  --google-credentials "$GOOGLE_CREDENTIALS"

The script auto-resolves the API key from ANTHROPIC_API_KEY or GEMINI_API_KEY
depending on the provider — no need to pass it explicitly.

The script returns a JSON object with:

  • success — whether parsing worked
  • no_actionable_content — true if nothing found
  • results[] — one entry per detected item, each with confidence, type, destination, needs_confirmation, action_taken
  • telegram_reply — the pre-formatted message to send back to the user

Step 3: Handle the Output

If no_actionable_content is true: Reply: "🤷 I couldn't find any event, reminder, or task info in that screenshot. Could you describe what you'd like to add?"

If success is true: Send the telegram_reply value directly back to the user in Telegram. The script has already:

  • Saved high-confidence items silently
  • Formatted confirmation prompts for low-confidence items

Do not rephrase or reformat the telegram_reply — send it as-is.


Step 4: Handle Confirmation Responses

If the script returned items with needs_confirmation: true, wait for the user's reply.

"yes" or "save" or "add": Re-run the script for that specific item with confirmed=true, or use the calendar_create / tasks_create tools directly with the extracted fields.

"edit": Ask what to change, update the relevant field, then save.

"skip" or "no": Reply: "Got it, skipped ✓"


Step 5: Confirm Saves

For items saved silently (high confidence), the telegram_reply from the script already contains the confirmation message. Examples of what the user will see:

  • 📅 Added to Calendar: **Team Standup** — 2026-03-01 at 09:00
  • 🔔 Added to Tasks: **Pay electricity bill** (due 2026-02-28)
  • ✅ Added to Tasks: **Review PR for Arjun**

Edge Cases

ScenarioBehavior
Screenshot is in Hindi, Tamil, or another languageExtract and translate silently; save title in English
Recurring event ("every Monday")Set RRULE on the calendar event; mention it in the reply
Date has already passedFlag in the reply: "⚠️ This date has already passed (Feb 10). Save anyway?"
Multiple items in one screenshotProcess each independently; confirm per item if needed
Screenshot of someone's calendarDetect already_in_calendar_hint; reply: "Looks like this event is already in your calendar 🗓️"
Google API auth failureReply with the specific error and suggest re-checking GOOGLE_CREDENTIALS
Zoom/Meet link foundAdd to Calendar as both location and description

Configuration

{
  "skills": {
    "entries": {
      "scrask-bot": {
        "enabled": true,
        "env": {
          "GEMINI_API_KEY": "AIza-your-gemini-key",
          "ANTHROPIC_API_KEY": "sk-ant-your-key-here",
          "GOOGLE_CREDENTIALS": "/home/user/.openclaw/google-creds.json"
        },
        "config": {
          "vision_provider": "auto",
          "fallback_threshold": 0.60,
          "timezone": "Asia/Kolkata",
          "confidence_threshold": 0.75,
          "reminder_minutes_before": 30
        }
      }
    }
  }
}

Permissions Required

  • image:read — to access the screenshot from Telegram
  • network:outbound — to call Anthropic API and Google APIs
  • telegram:reply — to send confirmation messages back to the user

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

baidu-search

Comprehensive search API integration for Baidu Qianfan Web Search. Use when Claude needs to perform web searches using Baidu Qianfan's enterprise search API....

Registry SourceRecently Updated
General

Self Memory Manager

管理 Claude 的记忆和工作流程优化。包括:(1) Context 使用管理 (2) 重要信息存档 (3) 定时总结 (4) 工作文件夹维护 用于:context 超过 80%、重要信息需要记录、每日总结、清理旧 session

Registry SourceRecently Updated
General

Seedance Video

Generate AI videos using ByteDance Seedance. Use when the user wants to: (1) generate videos from text prompts, (2) generate videos from images (first frame,...

Registry SourceRecently Updated