npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

waitwisdom

v1.1.1

Published

Fresh technology headlines in Claude Code wait states, with zero model-token usage.

Readme

WaitWisdom

WaitWisdom puts current technology headlines directly in Claude Code's normal wait-state spinner:

Patch for Windows Defender 0-day could allow attackers to fill hard disk — Ars Technica

WaitWisdom showing a current Ars Technica headline in the Claude Code spinner

It shows only the original headline and source. It does not summarize, rewrite, rank with AI, call Anthropic, inspect conversations, or consume model tokens.

Requirements

The Claude Code terminal is the supported surface. The VS Code extension uses the same settings file, but whether it renders spinner tips depends on its current UI implementation. WaitWisdom never injects code into Anthropic files.

Install

For a persistent waitwisdom command:

npm install --global waitwisdom
waitwisdom install

Or run it without a global package installation:

npx waitwisdom@latest install

When using the npx form, prefix later maintenance commands with npx as well.

Installation creates ~/.waitwisdom, adds two identifiable SessionStart command hooks to ~/.claude/settings.json, and saves the prior spinner configuration for safe removal. It writes each headline to both Claude's tip list and its primary spinner text so the headline is visible during work. Existing unrelated settings and hooks are preserved.

WaitWisdom takes ownership of the AI wait-state surface. During installation it removes known competing ad/wait-state extensions (Kickbacks, Claudearn, AIBC, RuntimeAds, and IdleAds), removes only their identifiable Claude settings/hooks, and restores recognized backup files such as .vibe-ads-backup and .runtimeads-backup. It does not remove unrelated extensions or status-line commands. Fully restart VS Code/Cursor after replacement so an already-running extension host cannot reapply an old patch.

After installing or repairing, fully exit every running Claude Code CLI session (Ctrl+C twice), start claude again, and submit a request. Headlines appear on the spinner while Claude is working; they do not appear at the idle prompt.

To preview the settings change without writing anything:

npx waitwisdom install --dry-run

How freshness works

At session start, a silent local hook immediately selects up to 25 unseen cached headlines. A second asynchronous hook checks for updates without blocking Claude. Session refreshes run at most once every ten minutes and use ETags or Last-Modified dates when publishers provide them. waitwisdom refresh always forces an immediate check.

Default sources:

  • Hacker News' official near-real-time API
  • BBC Technology RSS
  • Ars Technica Technology Lab RSS
  • TechCrunch RSS
  • The Verge Atom feed
  • MIT Technology Review RSS
  • InfoQ Software Development RSS
  • GitHub Blog RSS
  • Cloudflare Blog RSS
  • BBC Science & Environment RSS

Stories are normalized to remove duplicates, limited to 24 hours by default, and filtered to fit the spinner. WaitWisdom selects unseen stories in source-balanced rounds so one high-volume publisher cannot dominate. A failed or unchanged source retains its previous valid cache, but headlines older than the configured cutoff are never displayed.

WaitWisdom stores full article links, but does not put long URLs in the spinner. Run waitwisdom current to see and open the links. Always follow the publisher's terms when using its feed.

Commands

waitwisdom refresh
waitwisdom current
waitwisdom sources
waitwisdom status
waitwisdom doctor
waitwisdom doctor --repair
waitwisdom config
waitwisdom uninstall
npx waitwisdom@latest upgrade

Configuration example:

waitwisdom config \
  --sources hacker-news,bbc-technology,ars-technica \
  --headlines 20 \
  --max-length 160 \
  --max-age-hours 24 \
  --refresh-minutes 10

Use waitwisdom config --refresh false to stop automatic network refreshes. Manual waitwisdom refresh still works.

Existing v1.0 installations whose source list still matches the original four defaults receive all ten sources on upgrade. Customized source lists and existing freshness settings are preserved.

Privacy and token usage

WaitWisdom reads only its own configuration/cache and Claude's user settings file. It does not read project files, transcripts, prompts, responses, credentials, browser history, or repositories. It has no telemetry, accounts, advertising, backend, or Anthropic integration.

Successful session hooks write zero bytes to stdout and stderr. Because no hook output enters Claude's context and no model API is called, WaitWisdom's normal token usage is zero.

News requests go directly from the user's machine to the enabled sources. Those services can observe normal connection metadata such as the user's IP address.

Removal

waitwisdom uninstall

This removes only WaitWisdom's marked hooks and managed headlines, then restores the previous non-competing spinner settings. Tips or hooks added by another tool while WaitWisdom was installed are preserved through a three-way merge. Competing ad extensions removed during installation are not reinstalled.

Development

npm install
npm run check
npm run check:feeds
npm pack --dry-run

check:feeds is a bounded live smoke test and is intentionally separate from fixture-based CI so temporary publisher downtime cannot make normal builds flaky.

See NEWS_POLICY.md, NOTICE.md, and SECURITY.md.

License

The WaitWisdom code is MIT licensed. News headlines and linked articles remain the property of their respective publishers and are not licensed under MIT.