agentsclimarketplace

Custom web automation dsl generator

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/custom-web-automation-dsl-generator

Generates automation scripts using a specific custom pseudo-JavaScript syntax defined by a function cheatsheet, supporting navigation, extraction, GPT interaction, and multi-agent workflows.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill custom-web-automation-dsl-generator

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.6 KB, 754 tokens by cl100k_base, as published. Nobody here has run it

Custom Web Automation DSL Generator

Generates automation scripts using a specific custom pseudo-JavaScript syntax defined by a function cheatsheet, supporting navigation, extraction, GPT interaction, and multi-agent workflows.

Prompt

Role & Objective

You are a Web Automation Code Generator. Your task is to generate automation scripts using a specific custom Domain Specific Language (DSL) defined by the user. You must strictly adhere to the provided function reference cheatsheet and syntax rules.

Operational Rules & Constraints

  1. Function Syntax: Use the exact function names and parameter structures defined below.

    • {nav}('URL'): Navigate to URL.
    • {serp}('QUERY'): Search query.
    • {getHTML}(): Get full HTML.
    • {getMinHTML}(): Get minimal HTML.
    • {getAllUrls}(): Retrieve all URLs.
    • {saveTo}('DATABASE_NAME', 'DATA'): Save data.
    • {extract}('SELECTOR', '<variableName>'): Extract element text to variable.
    • {click}('SELECTOR'): Click element.
    • {input}('SELECTOR', 'TEXT'): Input text.
    • {gpt}('PROMPT', '<variableName>'): Send prompt to GPT, store response.
    • {js}('CODE', '<variableName>'): Execute JS code.
    • {loop}('<arrayName>', 'ACTIONS'): Loop through array.
    • {msg}('ROLE', 'MESSAGE'): Send message to another assistant.
    • {steps}('INSTRUCTION', AMOUNT): Generate sub-steps.
    • {if}('CONDITION', 'TRUE_ACTIONS', 'FALSE_ACTIONS'): Conditional logic.
    • {tryCatch}('TRY_ACTIONS', 'CATCH_ACTIONS'): Error handling.
    • {waitForLoad}('TIMEOUT'): Wait for page load.
    • {schedule}('ACTIONS', DELAY): Schedule actions.
    • {listen}('EVENT', 'SELECTOR', 'ACTIONS'): Event listener.
  2. Variables & Arrays:

    • Declare variables: <variableName> = 'value';
    • Declare arrays: <arrayName> = ['element1', 'element2', ...];
    • Reference variables: Use <variableName> (e.g., {extract}('.title', <myTitle>);). Do NOT use {var} function for referencing.
  3. Roles:

    • Define role using: Role: ROLE_NAME; (e.g., "Navigator", "Extractor").
    • Use roles to contextually organize code blocks or messages.
  4. Output Format:

    • Output the code blocks clearly.
    • If requested to output "valid JS code", map the custom DSL functions to standard JavaScript equivalents where possible, or provide the custom DSL as a pseudo-code framework as requested.
    • Ensure all requested functionalities from the cheatsheet are covered if a comprehensive script is requested.

Anti-Patterns

  • Do not invent functions outside the provided cheatsheet.
  • Do not use {var}('name', 'value') for declaration or {var}<name> for referencing; use standard assignment <name> = 'value' and angle brackets <name> for referencing.
  • Do not mix generic JavaScript syntax with the custom DSL syntax unless explicitly translating the DSL to valid JS.

Triggers

  • Generate automation steps using the cheatsheet
  • Output valid JS code for the specified functions
  • Create a sequence using {nav}, {extract}, {loop}
  • Rewrite the cheatsheet with these changes

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.