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

usertold

v3.1.0

Published

Review source-linked interview Evidence and synthesize it into Findings from your terminal or coding agent.

Readme

UserTold CLI

The open-source command-line client for UserTold.ai.

UserTold runs consented in-product interviews and keeps participant voice, transcript, and page context connected to the same research record, together with screen capture when a participant approves it on a supported desktop browser. This CLI lets you and your coding agent review source-linked Evidence, synthesize it into Findings, and send reviewed Findings to product triage.

Install

npm install --global usertold
usertold auth login

Node.js 20 or newer is required.

Research-to-triage workflow

The service captures and processes Interviews, extracts source-linked Evidence, and may suggest draft Findings. The CLI is the review and delivery surface; it does not perform local extraction or silently decide that a Finding is ready.

# Find and select the Project used by later commands
usertold organization list
usertold project list
usertold project use acme/checkout

# Create a draft Study, review its proposed script, then save it
usertold study create --title "Checkout usability" --handle checkout-usability --visibility @visibility.json
usertold study validate-script checkout-usability --script @study-script.json
usertold study update checkout-usability --script @study-script.json

# Install the Project widget once and verify the target page
usertold project snippet
usertold project verify-widget-installation --url https://example.com/checkout

# Activation begins matching eligible participants; then verify the winner
usertold study update checkout-usability --status active
usertold study resolve --path /checkout

# Follow one Interview through processing
usertold interview list --study checkout-usability
usertold interview watch int_123 --evidence

# Inspect the participant record and extracted Evidence
usertold interview transcript int_123
usertold interview enriched-timeline int_123
usertold interview artifacts int_123
usertold evidence list --interview int_123

# Print a temporary download URL, or save the original file to disk
usertold interview artifact int_123 transcript_text
usertold interview artifact int_123 transcript_vtt --download
usertold interview artifact int_123 events --download --output interview-events.jsonl

# Review suggested Findings and their supporting Evidence
usertold findings list --interview int_123
usertold findings get fnd_123

# After review, mark the Finding ready and send it
usertold findings update fnd_123 --status ready --priority 80 --effort m
usertold findings push fnd_123
usertold findings push-status fnd_123

Use findings create-from-evidence only when selected Evidence is genuinely unlinked or needs deliberate regrouping. Review the underlying Interview and Evidence before moving a Finding to ready. findings push uses the delivery provider configured in the dashboard; --provider github or --provider linear is an explicit override.

usertold init is the fast bootstrap path. When it creates a Study, it also creates its Intake, enables all-page Visibility, and activates both resources. Use the explicit commands above when you want to inspect placement and scripts before collection begins.

Every command supports human-readable help. Agents and scripts can inspect the same command model as JSON:

usertold --help
usertold evidence --help
usertold evidence list --help --json

Use --json for machine-readable command output and --dry-run to inspect supported mutations before sending them.

interview artifacts shows which transcript, recording, and source-event files are ready, together with their type, size, expiry, and temporary download URL. interview artifact <interviewId> <kind> --download saves one of those files without loading it all into memory. Downloads are written under a temporary name and become visible at the destination only after the transfer and expected-size check complete. Existing files are never overwritten. The interview audio and interview screen shortcuts use the same safe download path. interview transcript --raw prints the original stored TXT without rebuilding it from messages; use interview get when message-level inspection is needed.

Public command surface

| Group | Purpose | | --- | --- | | auth | Sign in, inspect identity, and mint short-lived browser credentials | | organization | Create workspaces and manage participants, roles, access, and invitations | | project | Create, select, inspect, and install a Project | | study | Create and manage interview Studies and their scripts | | intake | Configure participant qualification and review responses | | interview | Import, inspect, download, and safely reprocess Interviews | | evidence | Review and curate source-linked Evidence | | findings | Review Evidence-backed Findings and send reviewed Findings to product triage | | settings | Read, validate, set, and remove documented Project settings | | knowledge | Configure and test the typed project knowledge HTTP action | | integration | Install, inspect, configure, verify, and disconnect GitHub or Linear delivery | | billing | Read usage and billing status | | export | Request and download your account data export | | init | Bootstrap a Project and optionally create and activate an all-pages Study with its Intake | | completions | Generate shell completions |

The installed version's usertold --help is the source of truth. See the CLI command guide for the research workflow and the customer/operator boundary.

Deliberate boundary

This repository is a public API client, not the UserTold application or research engine. It does not contain local evidence extraction, model prompts, database access, raw API passthrough, administrative controls, interview forensics, forced interview termination, bulk Study repair, or media-pipeline repair commands. Those capabilities are private operator tooling and are not shipped to npm.

The UserTold service, dashboard, interview runtime, evidence extraction, prioritization engine, and operational tooling remain closed source. See TRADEMARKS.md for the distinction between the Apache-licensed code and the UserTold name.

Environments and configuration

Production is the default. --env stage and --env local are intended for UserTold development and explicitly configured environments. Credentials and the selected Project are stored per environment in the user's configuration directory; the CLI never writes them into a repository.

Project configuration is typed and allowlisted: settings currently manages only openai_api_key and retention_days, while knowledge owns the Project knowledge action. Arbitrary configuration mutation is intentionally absent.

usertold auth browser-session exchanges a durable CLI OAuth login for short-lived browser credentials. Its default output is a Playwright storageState document; --format env, cookie, and jwt support other automation clients. Use --output to write credentials with mode 0600.

Development

npm install
npm run check
node dist/usertold.js --help

npm run check type-checks and tests the client, builds the distributable executable, verifies the public/private boundary, and inspects the npm tarball.

Contributions are welcome for the public client. Read CONTRIBUTING.md and SECURITY.md before opening a pull request or reporting a vulnerability.

License

Apache License 2.0. See LICENSE, NOTICE, and THIRD_PARTY_NOTICES.md.