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

@capitalthought/social-skill

v0.5.0

Published

Claude Code skills for drafting social posts in Josh Baer's voice via the social Cloudflare Worker (https://social.relradar.ai). Installs /social-login + /social-draft + /social-suggest + /social-push. Auth via Google SSO; supports per-operator preview mo

Downloads

720

Readme

Social Drafting Agent — Operator setup

This gets you running the /social-draft skill on your Mac so you can feed Josh draft tweets / LinkedIn posts in his voice. Josh approves and ships from his side.

One-time setup. ~5 minutes.


What this does

You type:

/social-draft cole sansom shipped a payments demo today

A Cloudflare Worker generates 3 candidates in Josh's voice (~5 seconds) and sends them to Josh's iMessage. Josh picks one and ships it. Your scope is create_draft only — you can't approve or publish.


Prerequisites

  1. A Mac with macOS 13 or newer.
  2. A @capitalfactory.com Google account. (Personal Gmail won't work — the domain is allow-listed.)
  3. Homebrew. Run brew --version to check. If it's not installed: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)".

Install steps

1. Install Claude Code

npm install -g @anthropic-ai/claude-code

If npm isn't installed: brew install node first, then re-run the command above.

Confirm:

claude --version

2. Install the skills

npx -y @capitalthought/social-skill@latest install

That drops four skills into ~/.claude/skills/social-login (sign in), social-draft (generate), social-suggest (steer a new round), and social-push (preview-mode forward). Re-run any time to upgrade.

3. Sign in with Google

Start Claude Code:

claude

Then:

/social-login

Your browser opens to https://wittpost.com/auth/device. Click Continue with Google and sign in with your primary [email protected] account — not the short [email protected] alias. The page confirms you're signed in; the terminal writes your tokens to ~/.config/social/auth.json.

You'll see:

Signed in as <you>@capitalfactory.com (operator=op_<firstname>).
Access token expires in 3600s; /social-draft auto-refreshes.

Tokens last 30 days. To sign out: /social-logout.

4. Draft your first post

/social-draft cole shipped a payments demo today

(Use a real topic — Josh sees every draft. There's no test mode.)

You'll see 3 candidates in the terminal. Josh gets the same 3 candidates via iMessage and picks one.

Not quite right? Retry or suggest a direction

If none of the 3 land, you don't have to settle:

  • Retry — re-run /social-draft <same topic> for a fresh 3 (no new input).
  • Suggest — give it a direction and get a new round steered that way:
/social-suggest lead with the speed angle, drop the nostalgia

That re-drafts the same topic, leaning hard into your direction. Suggest as many rounds as you want — each builds on the last.

Preview mode (some operators)

Josh can set you to preview mode. If so, /social-draft generates the 3 candidates into YOUR terminal but does not text Josh — that's on purpose, so you can review and iterate first. The output will say so. When you've got the one you want:

/social-push <draft_id>

That forwards your single curated pick to Josh's approval chat. He approves/ships from there. (In the default "immediate" mode, you skip this — Josh is texted as soon as the candidates generate.)


Daily usage

/social-draft <what the post is about>

Optional steering for tone or framing:

/social-draft demo day prep --context "tone is excitement not nostalgia; mention 7 cities not just Austin"

Good drafts come from specifics, not adjectives:

  • "Cole shipped a payments demo today" beats "Cole is great".
  • Include proper nouns and @-handles. Wrong handles get flagged.
  • Use --context for anti-frames (what NOT to do) and concrete reframes (what to do instead). Vague steering doesn't move output much.

Josh reviews on his timeline. You don't need to wait around — he'll ship one when he ships one.


If something breaks

| If you see this | Run this | |---|---| | not signed in. Run /social-login first. | /social-login | | 401 unknown_token from the Worker | /social-login (refresh expired) | | 400 suppressed | Rephrase — your topic hit the suppression list | | 400 invalid_input | Trim the topic (>500 chars or empty) | | Anything else | Screenshot + iMessage Josh |


What you can't do (by design)

| | | |---|---| | Generate drafts | Your scope | | Approve a draft | Josh-only | | Publish to X / LinkedIn | Josh-only | | Schedule for later | Josh-only | | See other operators' drafts | Each operator sees only their own |

The social agent is Josh's voice on his accounts; the human-in-the-loop is non-negotiable.


Multi-device

Tokens are per-machine. Sign in on multiple Macs independently; /social-logout on one doesn't affect the others.

To start over on a single Mac: rm ~/.config/social/auth.json && /social-login.