Data Table Manager
n8n-io/n8n
Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.
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.
$ npx skills add autonomous-ai/openharness --skill browser -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install autonomous-ai/openharness browser --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "browser" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/jev-browser/skills/browser into .claude/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/autonomous-ai/openharness/tree/main/store/agents/jev-browser/skills/browserType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add autonomous-ai/openharness --skill browser -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install autonomous-ai/openharness browser --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/store/agents/jev-browser/skills/browser .agents/skills/browser && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "browser" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/jev-browser/skills/browser into .agents/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add autonomous-ai/openharness --skill browser -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install autonomous-ai/openharness browser --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/store/agents/jev-browser/skills/browser .cursor/skills/browser && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "browser" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/jev-browser/skills/browser into .cursor/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/autonomous-ai/openharness.git --path store/agents/jev-browser/skills/browser--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add autonomous-ai/openharness --skill browser -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install autonomous-ai/openharness browser --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/store/agents/jev-browser/skills/browser .gemini/skills/browser && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "browser" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/jev-browser/skills/browser into .gemini/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install autonomous-ai/openharness browserInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add autonomous-ai/openharness --skill browser -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .github/skills && cp -r skills-src/store/agents/jev-browser/skills/browser .github/skills/browser && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "browser" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/jev-browser/skills/browser into .github/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add autonomous-ai/openharness --skill browser -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install autonomous-ai/openharness browser --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/store/agents/jev-browser/skills/browser .opencode/skills/browser && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "browser" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/jev-browser/skills/browser into .opencode/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
browserTurn 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. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 50da5db. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from autonomous-ai/openharness at commit 50da5db, republished under its MIT licence (© autonomous-ai). 1,220 words, ~1,748 tokens.
.claude/skills/browser/SKILL.md (or your agent's skills folder).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.
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 thingA 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.
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.
A field is what to look for, in the words a person would use.
| What you want | Write |
|---|---|
| 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"] } |
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.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.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.results.csv: one row per thing, every field with a confidence column. Then:
thin. Either the words are wrong, or the
value is not on those pages. Open one page with the reader and look.item is
too vague: "a job posting" works, "an entry" does not. If it ran out, raise maxItems.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.
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.
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.
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.
© 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
Just SKILL.md in store/agents/jev-browser/skills/browser of autonomous-ai/openharness.
Open the folder on GitHubat commit 50da5db
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Browser this skillautonomous-ai/openharness | 1.1k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Data Table Managern8n-io/n8n | 207k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences | 274 | 2 repos | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Abuse Hunternexu-io/harness-engineering-guide | 663 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Markitshift-labs-ai/markit | 1.3k | — | ~299 | Automated safety check: Pass | MIT | |
| Sector Analysttradermonty/claude-trading-skills | 3k | 1 repos | ~2.3k | Automated safety check: Pass | MIT |
n8n-io/n8n
Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.
aws-samples/amazon-bedrock-agents-healthcare-lifesciences
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.
nexu-io/harness-engineering-guide
Detect and investigate bulk registration abuse on SaaS platforms.
shift-labs-ai/markit
Convert files and URLs to Markdown. An agent skill from shift-labs-ai/markit.
tradermonty/claude-trading-skills
This skill should be used when analyzing sector rotation patterns and market cycle positioning.
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.
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.
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.
autonomous-ai/openharness
Turns a musical brief into LilyPond concert-pitch music, checked parts for each instrument and a playable practice pack.
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.
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.
autonomous-ai/openharness
Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain .gcode, using Bambu LAN FTPS/MQTT handoffs.
Categories
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.
Browser fits situations like: tasks that involve CSV and tabular files.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Browser is instructions for the agent only.
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.
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.
Browser is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.