Generate Gemini 2.5 computer-use automation scripts and natural-language goal files for web application QA. Produces Playwright-based test harnesses for browser automation with scenario generation capabilities. Activate for UI test automation, visual regression testing, or AI-driven browser interaction workflows.
Generates Gemini 2.5 automation scripts and goal files for AI-driven web application testing and QA workflows.
npx claudepluginhub aeyeops/aeo-skill-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
README.mdexamples/example_form_automation.mdexamples/example_visual_regression.mdexamples/example_webapp_testing.mdreference/best_practices.mdreference/gemini_api_reference.mdreference/troubleshooting.mdscripts/analyze_requirements.pyscripts/validate_goal.pytemplates/env_template.envtemplates/goal_template.txttemplates/harness_template.pyA comprehensive skill for creating Gemini 2.5 Computer Use automation scripts, natural-language goal files, and Playwright-based test harnesses for QA testing of web applications.
Trigger this skill when the user requests:
Complete overview: See README.md
Understand the Application
Define Automation Objectives
Scope the Automation
The goal file is a natural-language document that Gemini 2.5 Computer Use reads to understand what to test.
Goal File Structure (Use template from templates/goal_template.txt):
[Role Description]
You are a QA engineer testing the [Application Name].
Your goal is to [primary objective].
## Test Session Overview
1. [Step 1: Initial navigation]
2. [Step 2: Verify initial load state]
3. [Step 3-N: Test features]
## Success Criteria
- [Criterion 1: specific, measurable]
- [Criterion 2: specific, measurable]
## Reporting
Document what worked, what broke, UX notes
Key Principles for Goal Files:
For complete best practices: → See reference/best_practices.md section "Goal File Best Practices"
The harness script is a Python program that:
Harness Script Template: → Use templates/harness_template.py
Key Components:
Configuration (environment variables):
GOOGLE_API_KEY - Your Gemini API key (required)SPA_URL - Application URL to testSCREEN_WIDTH / SCREEN_HEIGHT - Viewport sizeTURN_LIMIT - Max reasoning turnsHEADLESS - Run browser in headless mode→ See templates/env_template.env for complete configuration
Function Call Handlers:
navigate(url) - Navigate to URLclick_at(x, y) - Click normalized coordinates (0-1000)type_text_at(x, y, text, press_enter, clear_before) - Type textscroll_document(direction) / scroll_at(x, y, direction, pixels) - Scrollkey_combination(keys) - Press keyboard shortcutswait_5_seconds(), go_back(), go_forward()→ See reference/gemini_api_reference.md for complete API documentation
Critical Implementation Details:
→ See reference/best_practices.md section "Harness Script Best Practices"
Run Initial Automation
export GOOGLE_API_KEY="your-key-here"
python gemini_computer_use.py
Analyze Results
Refine & Iterate
→ If issues occur, see reference/troubleshooting.md
User Request: "Automate QA testing for a React PWA with a 4-panel investigation workspace. Test panel collapse/expand, selection-driven updates."
Generated Artifacts:
templates/goal_template.txttemplates/harness_template.pytemplates/env_template.envKey test scenarios:
→ See complete example: examples/example_webapp_testing.md
User Request: "Automate filling out a multi-step registration form with validation testing."
Key test scenarios:
→ See complete example: examples/example_form_automation.md
User Request: "Create automation to compare current UI against baseline screenshots."
Key test scenarios:
→ See complete example: examples/example_visual_regression.md
What do you need to test?
├─ Web app UI interactions → Use Example 1 (webapp testing)
├─ Form validation → Use Example 2 (form automation)
├─ Visual appearance → Use Example 3 (visual regression)
├─ E2E user workflow → Combine multiple patterns
└─ API testing → Use different tool (not computer-use)
How many test scenarios?
├─ Simple feature (login, form) → 3-5 scenarios
├─ Medium feature (dashboard, workflow) → 5-10 scenarios
├─ Complex feature (full app) → Split into multiple goal files
└─ Too complex? → Break into phases, run separately
Automation failing?
├─ Clicks miss targets → Check coordinate normalization
├─ Token limit exceeded → Verify context pruning enabled
├─ Page not loading → Increase timeout or check URL
├─ Goal file ignored → Make instructions more specific
└─ Other issues → See reference/troubleshooting.md
Before running automation, validate your goal file:
python scripts/validate_goal.py gemini_goal.txt
Checks for:
Interactive tool to help structure your goal file:
python scripts/analyze_requirements.py
Prompts for application details and outputs suggested goal file structure.
This skill uses progressive disclosure - additional files loaded only when needed:
templates/)Read @reference/gemini_api_reference.md when:
Read @reference/best_practices.md when:
Read @reference/troubleshooting.md when:
examples/)reference/)gemini_api_reference.md - Complete Gemini Computer Use API documentation
best_practices.md - Comprehensive best practices guide
troubleshooting.md - Common issues and solutions
scripts/)Required:
google-genai SDKplaywrightGOOGLE_API_KEY environment variableInstallation:
pip install google-genai playwright
playwright install --with-deps chromium
export GOOGLE_API_KEY="your-key-here"
Tell Claude what you need to test:
I need to automate testing for my React app's login form.
Test email validation, password requirements, and successful login.
Claude generates:
Run the automation:
export GOOGLE_API_KEY="your-key-here"
python gemini_computer_use.py
Review results and iterate
scripts/validate_goal.py1. Use templates/goal_template.txt as starting point
2. Fill in application-specific details
3. Generate harness from templates/harness_template.py
4. Run and iterate based on results
1. Review examples/example_form_automation.md
2. Adapt test scenarios to your form
3. Include both positive and negative test cases
4. Verify error messages display correctly
1. Review examples/example_visual_regression.md
2. Capture baseline screenshots first run
3. Compare subsequent runs against baseline
4. Document visual differences found
Built on research from:
Ready to automate? Just describe what you need to test!