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

chatgpt-gloves

v0.2.1

Published

Reusable ChatGPT and Codex plugins for conversation safety and handoff.

Readme

ChatGPT Gloves

Reusable Codex plugins and skills.

Conversation Lifeboat

Conversation Lifeboat watches transcript size, effective context pressure, and repeated compaction. At serious thresholds it asks the user whether to preserve the current implementation state in a project specification and continue in a fresh task.

The plugin contains:

  • conversation-handoff: a confirmation-gated Skill that extracts specification-owned detail from applicable AGENTS.md files, writes a durable active specification, and starts or prepares a fresh task.
  • spec-update: an in-place Skill that extracts specification-owned detail from applicable AGENTS.md files and updates the current specification without creating a new task. A single update reconciles active requirements, newly evidenced prohibited approaches, verified implemented specifications, and deliberately superseded specifications.
  • Lifecycle hooks for SessionStart, PostCompact, and UserPromptSubmit.
  • A dependency-free Node.js monitor that reads only a bounded transcript tail, even when the JSONL is many gigabytes.

Install from this repository

In ChatGPT Desktop, open the plugin manager and add a marketplace using these values:

Source:      https://github.com/adoin/ChatGPT-gloves
Git ref:     main (or leave blank)
Sparse path: leave blank

The sparse path must be blank because .agents/plugins/marketplace.json is at the repository root. Then install conversation-lifeboat and start a new task.

The equivalent Codex command is:

codex plugin marketplace add https://github.com/adoin/ChatGPT-gloves

Open /plugins, select the chatgpt-gloves marketplace, and install conversation-lifeboat. Review and trust its hook definition when Codex prompts you; installing a plugin does not silently trust executable hooks.

Node.js must be available on PATH for the hook process. No npm dependencies are required.

Invoke specification workflows directly

You do not need to wait for a conversation-health warning.

$spec-update Refresh the current specification without creating a new task.
$conversation-handoff Preserve the current state in a specification and continue in a fresh task.

In ChatGPT, type @ and select Specification Update or Conversation Handoff. spec-update never creates, forks, archives, or switches tasks. During one update it may:

  • move module requirements, implementation state, decisions, and evidenced prohibitions out of AGENTS.md into their authoritative lifecycle documents while leaving cross-task rules and specification entry links behind;
  • keep approved unfinished requirements under .agents/notes/active/;
  • record evidenced failed or forbidden approaches under .agents/notes/prohibited/;
  • move completed and verified specifications to .agents/notes/implemented/;
  • move deliberately replaced specifications to .agents/notes/superseded/ and cross-link the replacement.

Install through npm

The npm package carries the same marketplace and can either print the hosted setup values or extract an offline/local copy:

npx chatgpt-gloves
npx chatgpt-gloves extract ./chatgpt-gloves-marketplace

After extraction, add the resulting directory as a local marketplace in ChatGPT Desktop. The GitHub marketplace is preferred because ChatGPT can sync later releases automatically.

Configuration

Defaults can be overridden through environment variables before Codex starts:

| Variable | Default | Meaning | |---|---:|---| | CONVERSATION_LIFEBOAT_WARN_MIB | 512 | Show a low-frequency size warning | | CONVERSATION_LIFEBOAT_RECOMMEND_MIB | 2048 | Recommend a fresh-task handoff | | CONVERSATION_LIFEBOAT_CRITICAL_MIB | 5120 | Treat the transcript as critical | | CONVERSATION_LIFEBOAT_WARN_CONTEXT_RATIO | 0.6 | Context warning ratio | | CONVERSATION_LIFEBOAT_RECOMMEND_CONTEXT_RATIO | 0.8 | Context migration ratio | | CONVERSATION_LIFEBOAT_CRITICAL_CONTEXT_RATIO | 0.9 | Critical context ratio | | CONVERSATION_LIFEBOAT_RECOMMEND_COMPACTIONS | 4 | Compactions within the monitoring window before recommending migration | | CONVERSATION_LIFEBOAT_COMPACTION_WINDOW_HOURS | 24 | Compaction monitoring window | | CONVERSATION_LIFEBOAT_TAIL_MIB | 8 | Maximum transcript tail read per check |

Plugin state contains metrics only and is written under the plugin data directory supplied by Codex. Conversation text is not copied into that state.