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

@xuanwo/xurl

v0.0.27

Published

`xURL` is a CLI that reads, queries, and writes AI agent conversations through a unified `agents://` URI scheme.

Downloads

3,505

Readme

xURL

xURL is a CLI that reads, queries, and writes AI agent conversations through a unified agents:// URI scheme.

Also known as Xuanwo's URL.

What xURL Can Do

xURL gives you one URI scheme (agents://) to read, query, discover, and write conversations across multiple AI agent CLIs.

  • Read a conversation as markdown — xurl agents://codex/<id>
  • Query threads by provider, keyword, local path, or role — xurl 'agents://codex?q=refactor'
  • Discover child targets and metadata before drilling down — xurl -I agents://codex/<id>
  • Write to start or continue a conversation — xurl agents://codex -d "hello"

Providers

Installation

Install as an agent skill:

npx skills add Xuanwo/xurl

Or install the standalone CLI:

brew tap xuanwo/tap && brew install xurl   # Homebrew
cargo install xurl-cli                      # Cargo
uv tool install xuanwo-xurl                 # Python / uv
npm install -g @xuanwo/xurl                 # npm

Quick Start

Ask your agent to summarize a thread:

Please summarize this thread: agents://codex/xxx_thread

Usage

Note: The agents:// scheme prefix is optional — codex/... is equivalent to agents://codex/....

Read

xurl agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592
xurl agents://copilot/688628a1-407a-4b4e-b24a-1a250ebf864f

Save output to a file:

xurl -o /tmp/conversation.md agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592

Query

By provider:

xurl agents://codex
xurl 'agents://codex?q=spawn_agent'
xurl 'agents://claude?q=agent&limit=5'
xurl 'agents://copilot?q=resume&limit=5'

By local path:

xurl agents:///Users/alice/work/xurl
xurl 'agents:///Users/alice/work/xurl?q=refactor&limit=5'
xurl 'agents://.?q=refactor&providers=codex,claude'
xurl 'agents://~/work/xurl?providers=opencode'

By role:

xurl agents://codex/reviewer

Query results include reduced thread metadata when available, so you can inspect fields like payload.git.branch without opening each thread individually.

Discover

xurl -I agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592

Frontmatter includes provider metadata flattened into readable key-value lines (e.g. payload.git.branch = ...), and skips oversized instruction-like fields.

Drill down into a discovered child target:

xurl agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592/019c87fb-38b9-7843-92b1-832f02598495

Write

Start a new conversation:

xurl agents://codex -d "Draft a migration plan"

Start with a role URI:

xurl agents://codex/reviewer -d "Review this patch"
xurl agents://copilot/research -d "Investigate the failing integration test"

Continue an existing conversation:

xurl agents://codex/019c871c-b1f9-7f60-9c4f-87ed09f13592 -d "Continue"

Pass extra parameters to the provider CLI via query string:

xurl "agents://codex?cd=%2FUsers%2Falice%2Frepo&add-dir=%2FUsers%2Falice%2Fshared&model=gpt-5" -d "Review this patch"

Command Reference

xurl [OPTIONS] <URI>
  • -I, --head: output frontmatter/discovery info only, including the first provider metadata record flattened into key-value lines when available.
  • -d, --data <DATA>: write payload (repeatable).
    • text: -d "hello"
    • file: -d @prompt.txt
    • stdin: -d @-
  • -o, --output <PATH>: write command output to file.

Error Output

xurl writes actionable stderr errors for agents:

  • unsupported providers and unsupported capabilities include requested_uri, suggested next_steps, and the GitHub issue link for requesting support
  • missing local data includes evidence such as searched_roots so the next recovery step is explicit
  • provider CLI failures include the command, exit code, and concrete retry guidance

URI Reference

Agents URI

[agents://]<provider>[/<token>[/<child_id>]][?<query>]
|------|  |--------|  |---------------------------|  |------|
 optional   provider         optional path parts        query
 scheme
  • scheme: optional agents:// prefix. If omitted, xurl treats input as an agents URI shorthand.
  • provider: target provider name, such as amp, claude, codex, copilot, cursor, gemini, kimi, opencode, pi.
  • token: main conversation identifier or role name.
  • child_id: child/subagent identifier under a main conversation.
  • query: optional key-value parameters, interpreted by context.

Path-Scoped Query URI

agents:///abs/path[?<query>]
agents://.[?<query>]
agents://./subdir[?<query>]
agents://..[?<query>]
agents://../repo[?<query>]
agents://~[?<query>]
agents://~/repo[?<query>]
  • agents:///abs/path: canonical local path query form.
  • agents://. / agents://./subdir: query relative to the current working directory.
  • agents://.. / agents://../repo: query relative to the parent of the current working directory.
  • agents://~ / agents://~/repo: query relative to the home directory.
  • path-scoped query always returns a conversation list.

Agents Query

  • q=<keyword>: filters discovery results by keyword. Use when you want to find conversations by topic.
  • limit=<n>: limits discovery result count (default 10). Use when you need a shorter or longer result list.
  • providers=<name[,name...]>: restricts a path-scoped query to selected providers.
  • <key>=<value>: in write mode (-d), xurl forwards as --<key> <value> to the provider CLI.
  • <flag>: in write mode (-d), xurl forwards as --<flag> to the provider CLI.

Examples:

agents://codex?q=spawn_agent&limit=10
agents:///Users/alice/work/xurl?q=refactor&providers=codex,claude
agents://.?q=refactor&providers=codex
agents://codex/<conversation_id>
agents://codex/reviewer
agents://codex?cd=%2FUsers%2Falice%2Frepo&add-dir=%2FUsers%2Falice%2Fshared