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

chisel-for-claude

v1.0.0

Published

Visually select any element on a webpage and send design instructions to Claude Code

Readme

Chisel for Claude

Point. Speak. Ship.

Chisel lets you click any element on a webpage, speak (or type) what you want changed, and have the command sent straight to Claude Code.

I built this because I was frustrated by having to give Claude context to make UI changes. Things like "change the text on /dashboard below the login form to..". This tool will send the currently viewed URL, the HTML context of the specific element you select along with your instruction.

Using Chisel for Claude has increased my iteration speed by at least 2X, because I can stay in the browser when tweaking my designs and product and use voice as the primary input.

How it works

Browser ──► Extension ──► Chisel Server ──► tmux ──► Claude Code
  │              │              │                        │
  │  click +     │  POST to     │  writes JSON +         │  hook reads
  │  speak       │  localhost    │  sends keys            │  annotations
  1. Click the Chisel extension icon to enter selection mode
  2. Click any element on the page — it highlights with an orange border
  3. Speak your instruction (or type it)
  4. Hit "Send to Claude" — the annotation lands in your Claude Code session

Quick start

curl -fsSL https://raw.githubusercontent.com/jorgtron/chisel-for-claude/main/install.sh | bash

This installs chisel-for-claude globally, sets up the Claude Code hook, and prints the Chrome extension path. Then:

  1. Open chrome://extensions
  2. Enable Developer mode (top right)
  3. Click Load unpacked and select the path shown by the installer

Or install manually:

npm install -g chisel-for-claude
chisel setup
chisel extension

Hands-free mode (recommended)

For the best experience, run Claude Code inside a tmux session named claude. Chisel will auto-detect it and submit annotations directly:

# Terminal 1: Start tmux session
tmux new -s claude
claude

# Terminal 2: Start Chisel server
chisel start

When you send an annotation from the browser, it will appear as a prompt in your Claude Code session automatically.

CLI commands

| Command | Description | |---------|-------------| | chisel setup | Install hook into ~/.claude/settings.json (idempotent) | | chisel start | Start the annotation server (default port 3847) | | chisel status | Check if hook, server, and tmux are configured | | chisel extension | Print the Chrome extension path for unpacked install |

Options

chisel start --port 4000        # Custom port
chisel start --tmux mysession   # Custom tmux session name

Server API

The server runs on http://localhost:3847 by default.

| Method | Endpoint | Description | |--------|----------|-------------| | POST | /annotate | Send a new annotation (JSON body) | | GET | /annotations | Get all stored annotations | | GET | /latest | Get the latest annotation formatted as markdown | | DELETE | /annotations | Clear all annotations |

How the hook works

When you run chisel setup, it:

  1. Copies chisel.sh to ~/.claude/hooks/
  2. Registers a UserPromptSubmit hook in ~/.claude/settings.json

Before every prompt, Claude Code runs the hook. If there are pending annotations, they're injected into the prompt context. The hook auto-clears annotations after reading so they don't repeat.

Troubleshooting

Extension can't connect to server

  • Make sure chisel start is running
  • Check the port matches (default: 3847)

Annotations don't appear in Claude Code

  • Run chisel status to check all components
  • Make sure chisel setup has been run
  • Verify the hook exists: cat ~/.claude/settings.json

Voice input not working

  • Chrome requires HTTPS or localhost for speech recognition
  • Try typing your instruction instead

tmux auto-submit not working

  • Ensure your tmux session is named claude (or use --tmux <name>)
  • Check with: tmux list-sessions

Requirements

  • Node.js >= 18
  • Chrome (or Chromium-based browser)
  • Claude Code CLI
  • tmux (optional, for hands-free mode)

License

MIT