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

@shipengqi/claude-skills

v0.1.0

Published

Engineering best-practice skills for Claude Code — Go, TypeScript, Python, React, Angular, Next.js, NestJS, and Database

Readme

Claude Code Skills

Engineering best-practice skills for Claude Code — Go, TypeScript, Python, React, Angular, Next.js, NestJS, and Database (Redis, PostgreSQL).

Skills

Go

| Skill | Description | |-------|-------------| | golang-language | Naming, interfaces, package layout, anti-patterns | | golang-error-handling | ErrorX sentinel pattern, errno directory, error propagation by layer | | golang-logging | Zap Sugar API, log.W(ctx) context propagation, per-layer logging rules | | golang-architecture | Clean Architecture layers (handler→biz→store→model) and Google Wire DI | | golang-testing | Ginkgo BDD suites, Gomega matchers, uber-go/mock, DescribeTable, benchmarks | | golang-api-server | Framework-agnostic Server interface, graceful shutdown, unified response | | golang-gin | Gin engine setup, middleware chain, route groups, HandleJSONRequest pattern | | golang-echo | Echo framework patterns — binding, middleware, error handler | | golang-fiber | Fiber/fasthttp patterns — UserContext, BodyParser, concurrency gotchas | | golang-nethttp | net/http + chi router patterns — standard library HTTP server | | golang-makefile | Layered include structure, version injection from git, tools auto-install, ##@ help | | golang-app | cobra command setup, pflag options, viper config loading, Options→Config pipeline | | golang-database | GORM setup, connection pool, IStore interface, context-based TX propagation, concrete store |

TypeScript

| Skill | Description | |-------|-------------| | typescript-language | Strict config, type patterns, no-any/enum/!, brand types | | typescript-best-practices | Async/await, Promise.all, error handling at boundaries, DI patterns | | typescript-tooling | ESLint flat config, Prettier, tsup bundling, tsc in CI, pre-commit hooks | | typescript-security | Input validation (Zod), XSS/injection prevention, auth principles, CORS |

Python

| Skill | Description | |-------|-------------| | python-language | uv + ruff + pyright toolchain, naming, type hints, StrEnum, anti-patterns | | python-architecture | Layered architecture, SQLAlchemy 2.x async, FastAPI Depends() DI, Alembic | | python-error-handling | AppError hierarchy, global exception handlers, propagation by layer | | python-logging | loguru setup, context binding with contextualize(), per-layer logging rules | | python-testing | pytest, parametrize, fixtures, AsyncMock, respx, asyncio_mode=auto | | python-async | async/sync choice, asyncio.gather vs TaskGroup, blocking traps, to_thread | | python-fastapi | lifespan, routers, Pydantic schemas, Depends() chains, middleware | | python-data | Pandas ETL patterns, iterrows anti-pattern, chunked processing, Polars | | python-cli | Typer app, Argument vs Option, subcommands, StrEnum choices, progress bar |

React (frontend)

| Skill | Description | |-------|-------------| | react-language | JSX, hooks rules, derived state, useCallback/useMemo, Suspense, Error Boundary | | react-patterns | Feature-based structure (bulletproof-react), custom hooks, compound components | | react-forms | react-hook-form + Zod validation, Controller, server errors, FormArray | | react-state | Zustand for client state, TanStack Query for server state, query keys | | react-testing | Vitest + React Testing Library + MSW, userEvent, async queries | | cypress-e2e | E2E testing — data-cy selectors, Custom Commands, cy.intercept, fixtures |

Angular (frontend)

| Skill | Description | |-------|-------------| | angular-language | Standalone components, Signals, @if/@for control flow, inject() function | | angular-services | DI, HttpClient, functional interceptors, functional route guards | | angular-forms | Typed Reactive Forms, nonNullable group, FormArray, Signal integration | | angular-testing | Jest + TestBed, ComponentFixture, setInput(), HttpTestingController |

Next.js (frontend)

| Skill | Description | |-------|-------------| | nextjs-app-router | app/ structure, route groups, layouts, Server vs Client Components | | nextjs-data | Server Actions, fetch caching, revalidatePath, TanStack Query, next/image | | nextjs-api | Route Handlers, middleware, Auth.js, environment variable conventions |

NestJS (nodejs)

| Skill | Description | |-------|-------------| | nestjs-architecture | Module system, controllers, providers, DI, project structure | | nestjs-guards | Guards, Interceptors, ValidationPipe (class-validator), Exception Filters | | nestjs-testing | Test.createTestingModule(), mock providers, supertest E2E | | nestjs-database | Prisma integration, repository pattern, transactions, migrations |

Database

| Skill | Description | |-------|-------------| | database-redis | Redis key design, caching patterns, data structures, distributed lock, rate limiter | | database-postgres | Schema design, indexing, transactions, zero-downtime migrations (Expand-Contract) |

Install

Shell script (no dependencies)

git clone https://github.com/shipengqi/skills
cd skills

# Install all
bash install.sh

# Install specific skills
bash install.sh react-language react-state nestjs-architecture

# List status
bash install.sh list

npx

# Install all
npx @shipengqi/claude-skills add --all

# Install specific
npx @shipengqi/claude-skills add react-language

# List
npx @shipengqi/claude-skills list

# Remove
npx @shipengqi/claude-skills remove react-language

Claude Plugin Marketplace

claude plugin add https://github.com/shipengqi/skills

Benchmark

npm run benchmark

Generates benchmarks/benchmark-report.md with token counts, cost estimates per model, and quality scores for all skills.

How It Works

Each skill is a directory with a SKILL.md file that Claude Code loads automatically based on trigger conditions (e.g., presence of go.mod, *.tsx files). Skills symlink from the repo into ~/.claude/skills/.

After installing, restart Claude Code to load the new skills.