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

@pantion/dialogs

v0.4.6

Published

Pantion Dialogs — turn ideas into unambiguous intent through structured dialog

Downloads

2,439

Readme

Today's coding agents can outcode humans on speed and execution.

But great software isn't just code. It's decisions: defaults, edge cases, permissions, failure behavior, data boundaries, trade-offs. Agents guess those decisions silently — and when they guess wrong, you end up in correction loops.

The Pantion Dialog turns those decisions into a Canon — a converged dialog with no ambiguity left — before your agent writes a single line. And not just for software. The same dialog works for images, video, and any domain where AI generates from your intent.

The five-second version

You: "I want a booking app."

Pantion: "What happens on double booking?"

You: "First wins. Second gets alternatives."

Pantion: "Locked. That decision won't be guessed later."

Quick start

Pantion works best with Claude Code. It also installs on Cursor, Windsurf, Gemini CLI, and Codex — experience varies by model.

1. Install

npx @pantion/dialogs install --client claude

Or install for all supported clients at once:

npx @pantion/dialogs install --all

Supported clients: claude, cursor, windsurf, gemini, codex

2. Start a dialog

Describe what you want to build in natural language. Your agent calls Pantion automatically.

I want to start a Pantion dialog for a CLI tool that converts markdown files to a static website.

Pantion asks targeted questions until your intent has converged, then saves the canon. That's it.

See it in action: automatic mode

Don't want to answer questions? In automatic mode, Pantion generates the entire dialog for you — you just describe your idea and review the result.

I want to start an automatic Pantion dialog for a web alarm clock with multiple timers

Pantion generates a full convergence dialog in seconds:

ASSISTANT: What is the core intent?
PANTION: A browser-based alarm clock with multiple independent timers ⚡

ASSISTANT: What are the inputs?
PANTION: Timer name, duration (HH:MM:SS or MM:SS), optional label ⚡

ASSISTANT: What happens when a timer finishes?
PANTION: Audio alert + visual flash. Audio stops on click/tap. ⚡

ASSISTANT: How many timers can run simultaneously?
PANTION: No hard limit. UI scrolls. ⚡ Performance is the natural cap.

ASSISTANT: What does this NOT do?
PANTION: No accounts, no server, no persistence across browser sessions ⚡

The marks are conservative assumptions — decisions Pantion made for you. Review, adjust what you disagree with, and the canon is ready.

Two modes:

| Mode | How to start | Best for | |------|-------------|----------| | Normal | "I want to start a Pantion dialog for..." | Complex systems, precise control | | Automatic | "I want to start an automatic Pantion dialog for..." | Quick exploration, simple projects |

How it works

Pantion is an MCP server. Your coding agent connects to it, and it guides the conversation — asking one question at a time until there's nothing meaningful left to ask. That's convergence.

Idea → Dialog → Canon → Spec files → Build
  1. Dialog — Pantion asks targeted questions to remove ambiguity. When new questions stop yielding new behavior, your intent has converged.
  2. Canon — The verbatim conversation becomes the source of truth. Decisions, rejected alternatives, rationale — all preserved.
  3. Build — Your coding agent reads the spec files or the canon directly via MCP resources. Point your agent at canon/<project>/spec/ — or let it read the canon via pantion://canons/<project>/dialog.

What you get

canon/<project>/
├── dialog.md                  # the converged dialog — source of truth
└── spec/
    ├── requirements.md        # intent, functional & non-functional requirements
    ├── constraints.md         # HARD vs FLEX decisions, forbidden actions
    └── success-criteria.md    # definition of done, acceptance criteria

Optional (generated when applicable): api-spec.md, data-model.md, architecture.md.

For image and video dialogs, the canon translates to generator-agnostic prompts and creative briefs instead of spec files.

Canon files are written to ./canon/ in your project root by default.

These files outlive tools, models, and rebuilds. Your intent survives. Everything else is replaceable.

Why it feels different

  • It stops silent defaults. Decisions get made explicitly, not implicitly by the model.
  • It separates HARD from FLEX. Non-negotiables and adjustable defaults — clearly labeled, so agents know what they can touch and what they can't.
  • It preserves rationale. "Why this, not that?" stays attached to the spec.
  • It reduces variance across runs. Same Canon, more predictable builds and rebuilds.
  • Better LLM → stronger Pantion. Pantion doesn't run its own model — your agent's LLM conducts the dialog. A more capable model asks sharper questions, catches more edge cases, and produces tighter canons. As models improve, so does every Pantion dialog — automatically, without updates.

PRDs describe. Canons decide.


Tools

| Tool | Description | |------|-------------| | pantion_start | Open the router — guides you to the right action | | pantion_dialog | Start a convergence dialog (normal or automatic mode) | | pantion_check-convergence | Validate whether a dialog has structurally converged | | pantion_save-canon | Save the converged dialog as a canon | | pantion_resume | Continue a DRAFT dialog across sessions | | pantion_approve | Authorize a converged canon (HUMAN STAMP) | | pantion_reject | Reject a canon — needs changes before it can proceed | | pantion_list-canons | List all canons in a project | | pantion_translate | Generate spec files from a canon | | pantion_version | Show Pantion server version |

Works with any agent that speaks MCP. Best experience with Claude Code.


MCP resources

| Resource | Content | |----------|---------| | pantion://canons/{name}/dialog | The canon (verbatim dialog) | | pantion://canons/{name}/summary | Derived summary | | pantion://canons/index | Canon index | | pantion://dialogs | Available dialogs | | pantion://dialogs/{name}/rules | Dialog-specific convergence rules | | pantion://souls | Available interaction styles | | pantion://protocol/intent | Core principles |

Canon lifecycle

DRAFT → CONVERGED → APPROVED (HUMAN STAMP)

Dialogs

| Dialog | Domain | |-------|--------| | software | Software development | | image | Image generation | | video | Video generation | | router | Routing dialog — guides to the right action |

Souls

Souls control conversation style (tone, jargon level, pacing) without changing what gets covered. Three bundled: default, beginner, young.


License

Pantion Evaluation License v1.0 — Copyright (c) 2026 Tom Neijman

Links

pantion.org · X/Twitter · [email protected]