← ClaudeAtlas

ramain-browser-automatorlisted

From a structured task spec (goal, start URL, allowed domains, sensitive-data keys), generate a ready-to-run browser-use Python script with safety scaffolding — allowed-domain enforcement and environment-variable-based credential injection — baked in from the start.
riteshkew/yc-skills · ★ 0 · AI & Automation · score 73
Install: claude install-skill riteshkew/yc-skills
# Workflow When this skill triggers, follow these steps in order. ## Step 1 — Capture the task spec Ask the user for: - **goal** — plain-English description of what the browser agent should accomplish - **startUrl** — the URL to open first (e.g. `https://example.com`) - **allowedDomains** — one or more domains the agent is permitted to navigate to (prevents scope creep) - **sensitiveDataKeys** (optional) — names of environment variables that hold credentials (e.g. `LOGIN_EMAIL`, `LOGIN_PASSWORD`); their values will never be hard-coded in the script - **maxSteps** (optional) — maximum number of agent steps before the run is aborted (default: 20) Example spec: ```json { "goal": "Log in to the dashboard and download the latest invoice as a PDF.", "startUrl": "https://app.example.com/login", "allowedDomains": ["app.example.com"], "sensitiveDataKeys": ["EXAMPLE_EMAIL", "EXAMPLE_PASSWORD"], "maxSteps": 15 } ``` If the user is unsure, suggest the worked scenario in `examples/input.md`. ## Step 2 — Save the spec and run the generator Save the spec as a JSON file, then run from the skill root (`skills/ramain-browser-automator/`): ```bash node scripts/gen-task.mjs path/to/task.json > path/to/agent_task.py ``` The engine emits a valid Python script to stdout. Redirect it to a `.py` file. The generated script: - Imports `Agent` and `Browser` from `browser_use`, plus an async LLM client - Builds a `sensitive_data` dict by reading each key from `os.environ` (never ha