Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
samhvw8 avatar

Browser History

  • 46 installs
  • 14 repo stars
  • Updated July 28, 2026
  • samhvw8/dotfiles

Helps with ai & agent building tasks.

About

browser-history is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • browser-history
  • AI & Agent Building
  • AI-coding skill

Browser History by the numbers

  • 46 all-time installs (skills.sh)
  • Ranked #7,539 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/samhvw8/dotfiles --skill browser-history

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs46
repo stars14
Last updatedJuly 28, 2026
Repositorysamhvw8/dotfiles

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Browser History Search

Search the user's browser history to find visited pages, analyze browsing patterns, and retrieve forgotten information.

When to use

  • User asks about pages they visited ("what github repos did I look at last week?")
  • User wants to find a forgotten page ("find that article about LLMs I read")
  • User asks about browsing habits ("how much time did I spend on Twitter?")
  • User wants browsing statistics ("show my most visited sites")

Requirements

  • sqlite3 CLI

Setup

First, detect available browsers by running:

./find-browser.sh
  • Output: PATH,TYPE,BROWSER,LAST_MODIFIED
  • TYPE: firefox or chromium (determines SQL syntax)
  • Use the first result (most recently used browser) by default
  • If multiple browsers were used recently (within last 24h), ask the user which one to search

Querying the database

Use ?immutable=1 in the SQLite URI to read the database even when the browser is open:

sqlite3 "file:///path/to/history.db?immutable=1" "SELECT ..."

Firefox databases (places.sqlite)

Search by keyword:

SELECT
    title,
    url,
    datetime(last_visit_date/1000000, 'unixepoch', 'localtime') as visit_date
FROM moz_places
WHERE url LIKE '%keyword%' OR title LIKE '%keyword%'
ORDER BY last_visit_date DESC
LIMIT 50;

Search by date range:

SELECT url, title, datetime(last_visit_date/1000000, 'unixepoch', 'localtime') as visit_date
FROM moz_places
WHERE last_visit_date > strftime('%s', '2025-01-01') * 1000000
  AND last_visit_date < strftime('%s', '2025-01-31') * 1000000
ORDER BY last_visit_date DESC;

Time spent analysis (uses moz_places_metadata):

SELECT
    SUM(m.total_view_time) / 1000 / 60 as minutes,
    COUNT(*) as sessions
FROM moz_places_metadata m
JOIN moz_places p ON m.place_id = p.id
WHERE p.url LIKE '%example.com%'
  AND m.created_at > strftime('%s', '2025-01-01') * 1000;

Note: created_at is in milliseconds, last_visit_date is in microseconds.

Most visited sites:

SELECT
    SUBSTR(url, INSTR(url, '://') + 3,
           INSTR(SUBSTR(url, INSTR(url, '://') + 3), '/') - 1) as domain,
    SUM(visit_count) as visits
FROM moz_places
WHERE url LIKE 'http%'
GROUP BY domain
ORDER BY visits DESC
LIMIT 20;

Chromium databases (History)

Important: Chromium timestamps are microseconds since January 1, 1601 (Windows epoch).

Conversion: (timestamp/1000000) - 11644473600 gives Unix epoch.

Search by keyword:

SELECT
    title,
    url,
    datetime((last_visit_time/1000000)-11644473600, 'unixepoch', 'localtime') as visit_date
FROM urls
WHERE url LIKE '%keyword%' OR title LIKE '%keyword%'
ORDER BY last_visit_time DESC
LIMIT 50;

Search by date range:

SELECT url, title, datetime((last_visit_time/1000000)-11644473600, 'unixepoch', 'localtime') as visit_date
FROM urls
WHERE last_visit_time > (strftime('%s', '2025-01-01') + 11644473600) * 1000000
  AND last_visit_time < (strftime('%s', '2025-01-31') + 11644473600) * 1000000
ORDER BY last_visit_time DESC;

Database schema

Firefox (moz_places)

ColumnDescription
urlFull URL
titlePage title
last_visit_dateMicroseconds since Unix epoch
visit_countNumber of visits
frecencyFrequency + recency score

Firefox (moz_places_metadata)

ColumnDescription
place_idForeign key to moz_places
total_view_timeMilliseconds spent on page
created_atMilliseconds since Unix epoch
scrolling_timeTime spent scrolling
key_pressesNumber of key presses

Chromium (urls)

ColumnDescription
urlFull URL
titlePage title
last_visit_timeMicroseconds since 1601-01-01
visit_countNumber of visits

Output guidelines

  • Present results in a readable format, grouped by domain when relevant
  • For time analysis, show hours/minutes, not raw milliseconds
  • When showing history, include the date and a clickable link
  • If results are numerous, summarize by domain or time period
  • You might include a small ASCII/Unicode chart (daily breakdown, histogram) if relevant

See @README.md for output examples.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.