Turn what a person wants off a website into a browse.json job, read what came back in results.csv, and sharpen the fields that came back thin.

MITAuto-check passedDocuments & Office

Install Browser

skills CLI
$ npx skills add autonomous-ai/openharness --skill browser -a claude-code

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

GitHub CLI
$ gh skill install autonomous-ai/openharness browser --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/autonomous-ai/openharness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/store/agents/jev-browser/skills/browser .claude/skills/browser && 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
browser
GitHub stars
1.1k
Token cost
~1.7k tokens
SKILL.md length
1,220 words
Files
1
Skills in repo
100
Repo updated
First seen
Licence
MIT

At a glance

Turn what a person wants off a website into a browse.json job, read what came back in results.csv, and sharpen the fields that came back thin.

  • Works in 4 steps: Any column mostly empty? The verdict… → Any column with low confidence? Jev was… → Too few rows? Look at the pane's link… → …
  • Tasks that involve CSV and tabular files
  • SKILL.md covers The shape of a site, Letting Jev write the fields, Writing the fields and Reading what came back, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Browser is an agent skill from autonomous-ai/openharness. Turn what a person wants off a website into a browse.json job, read what came back in results.csv, and sharpen the fields that came back thin.

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

It sits in Documents & Office, covering CSV and tabular files. The repository describes itself as: The ultimate harness for coding agents and beyond. All your agents. All your machines. One command center. Start with code, then follow your curiosity and build across… The licence is MIT.

When your agent uses it

  • Tasks that involve CSV and tabular files

Example prompts

  • “/browser”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Any column mostly empty? The verdict marks it thin. Either the words are wrong, or the
  2. Any column with low confidence? Jev was choosing between two pieces of text. Read three of
  3. Too few rows? Look at the pane's link panel. If the real things scored under 0.5, item is
  4. Rows that are not things? A menu page scored over 0.5. Make item more specific, and say

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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

Browser loads about 1.7k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 1,220 words of instructions outside code blocks.

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

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 autonomous-ai/openharness at commit 50da5db, republished under its MIT licence (© autonomous-ai). 1,220 words, ~1,748 tokens.

