← Back to Skills Marketplace
yiliu-li

Avenir Web

by Aiden (Yiliu) Li · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
341
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install avenir-web
Description
Execute and improve Avenir-Web autonomous web tasks end-to-end with mode selection, instruction validation, single or batch runs, and next-step recommendations.
README (SKILL.md)

Avenir-Web

What this skill does

This skill operates Avenir-Web for reliable web-task execution and iteration.

Responsibilities:

  • run single tasks and batch tasks
  • choose mode (headless / headed / demo)
  • improve instruction quality before execution
  • analyze run outputs and recommend the next best change
  • execute one atomic action without strategy/checklist overhead
  • read the current page by screenshoting it and asking the main model a question

Use this skill for requests like:

  • run a task on a website
  • run a task list and summarize outcomes
  • improve success rate with better instructions/config

Canonical entrypoints

Single task:

python example.py --task "\x3Cinstruction>" --website "\x3Curl>" --mode headless

Atomic action:

python scripts/atomic_action.py --action CLICK --website "\x3Curl>" --coords "500,500"

Read page:

python scripts/read_page.py --website "\x3Curl>" --question "\x3Cquestion>"

Batch:

cd src
python run_agent.py -c config/batch_experiment.toml

Prefer these scripts over ad-hoc commands.

Quick usage example

Single task:

python example.py \
  --task "On openrouter.ai, list image-input-capable distillable models sorted by price ascending." \
  --website "https://openrouter.ai/" \
  --mode demo

Batch:

cd src
python run_agent.py -c config/batch_experiment.toml

Atomic action:

python scripts/atomic_action.py \
  --action TYPE \
  --website "https://example.com/" \
  --coords "500,420" \
  --value "hello"

Read page:

python scripts/read_page.py \
  --website "https://openrouter.ai/" \
  --question "What models or prices are visible on this page?"

Run modes

mode behavior best for
headless no visible browser window fast, reproducible runs and large batch jobs
headed visible browser window manual observation without demo overlay
demo visible window + overlay/dashboard controls live debugging and demonstrations

Notes:

  • if mode is missing, use headless
  • demo improves observability, not model intelligence

Mode selection:

  1. benchmark/batch -> headless
  2. visual debugging -> headed
  3. demo/control flow visibility -> demo

Instruction design

confirmed_task should include:

  1. objective
  2. constraints
  3. completion condition

Template:

  • On \x3Cwebsite>, \x3Cobjective>. Apply constraints: \x3Cconstraints>. Finish when \x3Cobservable completion state>.

Keep it single-goal, specific, and verifiable.

Single-task workflow

Input:

  • task
  • website
  • optional mode, task-id, output-dir

Steps:

  1. check environment and API key
  2. validate instruction quality
  3. run example.py
  4. inspect outputs
  5. report status + cause + next action

Recommended report fields:

  • task_id
  • status: success / partial / failed
  • evidence summary
  • one-line cause
  • one recommended next step

Atomic action workflow

Use scripts/atomic_action.py when you need exactly one browser operation and do not want strategist/checklist generation.

Typical uses:

  • one click
  • one type
  • one goto
  • one scroll

Properties:

  • disables strategy generation
  • disables checklist generation
  • executes exactly one action
  • returns structured JSON with result, URL, screenshot path, and output directory

Read-page workflow

Use scripts/read_page.py when you want to inspect the current page by screenshot and ask the main model a direct question.

Properties:

  • opens the page
  • captures a screenshot
  • sends the screenshot plus page metadata to the main model
  • returns structured JSON with the answer and screenshot path

Batch workflow

Task file schema

[
  {
    "task_id": "example_task_001",
    "confirmed_task": "Find image-input-capable distillable models sorted by price ascending.",
    "website": "https://openrouter.ai/"
  }
]

Required per task:

  • task_id
  • confirmed_task
  • website

Config checklist (src/config/batch_experiment.toml)

  • [basic].save_file_dir
  • [experiment].task_file_path
  • [experiment].max_op
  • [playwright].mode
  • [model].name
  • API key source

Batch execution

  1. validate JSON schema and config paths
  2. choose mode and max_op
  3. run batch command
  4. summarize per-task outcomes
  5. provide one global improvement recommendation

Recommended batch report fields:

  • total/completed/failed counts
  • per-task status list
  • recurring issue patterns
  • one highest-impact next change

API requirements

Required credential:

  • OPENROUTER_API_KEY (preferred)

Resolution order:

  1. environment variable OPENROUTER_API_KEY
  2. [api_keys].openrouter_api_key in TOML (fallback)

Rules:

  • never hardcode real keys in source files
  • never print full keys in logs/outputs/reports
  • fail fast if key is missing with an actionable message

Script usage rules

  • script-first: use repository entrypoints before custom commands
  • non-interactive CLI only
  • explicit flags and paths
  • deterministic behavior preferred
  • clear, actionable error messages

If adding helper scripts:

  1. place under scripts/
  2. use CLI flags (no prompts)
  3. return stable, parseable summaries
  4. document usage in this file

Environment checklist

Before running:

  1. Python environment available
  2. dependencies installed (pip install -e src)
  3. Playwright Chromium installed (python -m playwright install chromium)
  4. API key configured
  5. config/task paths valid

Output contract

Each run summary should include:

  1. execution metadata: run type, mode, task IDs
  2. outcome: status and evidence summary
  3. diagnosis: root-cause hypothesis
  4. next action: one highest-impact recommendation

Boundaries

  • do not claim completion without evidence
  • do not skip issue summary
  • avoid large refactors before instruction/config fixes
  • avoid interactive prompts in core workflow

One-line identity

Avenir-Web execution and reliability skill: mode selection + instruction design + run analysis + iteration planning.

Usage Guidance
This repository appears to be a genuine web-agent implementation, but there are mismatches you should address before installing: (1) The registry metadata does not declare that OPENROUTER_API_KEY is required, yet SKILL.md, README, and example scripts enforce it — do not provide unrelated or high-privilege credentials. (2) The package contains many Python modules and a requirements.txt; you must install dependencies (including Playwright and possibly heavy ML libs like torch) and run browser startup steps. (3) The agent takes screenshots and sends them (plus page metadata) to the configured LLM endpoint — if you plan to run it on sensitive sites, be aware those images and metadata go to the model provider. Recommended next steps: review src/runtime/llm_engine.py to confirm endpoints and logging behavior, run the code in an isolated/sandboxed environment, set OPENROUTER_API_KEY to a scoped/test key first, and verify config files (src/config/batch_experiment.toml) do not contain hardcoded secrets. If you are not comfortable, ask the publisher to fix the registry metadata to declare OPENROUTER_API_KEY and provide an explicit install guide.
Capability Analysis
Type: OpenClaw Skill Name: avenir-web Version: 1.0.1 The bundle provides a sophisticated web automation framework using Playwright and LLMs. It includes high-risk capabilities such as full browser control, file system access for logging/screenshots, and environment variable manipulation for API keys (found in agent.py and runner.py). A shell injection vulnerability exists in src/avenir_web/runtime/browser.py via an os.system call used for file operations. While these features are consistent with the stated research purpose, the combination of broad execution power and security flaws warrants a suspicious classification.
Capability Assessment
Purpose & Capability
Name/description (Avenir-Web autonomous web tasks) match the included codebase: Playwright-based browser control, single/batch runners, atomic actions, screenshot+LLM flows and demo/dashboard support. However the registry metadata indicated 'Required env vars: none' and 'instruction-only', while SKILL.md/README and example scripts require an OPENROUTER_API_KEY and many source files are present — this mismatch is incoherent and should be corrected.
Instruction Scope
SKILL.md instructs use of the repository entrypoint scripts (example.py, scripts/atomic_action.py, scripts/read_page.py, src/run_agent.py). It explicitly documents taking screenshots and sending screenshot+page metadata to the configured LLM provider (OpenRouter). The instructions do not ask for unrelated system files or arbitrary host credentials; they do require an API key for the model provider and filesystem paths for outputs.
Install Mechanism
No install spec is declared in the registry (the skill was marked 'instruction-only'), but the package actually contains many Python source files and a requirements.txt (Playwright, torch, etc.). That is inconsistent: running the code will require installing dependencies and Playwright browsers. Missing an explicit install spec increases surprise/risk for non-technical users.
Credentials
SKILL.md and example scripts require an OpenRouter API key (OPENROUTER_API_KEY) and the code includes functions to load it and call an LLM endpoint. The registry metadata incorrectly reported no required env vars/primary credential — this is the main proportionality/information mismatch. Aside from the model key, I did not see other unrelated credentials being requested in the reviewed excerpts.
Persistence & Privilege
The skill does not request 'always: true' or system-wide config changes. It writes output/artifacts to directories under the configured save_file_dir (created by the agent), which is expected for this functionality. The agent can be invoked autonomously (default), which is normal for skills and not by itself a flag.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install avenir-web
  3. After installation, invoke the skill by name or use /avenir-web
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- No code or documentation changes detected in this version. - No user-facing or internal updates since the previous release.
v1.0.0
Avenir-Web 1.0.0 initial release: - Enables the execution and improvement of Avenir-Web autonomous web tasks end-to-end. - Supports single tasks, batch workflows, atomic browser actions, and reading pages via screenshot and model Q&A. - Introduces robust mode selection (`headless`, `headed`, `demo`) with clear usage guidance for each. - Emphasizes validated instruction design, actionable error reporting, and targeted outcome analysis. - Prioritizes non-interactive, script-based usage for repeatable, reliable runs. - Implements secure API key handling and clear environment setup documentation.
Metadata
Slug avenir-web
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Avenir Web?

Execute and improve Avenir-Web autonomous web tasks end-to-end with mode selection, instruction validation, single or batch runs, and next-step recommendations. It is an AI Agent Skill for Claude Code / OpenClaw, with 341 downloads so far.

How do I install Avenir Web?

Run "/install avenir-web" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Avenir Web free?

Yes, Avenir Web is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Avenir Web support?

Avenir Web is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Avenir Web?

It is built and maintained by Aiden (Yiliu) Li (@yiliu-li); the current version is v1.0.1.

💬 Comments