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

design-variant-picker

v0.2.0

Published

Interactive human-in-the-loop design variant picker for OpenCode. The agent shows HTML design variants in a browser grid; the user picks or asks for regenerations (produced by the same conversation's model) until satisfied.

Downloads

273

Readme

design-variant-picker

Human-in-the-loop design picker for OpenCode. The agent generates HTML design variants; you pick one — or ask for more — from a live browser grid. Regenerations are produced by your current conversation's model. No extra LLM, no API keys.

Install

Add it to your opencode.json:

{
  "plugin": ["design-variant-picker"]
}

That's it. Restart OpenCode (the tool binds at session start, so open a new session).

Use

Just ask:

Generate 9 variants of this pricing card and let me pick.

The agent calls the variant_picker tool, a browser tab opens instantly with loading skeletons (no waiting on a blank screen), fills in with variants, and you drive from there:

  • Click a tile to select it.
  • Generate variants of this → tiles show skeletons; the agent produces a new batch (riffing on your selection + any notes) and the same tab updates in place. Repeat as many times as you want.
  • Use this → hands the chosen variant back to the agent; the conversation continues.

Type freeform notes to steer each round, and pick how many variants you want next from the Next: dropdown (default 9).

How it works

agent ──variant_picker(variants)──▶ local picker tab (you)
  ▲                                        │
  │  decision: use | regenerate | abandoned│
  └────────────────────────────────────────┘
       on "regenerate", the agent makes the next batch
       and re-calls with the same sessionToken → same tab
  • To skip the first wait, the agent opens the tab with an empty batch (open) so skeletons show immediately, then fills it with the first batch.
  • The tool blocks until you act, then returns use (with your pick), regenerate (the agent generates the next batch itself), or abandoned (you closed the tab — the agent never hangs).
  • Variants render in sandboxed <iframe>s. The server is bound to 127.0.0.1 and every request needs a per-session random token.
  • Closing the tab cancels gracefully (a beacon resolves the call immediately).

Remote access (optional)

To open the picker from another machine, the agent can pass remote: true. This exposes the picker through an anonymous Cloudflare Quick Tunnel — requires cloudflared on your PATH. Falls back to localhost if it's missing.

License

MIT