skills/internal/browser-automation/SKILL.md
Automate web browser interactions, scraping, testing, and workflow automation with Puppeteer/Playwright
npx skillsauth add rovanni/IalClaw Browser AutomationInstall 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.
Automate web browser interactions for scraping, testing, and workflow automation.
navigation:
goto:
url: "https://example.com"
wait_until: "networkidle"
timeout: 30000
actions:
- wait_for_selector: ".content"
- scroll_to_bottom: true
- wait_for_navigation: true
interactions:
click:
selector: "button.submit"
options:
click_count: 1
delay: 100
type:
selector: "input[name='email']"
text: "[email protected]"
options:
delay: 50 # Human-like typing
select:
selector: "select#country"
value: "US"
file_upload:
selector: "input[type='file']"
files: ["document.pdf"]
scraping:
extract_text:
selector: ".article-content"
extract_all:
selector: ".product-card"
fields:
name: ".product-name"
price: ".price"
url:
selector: "a"
attribute: "href"
extract_table:
selector: "table.data"
output: json
capture:
screenshot:
path: "screenshot.png"
full_page: true
type: "png"
pdf:
path: "page.pdf"
format: "A4"
print_background: true
// Login and fill form
await page.goto('https://app.example.com/login');
await page.fill('#email', '[email protected]');
await page.fill('#password', 'securepass');
await page.click('button[type="submit"]');
await page.waitForNavigation();
// Navigate to form
await page.click('a[href="/new-entry"]');
await page.fill('#title', 'Automated Entry');
await page.fill('#description', 'Created via automation');
await page.click('button.submit');
scraping_workflow:
- navigate: "https://news.example.com"
- wait: ".article-list"
- extract_all:
selector: ".article"
fields:
title: "h2"
summary: ".excerpt"
link:
selector: "a"
attribute: "href"
- paginate:
next_button: ".pagination .next"
max_pages: 10
- output: "articles.json"
test_workflow:
- name: "User Registration"
steps:
- goto: "/register"
- fill:
"#email": "[email protected]"
"#password": "Test123!"
- click: "button[type='submit']"
- assert:
selector: ".success-message"
text_contains: "Welcome"
documentation
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
content-media
>
content-media
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
content-media
Add watermarks, page numbers, headers, and footers to PDFs