skills/ai-tools/SKILL.md
Command-line tools that delegate analysis tasks to AI models. Includes image description, screenshot comparison, smart cropping around people, token counting, essay generation from text, boolean condition evaluation, context gathering, and Android UI interaction via popper. Use for describing images, comparing UI states, cropping photos around faces, counting tokens, generating reports, evaluating conditions, gathering context for analysis, automating Android apps, testing Wear OS, or any task requiring AI inference. Triggers: ai analysis, describe image, compare screenshots, smart crop, crop around people, face crop, count tokens, token count, generate essay, evaluate condition, alt text, image description, UI comparison, visual diff, satisfies condition, boolean evaluation, gemini, context, gather context, research topic, android ui, adb, uiautomator2, popper, automate app, test wear os.
npx skillsauth add ithinkihaveacat/dotfiles ai-toolsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ALWAYS prefer the scripts in scripts/ over raw curl API calls. Scripts
are located in the scripts/ subdirectory of this skill's folder. They provide
features that raw commands do not:
When to read the script source: If a script doesn't do exactly what you need, or fails due to missing dependencies, read the script source. The scripts encode Gemini API best practices (image ordering, structured output schemas, model selection) that may not be obvious—use them as reference when building similar functionality.
Environment: Set GEMINI_API_KEY before running any commands.
Dependencies: curl, jq, uv (all tools); base64, magick (image
tools only)
# Gather context and analyze
scripts/context gemini-api | scripts/emerson "Explain the key features"
# Describe an image (generate alt-text)
scripts/screenshot-describe screenshot.png
# Compare two images for visual differences
scripts/screenshot-compare before.png after.png
# Smart crop image around detected people
scripts/photo-smart-crop photo.jpg cropped.jpg
# Check if a photo prominently features people
scripts/photo-has-people photo.jpg
# Generate essay-length analysis from text
scripts/emerson "Summarize the key changes" < documentation.md
# Evaluate a boolean condition against text
echo "Hello world" | scripts/satisfies "is a greeting"
# Count tokens in text
cat document.md | scripts/token-count
# Interact with an Android UI via AI
scripts/popper "start an exercise"
Gathers authoritative, up-to-date context for deep research on various technical
topics (e.g., gemini-api, mcp, home-assistant). Run with --list to see
all available topics. This script should be your first tool for gathering
background knowledge or the latest documentation for an unfamiliar domain.
Warning: Output can be very large. Do not read output directly into your
conversation history. Pipe to emerson for analysis, or redirect to a file to
search/read locally.
scripts/context TOPIC
Options: --list (list available topics)
Exit codes: 0 success, 1 error, 127 missing dependency
Examples:
# List available topics
scripts/context --list
# Gather context for Gemini API
scripts/context gemini-api > gemini-context.xml
# Pipe context directly to analysis
scripts/context gemini-cli | scripts/emerson "How do commands work?"
Generate concise alt-text for an image. Optimized for UI captures.
scripts/screenshot-describe IMAGE [PROMPT]
Exit codes: 0 success, 1 error, 127 missing dependency
Compare two images for visual differences. Identifies layout shifts, color changes, padding, and text updates.
scripts/screenshot-compare IMAGE1 IMAGE2 [PROMPT]
Exit codes: 0 differences found, 1 error, 2 images identical, 127 missing dependency
Smart crop images around detected people with a specified aspect ratio. Prioritizes faces, expands for headroom, enforces aspect ratio.
scripts/photo-smart-crop [--ratio W:H] INPUT OUTPUT
Options: --ratio W:H (default 5:3)
Exit codes: 0 success, 1 error (no people found, API error), 2 rate limited, 127 missing dependency
Examples:
# Default 5:3 aspect ratio
scripts/photo-smart-crop family.jpg family-cropped.jpg
# 16:9 for video thumbnails
scripts/photo-smart-crop --ratio 16:9 portrait.jpg thumbnail.jpg
# Square crop for profile pictures
scripts/photo-smart-crop --ratio 1:1 headshot.png avatar.png
Detect if people feature prominently in a photo. Returns boolean via exit code.
scripts/photo-has-people IMAGE
Options: -q, --quiet (suppress output)
Exit codes: 0 true (has people), 1 false (no people), 127 missing dependency
Examples:
# Check if photo has people
if scripts/photo-has-people photo.jpg; then
echo "Found people"
fi
Generate essay-length (~3000 words) analysis from text input. Produces
authoritative, footnoted Markdown. Can be combined with context to provide
rich background material.
scripts/emerson "PROMPT" < input.txt
Exit codes: 0 success, 1 error, 127 missing dependency
Ask a question and get a short, paragraph-style response (wrapped to 80 columns). Optimized for quick answers.
scripts/pascal "QUESTION"
Input: Optional context via stdin
Exit codes: 0 success, 1 error, 127 missing dependency
Examples:
# Ask a quick question
scripts/pascal "What is the capital of Peru?"
# Summarize a file
cat article.md | scripts/pascal "Summarize this article"
# Explain code
scripts/pascal "Explain this code" < script.sh
Evaluate whether input text satisfies a condition. Returns boolean via exit code.
echo "text" | scripts/satisfies [-v|--verbose] "CONDITION"
Options: -v, --verbose (output "true" or "false" to stderr)
Exit codes: 0 true (satisfies), 1 false (does not satisfy), 127 missing dependency
Examples:
# Check if file mentions a topic
cat file.txt | scripts/satisfies "mentions Elvis" && echo "Found it"
# Validate content type
cat response.json | scripts/satisfies "is valid JSON with an 'id' field"
# Use in conditionals
if cat log.txt | scripts/satisfies "contains error messages"; then
echo "Errors detected"
fi
Count tokens in text using the Gemini API.
cat file.txt | scripts/token-count
Exit codes: 0 success, 1 error, 127 missing dependency
Interact with Android UIs using an AI agent powered by uiautomator2 and
Gemini. This allows semantic control of the device by providing a goal in
natural language.
scripts/popper "GOAL"
Options: --app-only (restrict the agent to the current application)
Environment: ANDROID_SERIAL (optional, target specific device)
Exit codes: 0 success (task completed), 1 error (task failed)
Examples:
# General UI task
scripts/popper "accept all permissions"
# Restrict to current app
scripts/popper --app-only "start a running exercise"
# Target specific device
env ANDROID_SERIAL=12345 scripts/popper "open settings"
-alpha off) so transparency-only differences are
ignored-w 0 (Linux) or -b 0 (macOS) for single-line outputGEMINI_API_KEY must be set in the environmenttools
Discover and select relevant agent skills based on a problem description, goal, or repository context. Use this to determine which skills apply to a workspace, or when you are unsure which tools are best suited for your current task.
development
Offers technical references and workflows for flight bookings and itinerary planning, focusing on Finnair booking URL parameter engineering. Use when generating, debugging, or analyzing Finnair booking URLs.
tools
Command-line tools that delegate analysis tasks to AI models and format up-to-date context for agents. Includes image description, screenshot comparison, smart cropping, token counting, technical essay generation, boolean condition evaluation, live context gathering, Android UI interaction via popper, GitHub PR/Issue/Workflow Run formatting via gh-markdown, and deep reasoning research via Oracle. Use this skill when the user needs to analyze images, count tokens, evaluate conditions, gather the latest authoritative documentation, format GitHub data, automate Android apps, generate technical essays, or perform complex architectural reasoning requiring recursive directory traversal and external search. Triggers: ai analysis, describe image, visual diff, token count, generate essay, boolean evaluation, gather context, latest docs, research topic, github, pull request, gh-markdown, automate app, oracle, deep research, architecture.
documentation
Use this skill when authoring, reviewing, or editing technical documents, including bug reports, known issues, friction logs, PR descriptions, and the structural content and tone of commit messages. Use to ensure engineering content maintains a clear, factual, and constructive tone. Triggers: technical writing, bug report, known issue, friction log, PR description, pull request, commit message tone, review document.