Download SKILL.mdSave it as .claude/skills/browser/SKILL.md (or your agent's skills folder).
name
browser
description
Turn what a person wants off a website into a browse.json job, read what came back in results.csv, and sharpen the fields that came back thin.

Craft: reading a website into a spreadsheet

The person points at a page. You write the job. A real Chrome walks the site and Jev answers, per page, in one call. Every value in the spreadsheet is a piece of text that was really on the page, because Jev only ever picks from what the reader found. It cannot write a value, so it cannot invent one.

The shape of a site

Almost every site worth reading has two page kinds, and the job assumes them:

a LIST page  →  links to each thing, and a link to the next list page
a THING page →  the details of one thing

A search page is a list page, so "search this site for X" is the same job: put the words in "search" and the harness types them into the site's own search box, then reads the results.

start does not have to be the list. Give it the site and Jev walks there: each step is one call asking whether this page is already the one, and if not which link goes towards it, up to five pages. Where a person gave you the exact page, use it and skip the walking.

Point start at the list where you have it. If you point it at one thing's page, that one row is collected and the run ends. If the things have no page of their own (everything is on the list), say so to the person: this harness collects one row per page, so a list-only site gives one row for the whole list.

Letting Jev write the fields

Put the person's sentence in want, leave fields out, and two Jev calls decide it: one asks what the page lists and which links are the things, the other asks of every piece of text on one of them "is that a fact about this one, worth a column?" and "what kind of value is it?". About a second, and the names come off the page's own labels.

Do that first. Read what it proposed, then add or reword. What it cannot propose is a judgement: "is this remote?", "how urgent is this". Those are yours to write, and they are where the tool earns its keep, because no page prints them.

Writing the fields

A field is what to look for, in the words a person would use.

What you wantWrite
a value printed on the page{ "id": "rent", "name": "Rent", "ask": "the monthly rent" }
a judgement about the thing{ "ask": "Does it allow pets?", "type": "yesno" }
a place on your own scale{ "ask": "what condition it is in", "type": "score", "levels": ["needs work", "liveable", "newly done"] }
  • Say it as it appears. "the pay or salary range" beats "compensation" if the page says Salary.
  • One value per field. If the page prints "Acme · Leeds · £45,000" the reader offers that line and each of its parts, so company, place and salary can each take their own part. A line splits on ·, |, a dash or a bullet, a label keeps its value (UPC: a22124811bfa8350), and any number inside a line is offered alone.
  • Ask for a number when you want to sort by one. A page that says "In stock (19 available)" offers both the sentence and 19: ask for "how many copies are available" and you get the number; ask for "the availability line" and you get the sentence. If the page never prints the number on its own and Jev returns the sentence, that is right and honest. Derive the number with a script afterwards and tell the person you did.
  • A value that is not on the thing's page cannot be collected. Rating stars drawn as pictures, a price loaded after a click, a number inside an image: none of those are text. Check with the reader (see AGENTS.md, "Look before you write the job") before promising a column.
  • yesno is judgement, not text. Use it for "is it remote?", not for "what is the salary?". check.mjs warns when a pick field reads like a question.
Show full SKILL.md (565 more words)Show less

Reading what came back

results.csv: one row per thing, every field with a confidence column. Then:

  1. Any column mostly empty? The verdict marks it thin. Either the words are wrong, or the value is not on those pages. Open one page with the reader and look.
  2. Any column with low confidence? Jev was choosing between two pieces of text. Read three of those rows: usually two parts of one line, and a sharper ask fixes it.
  3. Too few rows? Look at the pane's link panel. If the real things scored under 0.5, item is too vague: "a job posting" works, "an entry" does not. If it ran out, raise maxItems.
  4. Rows that are not things? A menu page scored over 0.5. Make item more specific, and say what it is not: "item": "a flat for rent, not a neighbourhood guide".

Only then report. Count from the file with a script, never by eye.

What it costs and how long it takes

One call per page. A list page with 120 links is about 122 questions in that one call; a thing's page is one question per field. Measured on 2026-09-20 with live Jev through OpenRouter: 24 things off a 36-item board took 33 s and $0.0023, and every one of the 144 cells matched the site's own data. The time is page loads, not Jev: expect about a second and a half a page.

The dial that is real

Accuracy does not fall away as maxItems goes up; the tool is not fighting a budget, and the hundredth thing is read as carefully as the first. It is still a page load each, so ask for what the person needs. The honest limit is the page. A site that prints its values as text reads perfectly. A site that draws them, hides them behind a click, or loads them after a scroll gives blanks, and the blanks show up as a thin column rather than as a wrong answer. That is the tool telling the truth: it would rather leave a cell empty than write something the page never said.

When a site says no

A site that runs bot protection answers with a wall: "Just a moment…", "Sorry, something went wrong", a captcha, a 403, or a robot-policy page. The harness names it, stops, and puts it in run.walled. Trying another address on the same site is the same wall. Do not work around it.

Do not guess which sites will block. Measured on 2026-09-20: Hacker News, arXiv, gov.uk, data.gov.uk, GitHub, We Work Remotely and shop.bbc.com all read. Amazon, Wikipedia, Rightmove and three specialist fencing retailers all blocked. Small does not mean open, and big does not mean shut: it is whether the site runs a challenge. Point the job at the page and let the pane tell you in ten seconds, rather than promising a person it will work.

When it walls, say so plainly and offer a different source: a public dataset, an official API, a government or reference site, or the maker's own pages. Do not re-run it hoping.

Never

  • Never go around a login wall, a block, a rate limit or a robots rule. Never ask for a password.
  • Never present the offline stand-in's rows as Jev's judgement.
  • Never retype a value from the page into the chat as if it were collected: run the job.

© autonomous-ai, MIT. 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 store/agents/jev-browser/skills/browser of autonomous-ai/openharness.

Open the folder on GitHubat commit 50da5db

Compare with similar skills

Browser 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.

Browser compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Browser this skillautonomous-ai/openharness1.1k—~1.7kAutomated safety check: PassMIT
Data Table Managern8n-io/n8n207k—~2.3kAutomated safety check: PassCustom licence
Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences2742 repos~2.7kAutomated safety check: PassApache-2.0
Abuse Hunternexu-io/harness-engineering-guide663—~1.9kAutomated safety check: PassMIT
Markitshift-labs-ai/markit1.3k—~299Automated safety check: PassMIT
Sector Analysttradermonty/claude-trading-skills3k1 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Official

    Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.

    207k GitHub stars~2.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Instrument Data To Allotrope

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.

    274 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed
  • Abuse Hunter

    nexu-io/harness-engineering-guide

    Detect and investigate bulk registration abuse on SaaS platforms.

    663 GitHub stars~1.9k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Markit

    shift-labs-ai/markit

    Convert files and URLs to Markdown. An agent skill from shift-labs-ai/markit.

    1.3k GitHub stars~299 tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Sector Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing sector rotation patterns and market cycle positioning.

    3k GitHub starsUsed in 1 repo~2.3k tokens
    Documents & OfficeAuto-check passed
  • Uap Release Analyzer

    ckpxgfnksd-max/uap-release-analyzer

    Inventory, extract, and analyze tranches of declassified UAP/UFO files — including war.gov/UFO/ "PURSUE" releases, FBI Vault, NARA boxes, and AARO publications.

    155 GitHub stars~2.6k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed

More from autonomous-ai/openharness

All 100 skills in this repo
  • G-code Slicer Tool

    autonomous-ai/openharness

    Slices 3D mesh files into printer-profiled plain G-code through real slicer CLIs, with backend discovery, input inspection, dry runs and static validation.

    1.1k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Home Assistant Automation Builder

    autonomous-ai/openharness

    Turns a home-automation request into standard, testable automations.yaml, run against Home Assistant Core's real triggers and verified with its own trace tool.

    1.1k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Score Music Composer

    autonomous-ai/openharness

    Turns a musical brief into LilyPond concert-pitch music, checked parts for each instrument and a playable practice pack.

    1.1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • OrcaSlicer 3MF and G-code Workflow

    autonomous-ai/openharness

    Turns an STL and explicit printer and material requirements into compared OrcaSlicer plans, an editable 3MF project, checked G-code and a portable handoff.

    1.1k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Sheets and Docs Report Builder

    autonomous-ai/openharness

    Builds an editable DOCX report, a formula-driven XLSX workbook and a fresh LibreOffice PDF preview from one structured source file, then checks them together.

    1.1k GitHub stars~708 tokensUpdated today
    Auto-check passed
  • Bambu Labs

    autonomous-ai/openharness

    Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain .gcode, using Bambu LAN FTPS/MQTT handoffs.

    1.1k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check: warnings

Questions about Browser

What does Browser do?

Turn what a person wants off a website into a browse.json job, read what came back in results.csv, and sharpen the fields that came back thin. Browser is an agent skill from autonomous-ai/openharness.csv, and sharpen the fields that came back thin.

When should I use Browser?

Browser fits situations like: tasks that involve CSV and tabular files.

How do I install Browser in Claude Code?

Run `npx skills add autonomous-ai/openharness --skill browser -a claude-code`. Or copy the skill folder (store/agents/jev-browser/skills/browser in autonomous-ai/openharness) into .claude/skills/browser in your project. Claude Code loads it when a task matches its description.

How do I install Browser in Codex?

Run `npx skills add autonomous-ai/openharness --skill browser -a codex`. Or copy the skill folder (store/agents/jev-browser/skills/browser in autonomous-ai/openharness) into .agents/skills/browser in your project. Codex loads it when a task matches its description.

Can I use Browser 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 autonomous-ai/openharness --skill browser -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/browser, .gemini/skills/browser, .github/skills/browser and .opencode/skills/browser in your project.

What does Browser need to run?

SKILL.md names no scripts, command-line tools or credentials: Browser is instructions for the agent only.

Does Browser access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Browser 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 Browser use?

Browser is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Browser use?

About 1.7k tokens (SKILL.md is roughly 7k 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 Browser?

Skills that share tags, products or a category with Browser: Data Table Manager (n8n-io/n8n, 207k stars), Instrument Data To Allotrope (aws-samples/amazon-bedrock-agents-healthcare-lifesciences, 274 stars), Abuse Hunter (nexu-io/harness-engineering-guide, 663 stars) and Markit (shift-labs-ai/markit, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Browser?

autonomous-ai (a GitHub organization) maintains it in autonomous-ai/openharness, which has 1,149 GitHub stars. The repository holds 100 skills in this directory. The repository was last updated on October 8, 2026.

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