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

@siriuslan/atomic-git-commits

v1.0.0

Published

Pi skill that builds multi-part changes as small, dependency-ordered steps and records each one as an atomic git commit titled TICKET-description

Readme

atomic-git-commits

A pi skill that plans and builds a multi-part change as a sequence of small, self-contained steps, and records each step as its own git commit titled TICKET-description, e.g. PROJ-123-add UserRepository.

The resulting history reads like a short explanation of the feature. Reviewers can follow the reasoning, git bisect lands on a meaningful step, git blame leads to a message that explains why, and reverting a single commit switches the feature off.

What it does

  • Plans before coding: defines "done", lists every piece of work (including migrations, config, security and docs), and shows the commit plan as a table.
  • Orders the steps safely:
    1. Structural changes (refactors, renames, new dependencies) come first.
    2. Everything else follows in dependency order, so the project compiles at every commit.
    3. The user-visible entry point (endpoint, route, command, flag) is wired in last.
  • Keeps tests together: all new tests go in one commit, last by default, or first when you work test-first (TDD).
  • Stages carefully: commits only explicit paths after reviewing the staged diff, and never touches anyone else's uncommitted work.
  • Writes consistent messages: TICKET-imperative description, with a body that explains why. The ticket comes from your request, the branch name, or a question to you.
  • Stays safe: it only creates commits. It never amends, rebases, resets, stashes, pushes or switches branches.

It also handles work that is already written: it splits the existing changes into a sensible commit series.

Worked examples are included for a backend POST /users endpoint and a React sign-up page.

Install

From npm (recommended)

Installs just this skill:

pi install npm:atomic-git-commits

To pin a version for reproducible installs:

pi install npm:[email protected]

To try it for a single session without installing:

pi -e npm:atomic-git-commits

Update later with pi update npm:atomic-git-commits. Pinned versions stay pinned, so change the version in the source to upgrade.

From GitHub (all skills in the repository)

This skill lives in the siriuslan/pi-packages repository. Installing from git loads every skill in that repository:

pi install git:github.com/siriuslan/pi-packages

To load only this skill from the git install, use the object form in ~/.pi/agent/settings.json:

{
  "packages": [
    {
      "source": "git:github.com/siriuslan/pi-packages",
      "skills": ["packages/atomic-git-commits/skills/*"]
    }
  ]
}

Usage

Pi loads the skill automatically when you implement a feature or fix that spans several files or layers, or when you ask it to commit work.

To invoke it explicitly, optionally with a ticket:

/skill:atomic-git-commits PROJ-123 add POST /users endpoint
/skill:atomic-git-commits add a sign-up page that calls POST /users
/skill:atomic-git-commits commit the changes I've already made

If you don't give a ticket, it takes the first ABC-123 pattern from the branch name. If there isn't one, it asks you, or falls back to a short kebab-case task name.

Contents

skills/atomic-git-commits/
├── SKILL.md                       # principles, procedure, git boundaries, message format, checklist
└── references/
    ├── backend-example.md         # worked example: POST /users endpoint
    └── frontend-example.md        # worked example: React sign-up page

Other agents

The skill follows the Agent Skills format, so the skills/atomic-git-commits/ folder also works in other compatible agents. Copy it into the agent's skills directory, for example ~/.claude/skills/ for Claude Code or .agents/skills/ in a project.

Development

Install from a local checkout. Pi loads it in place, so edits apply after /reload:

pi install /path/to/pi-packages/packages/atomic-git-commits

If you move the folder, run pi remove with the old absolute path, then pi install the new one.

License

MIT; see LICENSE.