Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
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...
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...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
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 happens1Gemini 2.0 Flash parses the screenshot (fast, cheap)2If any item confidence < 0.60, Claude Opus reruns the parse3Whichever provider scores higher average confidence wins4Output 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 typeDestinationEvent (has date+time, venue, or invite link)Google CalendarReminder (deadline, due date, personal action)Google Tasks (with due date)Task (no date, pure action item)Google Tasks (no due date)
Activate when: The user sends a message in Telegram that contains an image attachment The image appears to be a screenshot β not a photo of a person, place, or physical object 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
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.
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
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.
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 β"
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**
ScenarioBehaviorScreenshot is in Hindi, Tamil, or another languageExtract and translate silently; save title in EnglishRecurring event ("every Monday")Set RRULE on the calendar event; mention it in the replyDate 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 neededScreenshot 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_CREDENTIALSZoom/Meet link foundAdd to Calendar as both location and description
{ "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 } } } } }
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
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.