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

opinionate

v0.2.1

Published

Structured peer deliberation and Codex-backed second opinions for AI coding tools.

Downloads

34

Readme


Opinionate gets a second opinion from Codex before you commit to a plan, review, or architecture decision. It runs structured multi-round deliberations between Claude and Codex, then presents the agreed recommendation — or the disagreements — for your approval.

30-Second Setup

npm install -g opinionate
npm install -g @openai/codex
codex login

cd your-project
opinionate install

That's it. Restart Claude Code and you're ready.

What Happens

╭─────────────────────╮
│  opinionate v0.2.0  │
╰─────────────────────╯

1. Detecting environment...
   ✓ Codex CLI v0.116.0 (exec supported)

2. Testing Codex auth...
   ✓ Authenticated

3. Setup preferences...
   ? Codex reasoning effort:
   ❯ Recommended — good balance of quality and speed
     Thorough — more careful, slower
     Maximum — deepest reasoning, may timeout
     Fast — quick, less thorough

4. Installing skill...
   ✓ Skill installed
   ✓ Config saved

All checks passed.

How It Works

  Claude ──── task + context ────► opinionate ──── prompt ────► Codex
    ▲                                                            │
    └──── deliberated result ◄──── agreement check ◄──── response ┘
  1. Claude sends a task to opinionate
  2. Opinionate prompts Codex for a peer opinion
  3. They go back and forth until they agree (or hit the round limit)
  4. You get the recommendation and decide what to do

Use With Claude Code (Primary Experience)

After opinionate install, Claude uses it automatically for complex decisions. You don't need to do anything — when Claude faces architecture trade-offs, deep reviews, or ambiguous judgment calls, it invokes opinionate behind the scenes and presents you with a clean result:

───────────────────────────────────────────────────────

  Getting a second opinion from Codex...

  > Mode: plan
  > Task: Design the authentication system
  > Files: 3 files
  > Rounds: up to 5

───────────────────────────────────────────────────────

  Deliberation complete — agreed in 2 rounds

  Decision
  Use JWT with refresh token rotation and a 15-minute
  access token TTL. Store refresh tokens server-side.

  > Codex's position: The token rotation approach is
  > correct. Stateless access + stateful refresh is
  > the right trade-off for this API.

  Approve this direction? [y/n/adjust]

───────────────────────────────────────────────────────

You can also trigger it manually with /opinionate.

Good for: architecture trade-offs, multi-file changes, deep reviews, debugging dead-ends, ambiguous judgment calls.

Use As a CLI

opinionate run \
  --mode plan \
  --task "Design the auth system" \
  --files "src/auth.ts,src/middleware.ts" \
  --verbose

Output on stderr — clean, styled, real-time:

╭──────────────────────────────────────────────────────╮
│  opinionate · plan · 5 rounds max · peer: codex-cli  │
╰──────────────────────────────────────────────────────╯

  Files: 2 (2 inline)

◐ Round 1/5: sending context to peer...
◑ Round 1/5: still thinking... 45s
○ Round 1/5: complete (1m12s)

  ─────

◐ Round 2/5: sending context to peer...
✓ Round 2/5: complete (42s, agreed)

✓ Deliberation complete: agreed in 2 rounds (1m54s)

JSON result on stdout — machine-readable, stable contract.

Modes

| Mode | When | |------|------| | plan | Before building — explore approaches | | review | After writing — get a second opinion | | debug | When stuck — brainstorm hypotheses | | decide | Facing a choice — weigh trade-offs |

Iterative Sessions

For plans and docs, opinionate supports multi-pass deliberation:

# First pass — Codex reviews your plan
opinionate run --persist-session --mode plan \
  --task "Review this rollout plan" \
  --files "docs/plans/rollout.md"

# You revise the plan based on feedback...

# Second pass — Codex reviews only what changed
opinionate continue --session <id> \
  --task "Addressed the coupling concern" \
  --files "docs/plans/rollout.md"

Each continuation carries forward accepted decisions, open questions, and file deltas — not the full transcript. Sessions stop immediately when both agents agree.

Manual mode (default): Claude proposes edits, you approve, then it continues. Automatic mode (opt-in): Claude applies plan/doc edits between rounds. Say "use automatic mode" to enable.

Key Flags

| Flag | What it does | Default | |------|-------------|---------| | --mode | plan, review, debug, decide | required | | --task | What to deliberate on | required | | --files | Comma-separated file paths | — | | --reasoning-effort | low, medium, high, xhigh | config | | --retry-on-timeout | Auto-retry with smaller context | false | | --persist-session | Save for later continue | false | | --verbose | Show round lifecycle details | false | | --timeout | Per-round timeout (ms) | 60000 | | --max-rounds | Max deliberation rounds | 5 | | --file-strategy | auto, inline, reference | auto | | --model | Override Codex model | Codex default |

Configuration

opinionate install can save your preferences (reasoning effort, install mode) to ~/.config/opinionate/config.json. Resolution order:

  1. CLI flags (highest)
  2. Environment variables (OPINIONATE_*)
  3. User config file
  4. Codex defaults

Re-run opinionate install --reconfigure to change preferences.

Updating

npm install -g opinionate@latest
opinionate install    # refresh the skill

Troubleshooting

| Problem | Fix | |---------|-----| | Codex not found | npm install -g @openai/codex | | Not authenticated | codex login | | Slow / timing out | --reasoning-effort medium --retry-on-timeout | | Skill not visible | Confirm .claude/skills/opinionate/SKILL.md exists, restart Claude Code | | Stale skill | opinionate install | | Usage limit | Check https://chatgpt.com/codex/settings/usage |

Context Safety

Sensitive files are filtered before sending to the peer:

.env, *.pem, *.key, *.p12, *.pfx, paths with credential or secret.

Add a .opinionateignore file for custom exclusions (.gitignore syntax).

Contributing

High-impact areas: new adapters (Gemini, Ollama, Claude API), agreement detection, smarter context building.

See docs/DEVELOPMENT.md for local setup.

License

MIT