* feat(skills): Add hierarchical structure with references and templates Adds modular documentation and executable templates to the agent-browser skill for better AI agent consumption and progressive disclosure. ## Added ### References (deep-dive documentation) - `references/snapshot-refs.md` - Ref lifecycle, invalidation, troubleshooting - `references/session-management.md` - Parallel sessions, state persistence - `references/authentication.md` - Login flows, OAuth, 2FA patterns - `references/video-recording.md` - Recording for debugging/docs - `references/proxy-support.md` - Proxy configuration, geo-testing ### Templates (ready-to-use workflows) - `templates/form-automation.sh` - Form filling with validation - `templates/authenticated-session.sh` - Login once, reuse state - `templates/capture-workflow.sh` - Content extraction with screenshots ## Modified - `SKILL.md` - Added reference tables linking to new documentation ## Benefits - Progressive disclosure: Load overview first, deep dives on demand - Reduced context: Smaller chunks for better LLM token efficiency - Ready workflows: Copy-paste templates for common patterns * fix(templates): Make authenticated-session.sh runnable out-of-box Addresses review feedback: login actions were commented but verification wasn't, causing script to fail when run as-is. New approach: - DISCOVERY MODE runs first (shows form structure) - LOGIN FLOW section is fully commented as a unit - User runs once to see refs, then customizes ┌─────────────────────────────────────────────────────────────┐ │ LOGIN FORM STRUCTURE │ ├─────────────────────────────────────────────────────────────┤ │ @e1 [input type="email"] │ │ @e2 [input type="password"] │ │ @e3 [button] "Sign In" │ └─────────────────────────────────────────────────────────────┘
65 lines
1.6 KiB
Bash
Executable File
65 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Template: Form Automation Workflow
|
|
# Fills and submits web forms with validation
|
|
|
|
set -euo pipefail
|
|
|
|
FORM_URL="${1:?Usage: $0 <form-url>}"
|
|
|
|
echo "Automating form at: $FORM_URL"
|
|
|
|
# Navigate to form page
|
|
agent-browser open "$FORM_URL"
|
|
agent-browser wait --load networkidle
|
|
|
|
# Get interactive snapshot to identify form fields
|
|
echo "Analyzing form structure..."
|
|
agent-browser snapshot -i
|
|
|
|
# Example: Fill common form fields
|
|
# Uncomment and modify refs based on snapshot output
|
|
|
|
# Text inputs
|
|
# agent-browser fill @e1 "John Doe" # Name field
|
|
# agent-browser fill @e2 "user@example.com" # Email field
|
|
# agent-browser fill @e3 "+1-555-123-4567" # Phone field
|
|
|
|
# Password fields
|
|
# agent-browser fill @e4 "SecureP@ssw0rd!"
|
|
|
|
# Dropdowns
|
|
# agent-browser select @e5 "Option Value"
|
|
|
|
# Checkboxes
|
|
# agent-browser check @e6 # Check
|
|
# agent-browser uncheck @e7 # Uncheck
|
|
|
|
# Radio buttons
|
|
# agent-browser click @e8 # Select radio option
|
|
|
|
# Text areas
|
|
# agent-browser fill @e9 "Multi-line text content here"
|
|
|
|
# File uploads
|
|
# agent-browser upload @e10 /path/to/file.pdf
|
|
|
|
# Submit form
|
|
# agent-browser click @e11 # Submit button
|
|
|
|
# Wait for response
|
|
# agent-browser wait --load networkidle
|
|
# agent-browser wait --url "**/success" # Or wait for redirect
|
|
|
|
# Verify submission
|
|
echo "Form submission result:"
|
|
agent-browser get url
|
|
agent-browser snapshot -i
|
|
|
|
# Take screenshot of result
|
|
agent-browser screenshot /tmp/form-result.png
|
|
|
|
# Cleanup
|
|
agent-browser close
|
|
|
|
echo "Form automation complete"
|