[{"name":"adb-skill-generator.py","purpose":"Generate new adb-* skill from templates","type":"python","command":"uv run .claude/skills/adb-skill-generator/adb-skill-generator.py","zero_context":false,"version":"1.0.0","last_updated":"2025-12-02T00:00:00.000Z"}]
color
magenta
Quick Reference (30 seconds)
Rapid adb- skill creation from production-tested templates*
What It Does: Automates creation of new adb-* skills by generating skill directory structure, SKILL.md metadata, script templates, and example workflows. Speeds up new skill development from hours to minutes.
{"skill_name":"adb-facebook","success":true,"skill_path":"/path/to/.claude/skills/adb-facebook","scripts_created":1,"skill_md_created":true,"workflow_created":false,"duration":0.45,"messages":["✅ Created skill directory: ...","✅ Created scripts/ subdirectory","✅ Created SKILL.md ...","✅ Created script: adb-facebook-launch.py"],"exit_code":0}
Script Template Structure
All generated scripts follow the proven 9-section IndieDevDan template:
uv run adb-skill-generator.py \
--skill-name myapp \
--description "My app automation"
Step 2: Implement Core Scripts
Edit generated scripts to add actual automation logic:
scripts/adb-myapp-launch.py - App launch logic
scripts/adb-myapp-check.py - State checking logic
scripts/adb-myapp-test.py - Functional testing
Step 3: Create Advanced Workflows
Build TOON workflows using generated scripts:
uv run adb-run-workflow.py \
--workflow .claude/skills/adb-myapp/workflows/myapp-advanced.toon \
--verbose
Step 4: Share or Distribute
Generated skill is immediately usable by others:
uv run .claude/skills/adb-myapp/scripts/adb-myapp-launch.py --device 127.0.0.1:5555
Design Philosophy
The generator embodies ADB ecosystem design principles:
1. Convention over Configuration
Default settings work for 90% of use cases
Simple naming patterns (adb-{skillname})
Consistent file organization
2. Rapid Development
Scaffold complex structure in seconds
Focus on implementation, not boilerplate
Templates from production-tested code
3. Quality by Default
Generated code follows best practices
Includes error handling, timeouts, retries
Proper exit codes and logging
4. Extensibility
Generated code is production-ready but customizable
Clear sections for user implementation
Supports skill composition and integration
Related Skills
This generator uses and integrates with:
adb-screen-detection: For OCR-based element finding
adb-navigation-base: For gesture automation (tap, swipe, wait)
adb-workflow-orchestrator: For complex multi-step orchestration
All generated skills can depend on these foundation skills automatically.
Common Customization Patterns
Pattern 1: Custom Package Name
# In generated script, change:
APP_PACKAGE = "kr.co.flo.karrot"# Replace with your app package
Pattern 2: Custom UI Elements
# In launcher script, change:
result = launch_app_with_verification(
device_id,
wait_text="Custom Login Screen"# Your app's specific screen
)
Pattern 3: Custom Timeout
# In any script, change:
VERIFICATION_TIMEOUT = 45# Slower apps need more time
Troubleshooting
Q: Script generation failed
# Ensure valid skill name (alphanumeric + hyphens)
uv run adb-skill-generator.py --skill-name valid-name --description "..."
Q: How to see what will be generated?
# Use --verbose flag
uv run adb-skill-generator.py \
--skill-name myapp \
--description "..." \
--verbose
Q: Can I use generated scripts immediately?
# Yes, scripts are immediately usable but may need customization
uv run .claude/skills/adb-myapp/scripts/adb-myapp-launch.py --device 127.0.0.1:5555
Workflows
This skill includes TOON-based workflow definitions for automation.
What is TOON?
TOON (Task-Oriented Orchestration Notation) is a structured workflow definition language that pairs with Markdown documentation. Each workflow consists of:
[name].toon - Orchestration logic and execution steps
[name].md - Complete documentation and usage guide
This TOON+MD pairing approach is inspired by the BMAD METHOD pattern, adapted to use TOON instead of YAML for better orchestration support.
Available Workflows
Workflow files are located in workflow/ directory: