Agent skill

Browser4 Experience

by platonai in platonai/Browser4

Use experiencesave to persist task traces, experiencequery to recall them on revisit, and experiencelist to inspect stored knowledge.

Apache-2.0Auto-check passed

Install Browser4 Experience

skills CLI
$ npx skills add platonai/Browser4 --skill browser4-experience -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install platonai/Browser4 browser4-experience --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/platonai/Browser4.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/browser4-experience .claude/skills/browser4-experience && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
browser4-experience
GitHub stars
1.2k
Token cost
~3.2k tokens
SKILL.md length
1,010 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Use experiencesave to persist task traces, experiencequery to recall them on revisit, and experiencelist to inspect stored knowledge.

  • Works in 9 steps: Core Loop → Key Concepts → Command Map → …
  • SKILL.md covers 1. Core Loop, 2. Key Concepts, 3. Command Map and 4. Decision Trees, plus 5 more sections
  • Reaches amazon.com

What it does

Browser4 Experience is an agent skill from platonai/Browser4. Use experiencesave to persist task traces, experiencequery to recall them on revisit, and experiencelist to inspect stored knowledge. Reuses selectors, extraction patterns, and blocker awareness across sessions.

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Browser4 — an AI-native browser engine for autonomous agents, intelligent extraction, and large-scale web automation. The licence is Apache-2.0.

Example prompts

  • “/browser4-experience”

Requirements

  • Pre-approved tools (allowed-tools): Bash(browser4-cli:*)

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Core Loop
  2. Key Concepts
  3. Command Map
  4. Decision Trees
  5. Retrieval Tiers
  6. Critical Warnings
  7. Quick Patterns
  8. Knowledge Store Layout
  9. Reference Map

What it can do on your machine

Read from SKILL.md and the folder at commit 0fdba82. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(browser4-cli:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • amazon.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Browser4 Experience loads about 3.2k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,010 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from platonai/Browser4 at commit 0fdba82, republished under its Apache-2.0 licence (© platonai). 1,010 words, ~3,233 tokens.

Download SKILL.mdSave it as .claude/skills/browser4-experience/SKILL.md (or your agent's skills folder).
name
browser4-experience
description
Use experience_save to persist task traces, experience_query to recall them on revisit, and experience_list to inspect stored knowledge. Reuses selectors, extraction patterns, and blocker awareness across sessions.
allowed-tools
Bash(browser4-cli:*)
title
Progressive Experience Memory (PEM)
tier
decision

Progressive Experience Memory (PEM)

The PEM system makes Browser4 progressively smarter: each successfully completed task deposits reusable knowledge so that future tasks — identical, similar, or on similar sites — complete faster with fewer steps.

1. Core Loop

Before task ──▶ experience_query ──▶ Get stored selectors, steps, blockers
    │                                      │
    ▼                                      ▼
Execute task                        P1: Replay directly
    │                               P2: Verify then replay
    ▼                               P3: Hint mode (verify all)
After task  ──▶ experience_save ──▶ P4: Advisory only
                                      P5: Cold start (no knowledge)
Copy-Paste Template

The experience tools are MCP tools called by the agent during browser4-cli agent run. The agent should call them as part of its tool set:

bash
# Before starting a task — the agent calls experience_query to check prior knowledge
# After completing a task — the agent calls experience_save to persist what it learned
browser4-cli agent run "Go to https://amazon.com/dp/test and extract product details"

# To inspect stored knowledge, the agent calls experience_list
browser4-cli agent run "List experience knowledge entries for amazon"

2. Key Concepts

  • Knowledge store — a local directory tree of memory artifacts (tasks, traces, index); the store layout is described in section 8.
  • experience_save — persist a completed task's trace (selectors, steps, blockers) into the store.
  • experience_query — retrieve relevant past traces before starting a new task; returns a replay tier P1-P5.
  • experience_list — inspect what is stored, filtered by domain or intent.
  • Replay tiers — P1 (replay directly) → P5 (cold start), the confidence ladder used by the Decision Tree in section 4.

3. Command Map

experience_save

Persists a task execution trace to the knowledge store.

ArgumentRequiredDescription
urlYesThe URL the task operated on
traceYesJSON-encoded ExecutionTrace (steps, selectors, extraction results)
outcomeNo"success" (default) or "failure"
task_typeNoCanonical task type (e.g., extract_product_list, publish_post)
intentNoFree-text description of what the task was trying to do
factsNoRetrospective knowledge patch (inline JSON, or @file.json through the CLI): selectors / interaction_hints / known_blockers / anti_patterns (camelCase and snake_case keys both accepted), merged into the (domain, intent) facts entry — the writer path for lessons learned. Refused when the entry is VERIFIED (immutable); the response then reports facts_rejected

Success path: Knowledge promoted with initial confidence 0.50. Subsequent verified successes raise confidence. Failure path: Negative evidence recorded (failure category classified from the trace). Failed selectors are not automatically turned into anti-patterns — record lessons explicitly with facts (e.g. anti_patterns) via experience_save --facts (or the facts argument), or let experience_deep_learn promote knowledge later. Response: the save result includes facts_merged, facts_status, facts_rejected, and facts_message when facts was supplied.

experience_query

Queries stored knowledge before starting a task.

ArgumentRequiredDescription
urlYesThe target URL
intentNoFree-text intent description

Returns: JSON with tier, confidence, primary_selectors, extraction_query, known_blockers, warnings, steps.

experience_list

Lists stored knowledge entries (diagnostic/debug tool).

ArgumentRequiredDescription
filterNoFilter by domain (partial match)
intent_filterNoFilter by intent (partial match)
pageNoPage number (default 1)
page_sizeNoResults per page (default 20, max 100)

4. Decision Trees

Starting a new task?
├─ experience_query returns P1 (confidence ≥ 0.85)?
│  → Replay stored steps directly. Selectors verified by existence check only.
├─ experience_query returns P2 (confidence 0.60–0.84)?
│  → Use stored selectors as primary candidates. Verify each before use.
├─ experience_query returns P3 (confidence 0.40–0.59)?
│  → Use stored knowledge as hints. Run full discovery for any failed selector.
├─ experience_query returns P4/P5 (confidence < 0.40, or cold start)?
│  → Full discovery mode. Run htmlsnapshot inspect, discover selectors fresh.
│  → Call experience_save after success to bootstrap knowledge.
└─ Always call experience_save after task completion (success or failure).
   → Success path: stores selectors, steps, extraction patterns.
   → Failure path: records negative evidence (what broke, why).

5. Retrieval Tiers

TierConfidenceBehavior
P1 Direct replay≥ 0.85Steps executed without verification. Selectors used as-is.
P2 Verify-before-replay0.60–0.84Each selector validated via htmlsnapshot get before use.
P3 Hint mode0.40–0.59Playbook provides suggestions but full discovery runs.
P4 Advisory< 0.40Knowledge surfaced as suggestion only. Full discovery required.
P5 Cold startNo dataNo prior knowledge. Full exploration.

6. Critical Warnings

Note: The automatic engine hook is live (since 2026-08-24): RobustBrowserAgent auto-deposits completed/failed tasks into the knowledge store (MemoryConsolidator → PEM fusion) and auto-injects recalled knowledge into the run-start ## Memory section. Calling experience_save yourself is still supported for richer traces and diagnostics, but forgetting it no longer loses knowledge.

Where the knowledge lives: the store root is the knowledge.dir JVM system property, defaulting to a knowledge/ directory relative to the backend process's working directory (traces/, experience/, facts/). The engine's auto-deposit and these tools resolve the same property, so one -Dknowledge.dir=<path> relocates the whole knowledge base; when the CLI starts the backend, pass it as BROWSER4_SERVER_OPTS="-Dknowledge.dir=<path>". See config.md and experience-memory.md.

Show full SKILL.md (454 more words)Show less
experience_save

Persists a task execution trace to the knowledge store.

ArgumentRequiredDescription
urlYesThe URL the task operated on
traceYesJSON-encoded ExecutionTrace (steps, selectors, extraction results)
outcomeNo"success" (default) or "failure"
task_typeNoCanonical task type (e.g., extract_product_list, publish_post)
intentNoFree-text description of what the task was trying to do
factsNoRetrospective knowledge patch (inline JSON, or @file.json through the CLI): selectors / interaction_hints / known_blockers / anti_patterns (camelCase and snake_case keys both accepted), merged into the (domain, intent) facts entry — the writer path for lessons learned. Refused when the entry is VERIFIED (immutable); the response then reports facts_rejected

Success path: Knowledge promoted with initial confidence 0.50. Subsequent verified successes raise confidence. Failure path: Negative evidence recorded (failure category classified from the trace). Failed selectors are not automatically turned into anti-patterns — record lessons explicitly with facts (e.g. anti_patterns) via experience_save --facts (or the facts argument), or let experience_deep_learn promote knowledge later. Response: the save result includes facts_merged, facts_status, facts_rejected, and facts_message when facts was supplied.

Recording a lesson with facts: a lesson (a selector that broke, a blocker, an anti-pattern) can be recorded immediately after the task — no need to wait for deep_learn:

text
# MCP tool form
experience_save(url="<target-url>", trace="<execution trace JSON>", outcome="success",
                intent="extract product details", task_type="extract_product_list",
                facts='{"interaction_hints":["open the price popover before reading"],
                        "anti_patterns":["clicking the thumbnail before the modal loads"]}')

# CLI equivalent — trace is inline JSON; --facts accepts inline JSON or @file.json
browser4-cli experience save "https://example.com/products" '<trace-json>' --facts @lessons.json
experience_query

Queries stored knowledge before starting a task.

ArgumentRequiredDescription
urlYesThe target URL
intentNoFree-text intent description

Returns: JSON with tier, confidence, primary_selectors, extraction_query, known_blockers, warnings, steps.

experience_list

Lists stored knowledge entries (diagnostic/debug tool).

ArgumentRequiredDescription
filterNoFilter by domain (partial match)
intent_filterNoFilter by intent (partial match)
pageNoPage number (default 1)
page_sizeNoResults per page (default 20, max 100)

Warning: experience_query before open_session is supported — it operates on the file system, not the browser. Use it to plan your task before launching Chrome.

Warning: Knowledge stored for one URL pattern (e.g., /dp/*) is not automatically available for a different pattern (e.g., /s?k=*). The query matches by URL pattern specificity.

Note: The knowledge store is file-backed YAML under knowledge/, resolved relative to the backend process working directory (there is no knowledge.dir config option to relocate it). The store is safe to version with git. Raw traces (under knowledge/traces/<domain>/) are ephemeral (30-day TTL) and not versioned; facts entries (knowledge/facts/<domain>/<intent>.yaml) are immutable once VERIFIED.

7. Quick Patterns

Before a task — query prior knowledge

The store is file-level YAML per (domain, intent) — no per-site blob files:

knowledge/                          ← root: relative to the backend process CWD
├── traces/<domain>/                ← TraceRecords (immutable, 30-day TTL)
├── experience/<domain>/            ← ExperienceStats (mutable; confidence source)
└── facts/<domain>/                 ← KnowledgeFacts — one <intent>.yaml per (domain, intent)
                                      (VERIFIED entries are immutable; merge is refused)
text
experience_query(url="<target-url>", intent="extract product details")
After a task — save what you learned
text
# MCP tool form — trace (JSON) is required; facts patches knowledge onto the (domain, intent) entry
experience_save(url="<target-url>", trace="<execution trace JSON>", outcome="success",
                intent="extract product details", task_type="extract_product_list",
                facts='{"interaction_hints":["open the price popover before reading"],
                        "anti_patterns":["clicking the thumbnail before the modal loads"]}')

# CLI equivalent — trace is inline JSON; --facts accepts inline JSON or @file.json
browser4-cli experience save "https://example.com/products" '<trace-json>' --facts @lessons.json

A lesson (selector that broke, a blocker, an anti-pattern) can be recorded immediately after the task with --facts — no need to wait for deep_learn.

Inspect the store
text
experience_list(filter="amazon")

8. Knowledge Store Layout

The store is file-level YAML per (domain, intent) — no per-site blob files:

knowledge/                          ← root: relative to the backend process CWD
├── traces/<domain>/                ← TraceRecords (immutable, 30-day TTL)
├── experience/<domain>/            ← ExperienceStats (mutable; confidence source)
└── facts/<domain>/                 ← KnowledgeFacts — one <intent>.yaml per (domain, intent)
                                      (VERIFIED entries are immutable; merge is refused)

8. Reference Map

© platonai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/browser4-experience of platonai/Browser4.

Open the folder on GitHubat commit 0fdba82

Compare with similar skills

Browser4 Experience next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Browser4 Experience compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Browser4 Experience this skillplatonai/Browser41.2k—~3.2kAutomated safety check: PassApache-2.0
Observe Traceruvnet/ruflo74k—~522Automated safety check: NotesMIT
Finding ExperimentsPostHog/posthog40k—~783Automated safety check: PassCustom licence
ExperimentsArize-ai/phoenix12k—~1.8kAutomated safety check: PassCustom licence
Scroll Experiencesickn33/agentic-awesome-skills47k2 repos~534Automated safety check: PassMIT
Webgl Experiencenexu-io/open-design100k—~903Automated safety check: PassApache-2.0

Similar skills

  • Observe Trace

    ruvnet/ruflo

    Trace agent execution by collecting spans and building a trace tree for a task

    74k GitHub stars~522 tokensUpdated today
    Auto-check: notes
  • Finding Experiments

    PostHog/posthog

    Official

    Resolves a PostHog experiment reference from natural language to a concrete experiment ID by browsing experiment-list (not feature-flag tools), with disambiguation when multiple experiments match.

    40k GitHub stars~783 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Experiments

    Arize-ai/phoenix

    Run, read, and compare dataset-backed experiments to find evidence that a prompt or pipeline is improving.

    12k GitHub stars~1.8k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Scroll Experience

    sickn33/agentic-awesome-skills

    Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences.

    47k GitHub starsUsed in 2 repos~534 tokens
    Writing & ContentAuto-check passed
  • Webgl Experience

    nexu-io/open-design

    A full-screen, real-time WebGL/WebGL2 experience — animated shaders, 3D scenes, generative visuals, particle fields — rendered live on the GPU with a typographic overlay.

    100k GitHub stars~903 tokensUpdated today
    Game DevelopmentAuto-check passed
  • Creating Experiments

    PostHog/posthog

    Official

    Guides agents through experiment creation: reading the project's setup with experiment-setup-context, defining the hypothesis, configuring rollout and bucketing, setting up analytics and running…

    40k GitHub stars~2.7k tokensUpdated today
    Marketing & SEOAuto-check passed

More from platonai/Browser4

All 17 skills in this repo
  • Data Validation

    platonai/Browser4

    Validates data against common and custom rules (required fields, formats, ranges).

    1.2k GitHub stars~896 tokensUpdated yesterday
    Auto-check passed
  • Form Filling

    platonai/Browser4

    Automatically fills web forms using provided field data and can optionally submit the form.

    1.2k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Web Scraping

    platonai/Browser4

    Extracts data from web pages using browser automation and CSS/JavaScript selectors.

    1.2k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Organize Task Files

    platonai/Browser4

    Lists, pairs, deduplicates, and moves task files across the Coworker task state machine (0draft → 6git-pushed).

    1.2k GitHub stars~801 tokensUpdated yesterday
    Auto-check passed
  • Task Token Usage

    platonai/Browser4

    Analyzes Claude Code session traces (JSONL) and draft task files to report token usage per task.

    1.2k GitHub stars~701 tokensUpdated yesterday
    Auto-check passed
  • Weather

    platonai/Browser4

    Fetches current weather conditions and a 7-day forecast for a requested location using Open-Meteo geocoding and forecast APIs.

    1.2k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed

Questions about Browser4 Experience

What does Browser4 Experience do?

Use experiencesave to persist task traces, experiencequery to recall them on revisit, and experiencelist to inspect stored knowledge. Browser4 Experience is an agent skill from platonai/Browser4. Use experiencesave to persist task traces, experiencequery to recall them on revisit, and experiencelist to inspect stored knowledge.

How do I install Browser4 Experience in Claude Code?

Run `npx skills add platonai/Browser4 --skill browser4-experience -a claude-code`. Or copy the skill folder (skills/browser4-experience in platonai/Browser4) into .claude/skills/browser4-experience in your project. Claude Code loads it when a task matches its description.

How do I install Browser4 Experience in Codex?

Run `npx skills add platonai/Browser4 --skill browser4-experience -a codex`. Or copy the skill folder (skills/browser4-experience in platonai/Browser4) into .agents/skills/browser4-experience in your project. Codex loads it when a task matches its description.

Can I use Browser4 Experience in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add platonai/Browser4 --skill browser4-experience -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/browser4-experience, .gemini/skills/browser4-experience, .github/skills/browser4-experience and .opencode/skills/browser4-experience in your project.

What does Browser4 Experience need to run?

SKILL.md names no scripts, command-line tools or credentials: Browser4 Experience is instructions for the agent only. Its frontmatter pre-approves these tools: Bash(browser4-cli:*).

Does Browser4 Experience access the network?

SKILL.md names 1 domain. In commands or code: amazon.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Browser4 Experience safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Browser4 Experience use?

Browser4 Experience is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Browser4 Experience use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Browser4 Experience?

Skills that share tags, products or a category with Browser4 Experience: Observe Trace (ruvnet/ruflo, 74k stars), Finding Experiments (PostHog/posthog, 40k stars), Experiments (Arize-ai/phoenix, 12k stars) and Scroll Experience (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Browser4 Experience?

platonai (a GitHub user) maintains it in platonai/Browser4, which has 1,152 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 7, 2026.

Source: platonai/Browser4 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.