Curated catalog of Claude Code skills with an interactive installer.
Project description
claude-skills
Skill catalog in skills/ plus a small mc-style installer
(claude-skills) that copies the ones you pick into ~/.claude/skills/
(machine-wide) or ./.claude/skills/ (project-local). Each entry has a
usefulness rating and a short review, sorted from most useful to most
situational.
Installation
1. From PyPI
pip install claude-skills
claude-skills
The package bundles the skill catalog. claude-skills opens the picker; the
LOCAL destination resolves against your current working directory
(./.claude/skills/).
2. From source (git clone)
git clone https://github.com/wachawo/claude-skills.git
cd claude-skills
pip install -e .
claude-skills
Or zero-install — the repo ships a thin entry point:
git clone https://github.com/wachawo/claude-skills.git
cd claude-skills
python3 claude-skills.py
Requirements
- Python ≥ 3.10 (modern type hints, f-strings).
- A real terminal —
curses, so SSH / interactive shell only. - No third-party dependencies —
claude-skills.pyuses only the standard library (curses,pathlib,hashlib,difflib,shutil).
See INSTALL.md for keys, the --user / --local
non-interactive flags, and uninstall.
Quick start
claude-skills # interactive picker, asks USER vs LOCAL on apply
claude-skills --user # preselect ~/.claude/skills
claude-skills --local # preselect ./.claude/skills
Picker keys:
| Key | Action |
|---|---|
↑ / ↓ |
Move cursor |
← / → |
Collapse / expand a skill |
Shift+↑ / Shift+↓ |
Scroll diff pane |
space |
Toggle selection |
a / n |
Select all / none |
enter |
Apply (then choose USER or LOCAL) |
q |
Quit without changes |
Skills already installed appear at the top. Status is detected by checking
./.claude/skills/<skill>/SKILL.md first, then ~/.claude/skills/<skill>/SKILL.md:
new— file is in the catalog but not on disk.installed— file matches the installed copy byte-for-byte.updated +X -Y— installed copy drifts from the catalog.
When you apply with USER as the destination and the same file is already in LOCAL, the LOCAL copy is removed after the USER copy is written (one-way LOCAL → USER move). Reverse direction never auto-deletes from USER.
Unticking a previously installed file marks it for removal on apply (from any location it was found in). Empty skill directories are cleaned up.
Components
| File / dir | Purpose |
|---|---|
claude-skills (console script) |
curses installer: two-pane picker, MD5-based installed / updated +X -Y / new status, LOCAL → USER move on apply. |
src/claude_skills/cli.py |
Implementation of the installer. |
skills/<name>/SKILL.md (+ resources) |
The skills themselves — one folder per skill, picked up by Claude Code. |
claude-skills.py (repo root) |
Thin entry point so python3 claude-skills.py works from a fresh clone without pip install. |
INSTALL.md |
Detailed install guide, key bindings, non-interactive flags, move/uninstall semantics. |
.github/workflows/publish.yml |
On vX.Y.Z tag push: builds sdist + wheel and publishes to PyPI via trusted publishing (OIDC). |
.github/workflows/ci.yml |
On every push / PR: validates skill layout, compiles the script, builds the package. |
Releasing
git tag v0.0.1
git push --tags
The publish workflow runs on the tag: builds sdist + wheel via python -m build, runs twine check, and publishes to PyPI. PyPI must be configured
once with trusted publishing for
this repo (no API token needed afterwards).
Skills catalog
/diagnose — 9.5
A disciplined debugging loop: reproduce → minimize → hypothesize → instrument → fix → close with a regression test. Keeps you from jumping straight to a "fix" and locks the bug behind a test so it stays gone. Language- and stack-agnostic — a daily driver for bugs and performance regressions.
/qa — 9.5
Interactive QA session: the user reports problems in plain language, the agent asks short clarifying questions, explores the codebase in the background for domain language, and files durable GitHub issues via gh. Knows how to split a compound problem into multiple issues with proper Blocked by links. The best way to turn "this doesn't work" into a real ticket.
/drilldown-analyzer — 9.5
Systematic investigation of metric changes and anomalies: validate the change via z-score → timeline → metric decomposition → drill-down across dimensions → explicit hypotheses accepted/rejected with evidence → RCA report. Includes the drilldown_analyzer.py script, references/hypothesis_testing_guide.md, and a report template. From the nimrodfisher/data-analytics-skills repository.
/data-analyzer — 9.0
Deep dive into a dataset: null profile, outliers (IQR + z-score), distributions, correlations (flags |r| > 0.8 as multicollinearity). Scripts data_overview.py, null_profiler.py, outlier_detector.py, distribution_summary.py, correlation_explorer.py, plus a checklist and a report template. Ideal as the first step before /drilldown-analyzer. Same source repo.
/tdd — 9.0
Classic red-green-refactor with an emphasis on integration tests and proper mocking. Ships separate guides on deep modules, interface design, and refactoring. Useful for both new features and bugs: the test reproduces the problem first, then gets fixed. Fits any stack, including Flask.
/refactor — 9.0
A user interview becomes an RFC-style refactoring plan, broken into tiny safe commits and filed as GitHub issues. Protects against "big rewrites" and keeps progress visible. Pairs with /to-issues and /triage.
/improve-arch — 9.0
Hunts for opportunities to deepen modules, leveraging CONTEXT.md and ADRs in docs/adr/. DDD-flavored, focused on testability and AI-friendly navigation. Bundled with DEEPENING.md, INTERFACE-DESIGN.md, LANGUAGE.md — a methodological foundation, not just a prompt.
/claude-api — 9.0
Building and tuning apps on the Anthropic SDK: prompt caching, thinking, tool use, batch, model-version migrations. Supports Python/TS/Go/Java/Ruby/PHP/C#/curl. If you're writing anything against the Claude API — mandatory.
/python-code — 9.0
A detailed guide to Python code quality: Ruff (lint + format), MyPy (strict mode), modern type-hint syntax (list[str], int | None, Generic, Callable, Protocol), anti-patterns (mutable defaults, bare except), Pythonic idioms, module organization with py.typed. Includes RUFF_CONFIG.md, MYPY_CONFIG.md, TYPE_PATTERNS.md, and a final checklist. From the wdm0006/python-skills repo, based on the mcginniscommawill.com guide.
/python-fp — 8.5
A guide to functional style in Python: pure functions, immutability (NamedTuple, dict factories, MappingProxyType), HOFs, closures and currying, functools (lru_cache, partial, reduce, singledispatch), itertools (groupby, accumulate, pairwise), operator instead of lambdas, composition, typing via Callable/ParamSpec/Protocol, anti-patterns, and the immutable core — mutable shell architectural pattern. Aligns with the CLAUDE.md rule "functional style instead of classes".
/python-pep8 — 8.5
A detailed guide to PEP 8 with do/don't examples for every rule: layout (indentation, line length, blank lines, line breaks at binary operators), imports, naming (snake_case / PascalCase / UPPER_CASE), whitespace (including the nuance of = in kwargs vs annotated defaults), comments and docstrings, programming recommendations (is None, isinstance, startswith, "".join, specific excepts). Final checklist plus a ruff config for automation.
/write-skill — 9.0
Meta-skill: creates new skills with the right structure, progressive disclosure, and bundled resources. Reach for it as soon as a repeatable prompt deserves to live in skills/.
/grill-me — 8.5
Mercilessly grills you on a plan/design until every branch of the decision tree is resolved. Catches holes before they become code. Good for vetting architectural decisions up-front.
/to-issues — 8.5
Turns a plan/PRD/spec into independently shippable tickets along "tracer-bullet" vertical slices. Enables parallelism and visible progress.
/triage — 8.5
A state machine for issue triage with role-based stages: creation, bug/feature triage, prep for AFK agents. Paired with AGENT-BRIEF.md and OUT-OF-SCOPE.md, it gives a durable workflow.
/mcp-builder — 8.5
Guide to building high-quality MCP servers (FastMCP / Node SDK) with an emphasis on tool design. Reach for it when integrating external services for LLMs.
/grill-docs — 8.0
Same "grilling" idea, but syncs the plan against CONTEXT-FORMAT.md and ADR-FORMAT.md: sharpens terminology and updates documentation as decisions crystallize. Useful in projects with a fixed domain model.
/to-prd — 8.0
Turns the current conversation context into a PRD and publishes it to the tracker. Handy when a feature has already been discussed and just needs to be "saved".
/ubiquitous-language — 8.0
Extracts a DDD glossary from a conversation, flags ambiguities, suggests canonical terms, and saves to UBIQUITOUS_LANGUAGE.md. Foundation for /grill-docs and /improve-arch.
/write-docs — 8.0
A structured workflow for writing documentation, specs, and decision docs with iterative refinement and a "does this work for the reader" check. Better than just asking an LLM to "write docs".
/sec-review — 8.0
Security review for Python/JS/TS/Go with concrete improvements. Triggered explicitly — not for general code review, only for a security pass.
/webapp-testing — 8.0
Playwright toolkit for testing local web apps: frontend verification, UI debugging, screenshots, logs. Fits Vue/SPA stacks well.
/playwright — 8.0
Browser automation from the terminal via playwright-cli: navigation, form filling, screenshots, data extraction. The baseline tool for anything involving a real browser.
/design-api — 7.5
Generates several radically different API/interface variants for a module via parallel sub-agents. Good for "design it twice" — when you need to compare shapes rather than commit to the first idea.
/playwright-interactive — 7.5
Persistent browser session (including Electron) via js_repl for fast iterations during UI debugging. Niche, but nothing beats it in that niche.
/setup-pre-commit — 7.5
Husky + lint-staged + Prettier + types + tests on pre-commit. Configured once per project, then forgotten. Useful, but a one-shot.
/xlsx — 7.5
Read/edit/create .xlsx/.csv/.tsv: formulas, formatting, charts, cleanup of messy tabular data. Must-have if you work with spreadsheets, otherwise unnecessary.
/pdf — 7.5
Full PDF toolkit: read, merge, split, forms, watermarks, OCR. Narrow but powerful for its specific format.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_skills-0.0.1.tar.gz.
File metadata
- Download URL: claude_skills-0.0.1.tar.gz
- Upload date:
- Size: 556.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84807628504b4cec2d5485e1ac7795a2d7c010ad9188310526ae299f33661f11
|
|
| MD5 |
3daef166b0106935adc9db72f69c30d0
|
|
| BLAKE2b-256 |
2ccb4b170ff75ce02a0161e85477befadfafffa74b3bab57125159348e428d7e
|
Provenance
The following attestation bundles were made for claude_skills-0.0.1.tar.gz:
Publisher:
publish.yml on wachawo/claude-skills
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_skills-0.0.1.tar.gz -
Subject digest:
84807628504b4cec2d5485e1ac7795a2d7c010ad9188310526ae299f33661f11 - Sigstore transparency entry: 1442715271
- Sigstore integration time:
-
Permalink:
wachawo/claude-skills@ea79dc54711ab7932e09df46e237fcbf9976ef65 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/wachawo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ea79dc54711ab7932e09df46e237fcbf9976ef65 -
Trigger Event:
push
-
Statement type:
File details
Details for the file claude_skills-0.0.1-py3-none-any.whl.
File metadata
- Download URL: claude_skills-0.0.1-py3-none-any.whl
- Upload date:
- Size: 681.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79f19ebaf30b14aff2a31f98225723064d7704b90713cd719fe0423493183d14
|
|
| MD5 |
1d7034f3b1feb23c984b99e881a6800d
|
|
| BLAKE2b-256 |
56f7fde1202fc84df6a405b81de98c1ccc1e8562e1450f9937a58d8a32130df8
|
Provenance
The following attestation bundles were made for claude_skills-0.0.1-py3-none-any.whl:
Publisher:
publish.yml on wachawo/claude-skills
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_skills-0.0.1-py3-none-any.whl -
Subject digest:
79f19ebaf30b14aff2a31f98225723064d7704b90713cd719fe0423493183d14 - Sigstore transparency entry: 1442715365
- Sigstore integration time:
-
Permalink:
wachawo/claude-skills@ea79dc54711ab7932e09df46e237fcbf9976ef65 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/wachawo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ea79dc54711ab7932e09df46e237fcbf9976ef65 -
Trigger Event:
push
-
Statement type: