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

@firstpick/pi-extension-workbook

v0.1.1

Published

High-fidelity, fail-closed XLSX/XLSM inspection, rendering, editing, diffing, and validation tools for Pi agents.

Readme

@firstpick/pi-extension-workbook

Fail-closed Pi tools for inspecting, reading, rendering, editing, diffing, and validating .xlsx and .xlsm workbooks.

Safety contract

  • Macros are preserved and hashed but never executed or edited.
  • External links and data connections are never refreshed.
  • Literal values and formulas are separate operations.
  • Every commit requires the SHA-256 returned by inspection or dry-run.
  • Editing defaults to a new file; overwrite is explicit, queued, validated, and recoverable.
  • Unsupported operations are rejected before any destination is committed.

Tools

  • workbook_inspect
  • workbook_read
  • workbook_render
  • workbook_edit
  • workbook_diff
  • workbook_validate

The enabled engine is a bounded, cross-platform OOXML-surgical implementation with an explicit operation matrix. Native Excel mutation is disabled after strict no-op fidelity failures, and Aspose is an optional deferred tier. The declared implementation is complete, but publication remains blocked until a legally sourced signed-VBA fixture passes the supplied harness; see docs/IMPLEMENTATION-STATUS.md.

Compatibility

| Capability | Status | |---|---| | .xlsx inspect/read/render/validate/diff | Implemented | | .xlsm inspect/read/render/validate/diff | Implemented with protected-part hashing | | Values, formulas, rich formatting, dimensions, layout, and bounded structural edits | Implemented with fail-closed per-file checks | | Conditional formats, validation, names, links, notes, tables, print/theme/protection settings | Implemented within documented OOXML mutability constraints | | PNG insertion/replacement and chart creation/update | Implemented when required parts are mutable; controlled-Excel rendering verifies corpus charts | | VBA preservation | Byte-identity gate; never executed or source-edited; signed fixture publication gate remains open | | Pivots/caches, slicers, timelines, arbitrary shapes, controls, ActiveX, embeddings, threaded comments, custom UI | Inventory and preservation-only | | Native Excel mutation | Disabled; candidate worker failed strict .xlsx/.xlsm no-op fidelity | | Aspose.Cells mutation | Disabled; license/runtime not provisioned | | ZIP64 or encrypted workbooks | Rejected |

Development

npm install
npm run check
npm test
npm run test:excel       # controlled interactive Windows/Excel host only
npm run test:corpus      # rich legal corpus + UI-aware repair-dialog gate
npm run test:signed-vba -- C:\\path\\to\\signed.xlsm  # user-supplied legal fixture
npm run test:native      # controlled native feasibility bakeoff; public mutation remains disabled
npm run test:pi-modes    # TUI, print, JSON, and RPC harness
npm run pack:dry

See skills/workbook-editor/SKILL.md for the agent workflow, docs/ADR-0001-primary-backend.md for backend scope, and docs/IMPLEMENTATION-STATUS.md for passed and deferred release gates.