websh — Claude Code skill: what it does, how to install
websh lets an agent navigate URLs and query page content with shell-like commands. Use it when web pages need to be explored from a coding session.
npx skills add frames-engineering/skills --skill websh -a claude-codeWhat websh does
websh treats a URL as a navigable location. cd loads a page, ls lists links or matching elements, cat reads selected text, and grep filters page content. follow opens a numbered link, while back, pwd, stat, and refresh handle navigation and page state.
The skill keeps downloaded HTML and parsed content in .websh/cache/, with session data in .websh/session.md. Page fetching, extraction, and link discovery run in background haiku tasks. Prefetch behavior can be changed with prefetch; crawl depth and scope use CRAWL_DEPTH, CRAWL_SAME_DOMAIN, and CRAWL_MAX_PER_PAGE.
The prompt returns immediately after a navigation command. Until the background fetch finishes, commands such as ls can return only part of the page.
What it helps with
- navigate to a URL from an agent session
- search a page for text or patterns
- extract content from a selected element
- open a numbered link and return
- prefetch linked pages in the background
Example prompts for the agent
- Use websh to open
https://news.ycombinator.comand list the first links. - Search the current page for mentions of “AI”.
- Follow the third link, read its title, then go back.
How to install websh
1Skills CLI (Vercel)
npx skills add frames-engineering/skills --skill websh -a claude-code2Manually: put the files in place
~/.claude/skills/websh/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/websh/
1Skills CLI (Vercel)
npx skills add frames-engineering/skills --skill websh -a codex2Manually: put the files in place
.agents/skills/websh/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add frames-engineering/skills --skill websh -a cursor2Manually: put the files in place
.cursor/skills/websh/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install frames-engineering/skills websh2Manually: put the files in place
.github/skills/websh/SKILL.md1Skills CLI (Vercel)
npx skills add frames-engineering/skills --skill websh -a gemini-cli2Platform CLI
gemini skills install https://github.com/frames-engineering/skills --path skills/webshManually: put the files in place
.devin/skills/websh/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add frames-engineering/skills --skill websh -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about websh
How do I install websh in Claude Code?
Run npx skills add frames-engineering/skills --skill websh -a claude-code. The skill file will be at ~/.claude/skills/websh/SKILL.md.
What does websh do?
It gives the agent shell-style controls for web pages: opening URLs, listing elements, filtering text, and reading extracted content.
Why can ls show incomplete results after cd <url>?
Fetching and parsing happen in a background haiku task. Early commands can therefore return partial page content while processing continues.