glebis/claude-skills

browsing-history

Query browsing history from all synced devices (iPhone, Mac, iPad, desktop). Supports natural language queries for filtering by date, device, domain, and keywords. Uses LLM classification for content categories. Can output to stdout or save as markdown/JSON to Obsidian vault.

First seen Jan 24, 2026

Installation

$ npx skills add glebis/claude-skills --skill browsing-history

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from glebis/claude-skills · top by installs.

npx skills add glebis/claude-skills

Browse all from glebis/claude-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 372
License MIT
Default branch main
Open issues 6
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,688 B
  • docs README.md 3,707 B
  • docs SUMMARY.md 300 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 177 installs

SKILL.md

Browsing History Skill

Query browsing history from all synced devices with natural language.

When to Use

Use this skill when the user asks about:

  • Articles/pages they read (yesterday, last week, etc.)
  • Browsing history from specific devices (iPhone, iPad, desktop)
  • Finding pages by topic, domain, or keyword
  • Exporting browsing history to files
  • Grouping history by category or domain

Database

Location: ~/data/browsing.db

Synced devices: iPhone, iPad, Mac, desktop, Android

Timestamps

  • visit_time: Actual visit timestamp from Chrome (100% coverage for all devices)
  • firstseen: Import timestamp (fallback when visittime unavailable)

The skill uses COALESCE(visittime, firstseen) for accurate time-based queries.

Usage

python3 ~/.claude/skills/browsing-history/browsing_query.py "<query>" [options]

Options

Option Description Example
--device Filter by device --device iPhone
--days Number of days back --days 7
--domain Filter by domain --domain medium.com
--limit Max results --limit 50
--format Output format --format json
--output Save to file --output history.md
--group-by Group results --group-by domain or --group-by category
--categorize Use LLM to categorize --categorize

Example Queries

Basic queries:

# Yesterday's browsing history
python3 ~/.claude/skills/browsing-history/browsing_query.py "yesterday"

# Articles from iPhone yesterday
python3 ~/.claude/skills/browsing-history/browsing_query.py "yesterday" --device iPhone

# Last week's history grouped by domain
python3 ~/.claude/skills/browsing-history/browsing_query.py "last week" --group-by domain

# Find articles about economics
python3 ~/.claude/skills/browsing-history/browsing_query.py "economics" --days 7

Save to Obsidian:

# Save yesterday's history as markdown
python3 ~/.claude/skills/browsing-history/browsing_query.py "yesterday" \
  --output ~/Research/vault/browsing-2025-11-27.md

# Save with LLM categorization
python3 ~/.claude/skills/browsing-history/browsing_query.py "yesterday" \
  --categorize --group-by category \
  --output ~/Research/vault/browsing-categorized.md

# Save as JSON
python3 ~/.claude/skills/browsing-history/browsing_query.py "last week" \
  --format json --output ~/Research/vault/history.json

Device-specific:

# iPhone tabs
python3 ~/.claude/skills/browsing-history/browsing_query.py "yesterday" --device iPhone

# Desktop history
python3 ~/.claude/skills/browsing-history/browsing_query.py "today" --device desktop

# All mobile devices
python3 ~/.claude/skills/browsing-history/browsing_query.py "yesterday" --device mobile

Search and filter:

# Sites starting with "joy"
python3 ~/.claude/skills/browsing-history/browsing_query.py "joy" --days 7

# Medium.com articles
python3 ~/.claude/skills/browsing-history/browsing_query.py "last month" --domain medium.com

Natural Language Patterns

The script recognizes:

Pattern Interpretation
yesterday Previous day
today Current day
last week Past 7 days
last month Past 30 days
last N days Past N days

Keywords are searched in URL and title.

Output Formats

Markdown (default)

# Browsing History: yesterday

*47 unique URLs from 2025-11-27*

## 2025-11-27

- [Article Title](https://example.com/article) - iPhone - 14:32
- [Another Page](https://another.com/page) - desktop - 16:45

Markdown with categories (--categorize --group-by category)

# Browsing History: yesterday

## News & Current Events
- [Breaking: Something Happened](https://news.com/...) - iPhone

## Technology & Programming
- [How to Build APIs](https://dev.to/...) - desktop

## Research & Learning
- [Academic Paper on AI](https://arxiv.org/...) - Mac

JSON (--format json)

{
  "query": "yesterday",
  "date_range": "2025-11-27",
  "total": 47,
  "results": [
    {"url": "...", "title": "...", "device": "iPhone", "time": "14:32", "category": "News"}
  ]
}

Workflow Examples

User: "Show me articles I read yesterday on my phone"

python3 ~/.claude/skills/browsing-history/browsing_query.py "yesterday" --device iPhone

User: "Save my browsing history from last week to Obsidian, grouped by category"

python3 ~/.claude/skills/browsing-history/browsing_query.py "last week" \
  --categorize --group-by category \
  --output ~/Research/vault/browsing-week.md

User: "Help me find that article about economics I read on my computer"

python3 ~/.claude/skills/browsing-history/browsing_query.py "economics" \
  --device desktop --days 7

User: "Sites that start with 'joy' from last week"

python3 ~/.claude/skills/browsing-history/browsing_query.py "joy" --days 7

Notes

  • URLs are deduplicated per day (same URL on same day = one entry)
  • visit_time: Actual visit timestamps from Chrome history

- Desktop: 100% coverage (from Chrome SQLite lastvisittime) - Mobile: 100% coverage (extracted from Chrome Sync LevelDB)

  • first_seen: Fallback import timestamp (~15min resolution)
  • LLM categorization uses Claude 3.5 Haiku via llm CLI