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

@glassity/agent-skills

v1.0.1

Published

Glassity agent skills for Claude Code — AWS cost, savings opportunities, and commitment coverage over the glassity CLI. Installable as a plugin or via npx.

Readme

Ask your agent what you spent on AWS last month. Ask which savings opportunities are worth the engineering time, and which are Fool's Gold. Ask whether your reservations still cover your fleet.

This is a Claude Code plugin over the glassity CLI, the command-line interface to Glassity. It ships the skills that teach an agent your cost surface, the subagents that dig into one opportunity at a time, and slash commands for the full FinOps loop from discovery to closure.

The reason to hand this to an agent rather than read a dashboard: the questions that matter are follow-ups. Which service drove that spike? Is it one account or all of them? What would rightsizing it actually save, net of the week it takes? Each one is a different query, and answering them in a conversation is faster than clicking through six screens.

Reads run straight through. Writes stop and show you the exact HTTP request first — see Safety model.

Installation

Two equivalent paths. Both install the same skills, agents, and commands.

Claude Code plugin marketplace:

claude plugin marketplace add glassity/agent-skills
/plugin install glassity

npm, if you would rather not use the marketplace:

npx @glassity/agent-skills install          # → ~/.claude
npx @glassity/agent-skills install --here   # → ./.claude, project-local

Then install the CLI and sign in:

brew install glassity/tap/glassity
glassity auth login

npx @glassity/agent-skills doctor checks the binary, the optional tools, and what is installed where.

Requirements

  • The glassity binary, which every skill calls: brew install glassity/tap/glassity, or a release tarball from glassity/cli. This plugin never downloads it for you — that is deliberate, and Safety model explains why. No account yet? Sign up at app.glassity.cloud.
  • macOS or Linux. Windows works through WSL.
  • Optional: git and gh for the workflow commands that register a pull request; jq if you want to pipe --output json around yourself. Nothing in the read-only surface needs any of them.

Skills

Read-only. Nothing here can change anything in your account.

| Skill | What it answers | | --- | --- | | cost-summary | What did we spend over this window | | cost-by-service | Which services cost the most | | cost-by-subaccount | Which accounts are driving spend | | cost-mom-trends | Is cost trending up, and which month moved | | cost-ec2-usage | What EC2 is running, by type and region | | cost-rds-usage | What databases are running, by class and engine | | opp-list | Which savings opportunities are open, by stage and size | | opp-show | Why this opportunity was flagged, and what it covers | | rec-ec2-list | Which EC2 reservations are recommended | | rec-rds-coverage | Are we undercovered on RDS | | rec-rds-recommendations | Which RDS reservations to buy | | glassity-auth | Sign in, check the active tenant, sign out | | glassity-five-steps | Shared definitions the workflow commands read |

Mutating. Each one shows you the request and waits for a yes.

| Skill | What it does | | --- | --- | | opp-triage | Advance, approve, reassign, or archive an opportunity | | lifecycle-approve-plan | Approve the org plan and seed per-service assignments | | lifecycle-accept-plan | Accept a refined plan and move an assignment to execution | | lifecycle-reject-plan | Decline a brief, with the reason recorded | | lifecycle-mark-pr-merged | Close an assignment once its pull request is merged | | lifecycle-mark-closure-done | Register the closure report and complete the opportunity | | questionnaire-run | Walk a service-onboarding questionnaire and submit the answers |

Workflow commands

Six slash commands walk an opportunity through the five-step FinOps loop. Each one ends in a report that the next one depends on, so you can stop between any two and pick up later.

| Command | Step | Gate | Mutates | | --- | --- | --- | --- | | /finops-discover | Discovery | every idea typed and dated | no | | /finops-assess | Opportunity Assessment | net value above zero | no | | /finops-align | Stakeholder & Planning Alignment | an owner and a ready plan | yes | | /finops-execute | Execution | deployed, verified, rollback proven | yes | | /finops-feedback | Feedback Loop & Celebration | at least one new idea or policy | yes | | /finops-status | — | orientation only | no |

/finops-execute asks which automation level to run at, per opportunity, because risk differs idea to idea: print the commands for you, write the script, or open the pull request.

Safety model

An agent that can run shell commands can, in principle, send any HTTP request. Three things narrow that here.

Scoped tools. Every skill and command declares allowed-tools covering only what its body invokes. A cost skill can reach glassity and nothing else. The workflow command that opens a pull request is the only one that can reach git and gh.

Two-phase confirmation in the binary. Nothing mutates without a second round-trip. The first call makes no network request at all: it renders the exact method, path, and canonical JSON body it would send, and issues an HMAC-bound token. The second call replays the identical command with that token. Change anything in between and it refuses to send. Tokens are single-use, live 60 seconds, and cannot be redeemed in the first 1.5. Details in the CLI README.

Your own permission prompt. The binary is not bundled with this plugin, so every glassity invocation passes through Claude Code's bash permission prompt, where you see the command before it runs. If you want a hard allowlist rather than a per-call decision, allow the reads and leave the writes to prompt:

{
  "permissions": {
    "allow": [
      "Bash(glassity auth:*)",
      "Bash(glassity cost:*)",
      "Bash(glassity rec:*)",
      "Bash(glassity opp list:*)",
      "Bash(glassity opp show:*)",
      "Bash(glassity opp show-assignment:*)"
    ]
  }
}

Never add glassity opp transition, opp approve, opp assign, opp pipeline-move, pr register, or questionnaire submit to an allow rule. Reading the plan before it is sent is the whole defence against a prompt injection buried in an opportunity description.

Managed workspaces and your own machine

Glassity can provision a workspace with the repositories for an opportunity already checked out and a manifest describing which record you are in. When that manifest is present, /finops-align, /finops-status, and lifecycle-accept-plan use it to resolve ids for you.

On your own machine there is no manifest, and that is fine: the same skills route on the id you give them, or ask. Nothing requires a managed workspace, and no skill stops because a manifest file is absent.

Contributing

See CONTRIBUTING.md for the layout, how to test a change locally, and the frontmatter conventions. Security reports go to the address in SECURITY.md, not the issue tracker.

Apache-2.0. Copyright 2026 Glassity. See LICENSE and NOTICE.