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

@agent-crm/cli

v3.0.0

Published

The headless CRM for Claude

Readme

Claude is running your GTM and your leads live in CSVs. Spreadsheets fall apart around 30 deals in: you lose track of who said what, what's open, and what's next. CRMs solve that, but they were built for humans clicking through UIs, not agents reading and writing it on your behalf.

Plug Claude into your CRM via MCP and the schema torches your context, every action is a network round-trip, and you blow through your usage limits. Salesforce and HubSpot are shipping their own CLIs, but they end at the deal record — the scrapes, enrichment runs, and half-cleaned lists that fed it live somewhere else. You can't see what your last scrape pulled in and what it didn't clean up, or pick up where last weekend's list-building session left off.

Agent CRM is a cloud-first CRM your agent can edit through first-class CLI and API operations — pipeline, scrapes, enrichments, and multiplayer collaboration in one place.

                    ┌──────────────┐
                    │  Custom UIs  │
                    └──────┬───────┘
                           │
┌────────────┐      ┌──────▼──────┐      ┌───────────────┐
│ AI Agents  ├─────►│ REST / CLI  │◄─────┤ App / Scripts │
└────────────┘      └─────────────┘      └───────────────┘

Where is the CRM stored?

Agent CRM is a macOS Electron app backed by a hosted API and Supabase. The CLI provides first-class operations for agents and scripts against the current Agent CRM cloud workspace. The schema remains flexible EAV: acrm_object, acrm_attribute, acrm_record, and acrm_value.

Quickstart

The normal path is to open Agent CRM, sign in, and let the desktop app launch the CLI with the active cloud workspace session.

Install the CLI:

npm install -g @agent-crm/cli

Then run CLI operations against the current Agent CRM workspace:

acrm import csv ./leads.csv
acrm records list people --limit 10

Why Agent CRM

  • 🧩 Headless: Ships as a CLI.
  • ⚒️ Skills based: Claude writes skills against the CLI (transcript ingestion, stale-deal sweeps, weekly reports) as .md files.
  • 🧱 Modeled: uses Attio's data model out of the box — people, companies, deals, posts, transcripts. Typed, related records with predictable agent edits.
  • 👥 Multiplayer: workspace state lives in the shared Supabase-backed cloud workspace, so teammates and agents share the same source of truth.
  • 🔌 Pluggable transcript providers: transcripts are vendor-agnostic. Drop a transcript-provider-<vendor> skill into ~/.claude/skills/ to plug in Granola, Otter, Fireflies, Fathom, Zoom, manual paste, or anything else.

Use cases

A grab-bag of jobs Agent CRM handles today. Each is a skill or a CLI command — bring your own, or use the ones we ship.

Pull call transcripts from Granola. acrm connect granola stores a user-provided Granola API key in the hosted API, and acrm import granola brings synced transcripts into the Agent CRM cloud workspace with attendees linked as people. Queryable and easy to spot patterns across calls.

Import a scraped list. acrm import csv ./leads.csv ingests a CSV with auto-derived attributes. New columns become typed attributes on the right object — no schema setup.

Import your LinkedIn network. acrm connect linkedin opens the hosted LinkedIn connect flow. After that, acrm import linkedin imports existing 1st-degree connections as lightweight contacts, with --cutoff-date <YYYY-MM-DD> for recent connections.

Keep CRM data current. Use first-class CLI commands and Agent CRM skills to import, update, dedupe, and enrich records without exposing raw SQL.

Import X / LinkedIn posts. You're scrolling and see a post worth following up on. Paste the URL into Claude Code — acrm import post <url> upserts the post and adds the author as a contact.

Import X / LinkedIn profiles. Come across someone you want to chat to. Paste the profile URL into Claude Code — acrm import linkedin <url> or acrm import x <handle> pulls one enriched profile and dedupes against existing people.

Plug in a new transcript provider. Adapters are themselves skills. Drop a transcript-provider-<vendor> SKILL.md into ~/.claude/skills/ following the contract in docs/transcript-provider-protocol.md (Otter, Fireflies, Fathom, Zoom). Native providers can also add first-class CLI imports like acrm import granola.

Write your own skill. Ask Claude for "a skill that reads my call transcripts, updates deal stages, and posts a summary to Slack" and it writes a .md file into ~/.claude/skills/. No code.