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

temperpass

v0.1.1

Published

Tempered judgment your agent can install. Expert skills for AI agents.

Readme

TemperPass

Tempered judgment your agent can install.

Most agents answer immediately and confidently. TemperPass makes them say what they're assuming first.

Expert skills for Cursor, Claude Code, and anything else that reads a SKILL.md file. These are the checks a careful person already runs, written as a numbered protocol an agent can follow. pnpm add temperpass, copy one folder into the skills directory, and it runs over the agent's thinking on the way to the answer.

Written TemperPass. A temper mill, not a mood.

The right question

Answering the wrong question well costs more than answering the right question slowly — but only when the work is hard to undo.

Agents skip that second half. They pick a reading of the request and commit to it. clarify-first names the load-bearing assumptions (at most three), says what missing fact would change the answer, then answers anyway, and closes with one question. A second is allowed only when it is independent of the first and would change the recommendation on its own. Never three.

The default does not block, because halt-and-ask is one of the loudest complaints about agents and it is infuriating when it fires on something cheap. Waiting is reserved for work you cannot undo: send, delete, spend, write to production, commit the user publicly. Ambiguity alone is not a reason to block. Ambiguity plus irreversibility is.

That is the only auto pass. It fires when a request is underspecified and a wrong first attempt is expensive. A flake test, a typo, a factual question: it stays silent, and it does not announce the skip.

Four passes. Three you call. One that calls itself.

Everything is a pass. The only distinction is who calls it.

A user who types red-team has consented to being disagreed with. Nobody consents to that by asking a question. Anything confrontational, slow, or artifact-producing is a called pass.

The auto pass fires on description match, without being asked. Because the model decides, and because it interrupts the actual request, the bar is high: only behavior that is safe to apply unrequested qualifies. Exactly one pass currently clears it.

| Pass | Type | Status | Does | | --- | --- | --- | --- | | clarify-first | Auto | Validated (same-session) | Names load-bearing assumptions and decision-changing gaps, then answers under them | | red-team | Called | Locked | Attacks the direction on its strongest form; absorbs premortem and steelman | | scope-lock | Called | Locked | Freezes boundaries, success criteria, and explicit non-goals | | tradeoff-matrix | Called | Locked | Forces explicit criteria, weights, and scoring across genuinely different options |

Four is the whole set. The first draft had nine, and half of them (premortem, steelman, first-principles) were behavior a competent model already produces when you ask for it. The protocol is the part you install.

Parked, not cancelled: first-principles, option-generator, premortem, steelman, confidence-calibrate. Each returns only when it has a protocol that beats "just ask the model to do this."

Install

pnpm add temperpass

Copy one folder from node_modules/temperpass/passes/ into your agent's skill directory. Cursor looks for SKILL.md in a named folder.

# or clone and copy from the repo
git clone https://github.com/Catalyst-Forge-LLC/temper-pass.git
# then copy passes/clarify-first/  or  passes/red-team/  into your agent skills path

Point the agent at the file. For a called pass, say the name: red-team this, scope-lock this. It will not fire on its own.

Site: temperpass.dev

How they're written

Standard skill-authoring advice says to make descriptions pushy, because models under-trigger. TemperPass does the opposite, on purpose. A match costs an interruption, including the false ones, so the descriptions here are narrow: a tight target, explicit negative cases, and a called pass over an auto pass whenever there's doubt.

Do not "fix" this later by broadening the descriptions. This is the design.

Guidelines don't bind. Steps do. A load-bearing rule that sat in red-team's guidelines was ignored in a live run. The same rule as a numbered step, with a test the model can apply, held. Guidelines are for taste. Constraints go in the protocol.

Passes that have never been run against real prompts are guesses. red-team needed two protocol changes that only showed up under test. Run each prompt with and without the pass. The baseline tells you whether the failure was the pass or the model's default. Record the failures in examples/. A same-session run is a sanity check, not an eval.

Three red-team decisions that stay:

  1. Self-attribution. If the direction under attack is one the model just proposed, it says so and treats its own confidence as a suspect assumption.
  2. Two axes. Severity without plausibility lets a far-fetched catastrophe outrank a probable expense. Plausibility has to match the conditions you actually stated.
  3. It can come back clean. A critique tool that can never return "this holds up" manufactures concerns, and people learn to discount it.

Severity colors

Tempering steel produces a color sequence as temperature rises — straw, bronze, purple, blue. TemperPass uses that scale for severity only:

| Rating | Color | Metal | | --- | --- | --- | | Fatal | temper straw | The hard, brittle temper — what snaps | | Costly | temper purple | Middle of the range | | Survivable | temper blue | The tough spring temper — what bends and holds |

Plausibility (Likely / Possible / Unlikely) stays textual. Straw is the brittle temper and blue is the tough one, so brittle-equals-fatal is the direction that matches the metal. An earlier draft ran it the other way, on the intuition that hotter is worse. The metal disagrees.

Why the name

A temper pass is a real steel-mill operation. A temper mill runs finished strip through a very light cold-rolling pass — typically only 1.5–2% thickness reduction, far less than ordinary cold rolling. It isn't there to reshape the steel. It's there to set the mechanical properties, control surface roughness, and improve flatness. The shape goes in and the shape comes out; what changes is that the material stops being brittle.

The passes don't withhold your answer or reroute your work. They take out the brittleness — the unstated assumption, the undefended scope, the objection nobody voiced — and hand back the same shape, harder to snap. A light pass before the answer.

Where it started

Saturday morning coffee, scrolling X. Vox, 14 Aug 2026 posted a reasoning prompt: list the assumptions, name the missing fact, ask one question, wait. The next hour is this repo. In the tweet the model always waits; clarify-first answers under the assumptions and waits only when the next action is hard to undo. The write-up is on the site: A prompt with coffee.

On the Catalyst Forge shelf

Lives next to ForgeTrail and aiBreze. Closest cousin is aiBreze: a rule set you point an agent at.

License

MIT. Built by Catalyst Forge LLC.