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

@yadavnikhil/skillcraft

v0.2.0

Published

Personal AI skill library for Claude Code, Codex, and Cowork.

Downloads

327

Readme

skillcraft

Personal AI skill library for Claude Code, Codex, and Cowork. These skills encode repeatable workflows so I don't re-explain the same context every session.


Naming convention

Skills in this repo use short, lowercase, hyphenated names without a personal prefix so they are quick to invoke from agent chats.


Structure

skillcraft/
├── dev/
│   └── <name>/               ← one folder per skill
│       ├── SKILL.md          ← skill implementation (with YAML frontmatter)
│       ├── references/       ← optional: reference docs the skill loads at runtime
│       │   └── <ref>.md
│       └── evals/            ← required: eval harness JSON (at least one per skill)
│           └── <name>.json
├── ops/                      ← same structure
├── content/                  ← same structure
├── bin/
│   └── skillcraft.js          ← npm CLI entrypoint
├── scripts/
│   ├── install.sh            ← one-time machine setup
│   └── package.sh            ← repackage skills into dist/*.skill
├── dist/                     ← packaged .skill files (ZIP archives)
└── README.md

dev/

| Skill | What it does | |---|---| | init-project | Interviews you and scaffolds a full project (AGENTS.md canonical guide, CLAUDE.md shim, MEMORY.md, references/) | | create-app | Scaffolds an app from an explicit or documented stack, asking when the stack is unknown | | record-feedback | Captures stakeholder feedback, creates buildable action items, and recommends the next feature step | | build-feature | Plans and implements a scoped feature, fix, or refinement after loading context and getting approval | | init-git | Initializes git, connects or creates a GitHub remote, and pushes the local codebase | | sync-main | After a PR merges — switches to main, pulls, deletes local branch | | update-refs | Updates reference docs after a flow changes | | verify-ui | Visual QA pass on the current UI state |

ops/

| Skill | What it does | |---|---| | github-release | Creates or prepares GitHub version tags, releases, and release notes | | init-workspace | Creates or repairs workspace-level AGENTS.md so new users can start cleanly | | init-chat | Bootstraps a new session for the active project | | switch-project | Switches the active project in workspace AGENTS.md | | skill-sync | Copies latest skills from the skillcraft repo into Claude and Codex skill targets in the current workspace | | sync-memory | Updates relevant memory, instruction, and task files after a Claude or Codex chat session | | npm-versioning | Chooses npm SemVer bumps, dist-tags, and publish-readiness checks | | new-skill | Guided flow for creating a new skill — writes file, updates README and planning, syncs |

content/

| Skill | What it does | |---|---| | presentation | Standards for building interactive HTML slide decks |

Installation

First time in a workspace

The easiest install path is the npm CLI:

npx @yadavnikhil/skillcraft install

Run this from the workspace where you want the skills installed. By default, the installer writes into that current workspace's .claude/skills/ and .codex/skills/ folders.

The installer can target Claude Code (.claude/skills/), Codex (.codex/skills/), or both. It replaces each target skill folder from source so removed references or evals do not linger.

Useful options:

npx @yadavnikhil/skillcraft install --target both
npx @yadavnikhil/skillcraft install --target claude
npx @yadavnikhil/skillcraft install --target codex
npx @yadavnikhil/skillcraft install --workspace /path/to/project
npx @yadavnikhil/skillcraft list

For local development from a cloned repo:

git clone https://github.com/nikhildesigns/skillcraft.git
cd skillcraft
bash scripts/install.sh

scripts/install.sh copies all public skills into the target workspace with the same replacement behavior as the npm CLI.

After installing skills in a new workspace, run /init-workspace first. This creates the workspace-level AGENTS.md that /init-chat and /switch-project expect.

Getting updates

# Install the latest published package into this workspace
npx @yadavnikhil/skillcraft install

If you are developing from a cloned repo:

git pull
/skill-sync

/skill-sync copies the latest skills into .claude/skills/ and .codex/skills/ in the current workspace by default. Each target skill folder is replaced from source so removed references or evals do not linger.


Using with Cowork

Cowork uses skills added through its customization UI. The npm package does not include dist/*.skill bundles, so public users should install the skill folders first, then upload the installed folder to Cowork.

  1. Install the skills into a local workspace:
npx @yadavnikhil/skillcraft install --target claude
  1. In Cowork, go to Customize > Add skills and upload the installed skill folder from:
<workspace>/.claude/skills/<skill-name>/

Repeat for each skill you want available in Cowork.

Using with Codex

Run /skill-sync from a Codex workspace to copy the latest skills into .codex/skills/. The source format stays the same: each skill is a folder containing SKILL.md, optional references/, and eval files.


Packaging skills

dist/ contains pre-packaged .skill files — one per skill, as a ZIP archive containing the skill folder (SKILL.md + references/, without evals). Packaging recreates each archive from source.

To regenerate after editing a skill:

# Repackage all skills
bash scripts/package.sh

# Repackage one skill
bash scripts/package.sh verify-ui

Publishing the npm package

Run publish commands from the skillcraft repo root so npm reads this package's package.json, CLI entrypoint, skill folders, and package file list.

Before publishing, run:

npm run test:cli
npm publish

The package publishes as @yadavnikhil/skillcraft and exposes the skillcraft command for npx.

The npm package intentionally includes only runtime install files: the CLI, public SKILL.md files, README.md, and LICENSE. Repo-only files such as evals, packaged .skill archives, root planning docs, per-skill reference templates, and shell scripts stay git-tracked but are not published to npm.


Adding a new skill

  1. Pick the right folder: dev/, ops/, or content/
  2. Create a folder <slug>/ and add SKILL.md inside it
  3. Open with YAML frontmatter (name, description, argument-hint, allowed-tools) then # Title
  4. Add evals/<slug>.json with at least one happy-path eval case
  5. Commit, push, then run /skill-sync in any workspace to get it

Versioning

Tags mark stable snapshots: v0.1.0, v0.2.0, etc. Workspaces track main unless pinned.