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

tighten-skill

v1.1.0

Published

A Claude Code slash command that tightens prose: same meaning, fewer words, every fact kept.

Readme

Tighten

npm version npm downloads license

An agent skill that rewrites long or padded prose to be tight and clear: same meaning, fewer words, every fact kept. Works in Claude Code, Cursor, Windsurf, Codex, Cline, GitHub Copilot, and 50+ other agents.

It is not a summarizer. It cuts filler, hedging, buzzwords, and empty adjectives while keeping every number, path, code block, and caveat verbatim.

Before and after example

Install

Any agent (via the skills CLI)

Installs the skill into whichever agent you target with -a:

npx skills add raj-khan/tighten                    # Claude Code (default)
npx skills add raj-khan/tighten -a cursor
npx skills add raj-khan/tighten -a windsurf
npx skills add raj-khan/tighten -a codex
npx skills add raj-khan/tighten -a cline
npx skills add raj-khan/tighten -a github-copilot

See the full agent list for every supported -a value.

Claude Code plugin

claude plugin marketplace add raj-khan/tighten
claude plugin install tighten@tighten

Claude Code slash command (npx)

Installs /tighten as a slash command:

npx tighten-skill            # install for your user (~/.claude/commands)
npx tighten-skill --project  # install into the current project (.claude/commands)

By hand

The slash command is one Markdown file, so you can drop it in directly:

mkdir -p ~/.claude/commands
curl -o ~/.claude/commands/tighten.md \
  https://raw.githubusercontent.com/raj-khan/tighten/main/tighten.md

Restart your agent (in Claude Code, run /help) and Tighten will be available.

Usage

/tighten <target> [intent]
  • target : a file path, a section name, or pasted text.
  • intent (optional) : how hard to cut, a target length, the audience, or what to protect.

Given a file or section, it edits in place and reports rough before/after size. Given pasted text, it returns the rewrite.

Examples

/tighten README.md
/tighten the "Background" section, lightly
/tighten this paragraph, to ~120 words
/tighten our launch email, for execs, keep the pricing table

What happens when you use it

You run:

/tighten our migration status update

Before (45 words):

At this moment in time, we are currently in the process of working towards the goal of migrating the remaining 12 services over to the new v2 API, and it is anticipated that this effort will in all likelihood be fully completed by March 14.

After (16 words):

We're migrating the remaining 12 services to the v2 API, expected to finish by March 14.

The facts (12 services, the v2 API, the March 14 date) survive. The padding ("At this moment in time," "currently in the process of working towards the goal of," "it is anticipated that," "in all likelihood") is gone. Claude then confirms every fact survived and reports ~64% shorter.

How it behaves

  • Keeps every fact. Numbers, paths, signatures, enums, constants, error strings, decisions, caveats, code blocks, and tables stay verbatim.
  • Honors your intent. "lightly" vs "hard", "to ~120 words", "for execs", "keep section 3". It never drops a fact just to hit a length.
  • Short, not crammed. It splits awkward sentences instead of jamming clauses together.
  • Matches your style. It follows the punctuation, headings, and reference style the file already uses.
  • Asks first if you mean summarize. Leaving facts out is a different job; it will confirm before doing that.

Contributing

Issues and pull requests are welcome. The whole skill is tighten.md: edit the prompt, open a PR.

License

MIT © raj-khan