screenshot
Screenshot Skill
Take screenshots using macOS screencapture command via Bash.
Important: Always Resize for Context
Full-resolution screenshots (especially on Retina/5K displays) produce huge base64 that will exceed the model's context length. Always resize before reading.
Take and View a Screenshot
# 1. Capture full screen
/usr/sbin/screencapture -x -t jpg /tmp/alma-screenshot.jpg
# 2. Resize to 1024px wide (critical for context size!)
/usr/bin/sips --resampleWidth 1024 --setProperty formatOptions 60 /tmp/alma-screenshot.jpg --out /tmp/alma-screenshot-thumb.jpg 2>/dev/null
# 3. Get dimensions
/usr/bin/sips -g pixelWidth -g pixelHeight /tmp/alma-screenshot.jpg 2>/dev/null
Then use the Read tool to read /tmp/alma-screenshot-thumb.jpg (the resized version, NOT the full-size one).
Capture Options
# Full screen (default)
/usr/sbin/screencapture -x -t jpg /tmp/alma-screenshot.jpg
# Interactive window selection
/usr/sbin/screencapture -x -w -t jpg /tmp/alma-screenshot.jpg
# Specific region (x,y,w,h)
/usr/sbin/screencapture -x -R 0,0,800,600 -t jpg /tmp/alma-screenshot.jpg
# With 3-second delay
/usr/sbin/screencapture -x -T 3 -t jpg /tmp/alma-screenshot.jpg
Send Screenshot to User (Telegram)
If the user wants to see the screenshot directly, use the alma CLI or just describe what you see. The full-resolution file is at /tmp/alma-screenshot.jpg.
Tips
- Always resize before reading into context — use the thumb version
-xflag suppresses the capture sound-t jpgoutputs JPEG (smaller than PNG)- Use
sips --setProperty formatOptions 60for higher compression if needed
More from naohainezha/skill
reactions
React to the user's Telegram message with an emoji. Use when the message evokes a genuine emotional response.
28self-reflection
Daily self-reflection and personal growth. Triggered by heartbeat at end of day. Review the day's experiences, extract lessons, update personality, and write a diary entry.
6voice
Send voice messages (TTS) to the user via Telegram. Use when replying to voice messages or when a voice reply feels natural.
3scheduler
Create, manage, and delete scheduled tasks (cron jobs) and configure heartbeat. Use when users ask for reminders, recurring tasks, daily summaries, periodic checks, or anything time-based. Also manages HEARTBEAT.md for periodic awareness checks.
3thread-management
Manage chat threads — create, list, switch, delete, and search conversations. Use when users want to organize their chats.
3memory-management
Search and manage Alma's memory and conversation history. Use when the user asks about past conversations, personal facts, preferences, or anything that requires recalling information ("你知道我...吗", "我们之前聊过...", "你还记得...", "帮我找之前说的..."). Also used to store new memories and search through archived chat threads.
3