← all projects

llm

repo

llm

A personal library of reusable Claude Code skill prompts.

Skills

| Skill | Description | |---|---| | explain-code | Explains code with visual diagrams and analogies | | php-pre-commit-setup | Install a pre-commit git hook that runs composer lint and composer analyse before every commit | | php-quality | Run the full PHP quality gate: auto-fix linting, static analysis, unit tests, and coverage check | | php-tdd | Enforce red-green TDD for PHP: write a failing test first, confirm failure, implement minimum code, confirm green | | python-tdd | Red-green TDD cycle for Python using pytest, then lint with ruff | | review-docs | After user-facing changes, review docs/ for pages that need updating and missing cross-links | | smoke-test | Build a smoke-test document proving a new feature works end-to-end |

Structure

skills/<name>/SKILL.md

Each skill is a self-contained directory. SKILL.md requires YAML frontmatter:

---
name: skill-name          # lowercase, hyphens only, max 64 chars
description: "..."        # max 200 chars — quote if it contains colons
---

Installation

Make the skills available to Claude Code across all local projects by symlinking this repo's skills/ directory to ~/.claude/skills:

# If ~/.claude/skills already exists, move any existing skills into this repo first
mv ~/.claude/skills/my-existing-skill /path/to/this/repo/skills/

# Remove the directory and replace it with a symlink
rmdir ~/.claude/skills
ln -s /path/to/this/repo/skills ~/.claude/skills

Claude Code will now discover all skills in this repo automatically, regardless of which project you're working in.

Validation

Run skills-ref validate to check all skills for missing or malformed frontmatter before packaging.

Packaging

Create a zip per skill with the skill directory as the root inside the archive.

python3 -c "
import zipfile
name = 'skill-name'
with zipfile.ZipFile(f'{name}.zip', 'w') as z:
    z.write(f'skills/{name}/SKILL.md', f'{name}/SKILL.md')
"

Zip files are excluded from git (see .gitignore), and can be uploaded to https://claude.ai/customize/skills to make them available to Claude AI.