Search browser history for URLs by topic or visit statistics. Use when asked about visited sites, browsing history, or recent online activity. Do NOT use for project/git recaps or agent-session history.
Installs into .claude/skills of the current project.
Are you the author of Web Recap?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/wilbeibi-web-recap)
---
name: web-recap
description: Search browser history for URLs by topic or visit statistics. Use when asked about visited sites, browsing history, or recent online activity. Do NOT use for project/git recaps or agent-session history.
---
# web-recap
Extracts browser history from Chrome, Chromium, Brave, Firefox, Safari, Edge. Run `web-recap --help` for all flags.
The word "recap" alone is not a browser-history request. Resolve the subject from context before invoking the CLI.
## Prerequisite
The `web-recap` CLI must be installed and on `PATH`. Check with `web-recap --help`; if missing, install a release binary (macOS Apple Silicon shown — pick the matching asset for your platform):
```bash
curl -L https://github.com/robzolkos/web-recap/releases/latest/download/web-recap-darwin-arm64 -o ~/.local/bin/web-recap
chmod +x ~/.local/bin/web-recap
```
Or build from source (needs Go 1.21+):
```bash
git clone https://github.com/robzolkos/web-recap.git && cd web-recap && go build ./cmd/web-recap
```
## Key Flags
```
--date YYYY-MM-DD Specific date (local timezone)
--start-date YYYY-MM-DD Start of range
--end-date YYYY-MM-DD End of range
--time HH Specific hour (e.g., --time 14 for 2pm-3pm)
--browser NAME chrome|firefox|safari|edge|brave|auto
```
## Output Format
JSON with `entries` array. Each entry has: `timestamp`, `url`, `title`, `domain`, `visit_count`, `browser`.
## Usage Patterns
**Never dump raw output.** Use jq to reduce tokens.
### Search (find URLs by topic)
```bash
# Find entries matching a topic (searches title, domain, url)
web-recap | jq '[.entries[] | select(.title + .domain + .url | test("KEYWORD"; "i"))] | unique_by(.url) | map({title, url, domain})'
```
### Stats (visit overview)
```bash
# Domain counts, sorted by visits
web-recap | jq '[.entries[].domain] | group_by(.) | map({domain: .[0], count: length}) | sort_by(-.count)'
```
### Quick metadata
```bash
web-recap | jq '{start: .start_date, end: .end_date, total: .total_entries}'
```