Skip to content
Back to skills

Browse

ASecurity

Read one web page for research — a plain-HTTP fetch that passes bot walls headless browsers cannot, cleaned to its main content, cached, and recorded in the source registry. TRIGGER when a research or review step needs a page's text. DO NOT TRIGGER to screenshot a page or drive an interactive surface (screenshot, agent-browser), or to score a source you have already read (review-source).

  • 22 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
testingpythonrustgo

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add heyJordanParker/dotfiles --skill browse --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Browse?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Browse
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/heyjordanparker-browse/badge)](https://www.skillsdirectory.com/skills/heyjordanparker-browse)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: browse
description: Read one web page for research — a plain-HTTP fetch that passes bot walls headless browsers cannot, cleaned to its main content, cached, and recorded in the source registry. TRIGGER when a research or review step needs a page's text. DO NOT TRIGGER to screenshot a page or drive an interactive surface (screenshot, agent-browser), or to score a source you have already read (review-source).
---

# Browse

One Process — read one page through the registry gate. `browse.py` OWNS the reading: a browser-User-Agent plain-HTTP fetch (which passes bot walls that block headless browsers — 13/13 review quotes recovered on a Cloudflare-gated page where agent-browser and Playwright both failed), a deterministic readability cleaner, caching, and the one agent-browser fallback with its session closed inside the command. It records every outcome into the source registry, so an unreadable page is logged, never guessed.

## 1. Check the registry before reading

Check the domain's trust before you open a page:

    python3 <profile>/scripts/sources.py check <url>

Deprioritize a low-trust domain by reading it more skeptically — never auto-skip it. The check informs how you read, not whether you read.

## 2. Run browse.py and read the cached text it prints

    python3 <profile>/skills/browse/scripts/browse.py <url>

Exit 0 prints the path to the cleaned main-content text — read that file. A `<hash>.raw.txt` sits beside it with the full stripped text; pass `--raw` to print that path instead, and read it when the cleaner dropped something you need. A nonzero exit is the stop: the page could not be read and the registry already recorded the outcome (2 blocked, 3 gone/network, 4 invalid URL, 6 dead URL), so move on — never guess the page's contents.

Verification: the domain trust was checked; browse.py ran; on exit 0 you read the cached text it printed; on a nonzero exit you moved on without guessing, the outcome already recorded.

Files in this skill

  • SKILL.md1.9 KB
  • scripts/browse.py16.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.