Practical functional programming for TypeScript. No jargon, just patterns that work.
# List available skills
npx skills add whatiskadudoing/fp-ts-skills --list
# Install all skills
npx skills add whatiskadudoing/fp-ts-skills --all
# Install specific skill
npx skills add whatiskadudoing/fp-ts-skills --skill fp-reactWorks with Claude Code, Cursor, GitHub Copilot, Gemini CLI, and any agent supporting the SKILL.md format.
| Tier | Lines | Tokens | When Loaded |
|---|---|---|---|
| quick-ref | 50-100 | ~400 | Always cheap - use freely |
| core | 300-600 | ~2,500 | On invocation |
| advanced | 600-1500 | ~6,000 | Opt-in for deep dives |
| Skill | Lines | Use For |
|---|---|---|
| fp-types-ref | 75 | "Which type should I use?" |
| fp-pipe-ref | 70 | pipe() and flow() patterns |
| fp-option-ref | 70 | Handling nullable values |
| fp-either-ref | 75 | Error handling basics |
| fp-taskeither-ref | 85 | Async error handling |
| Skill | Lines | Use For |
|---|---|---|
| fp-pragmatic | 598 | 80/20 of FP, when NOT to use it |
| fp-errors | 857 | Error handling patterns |
| fp-async | 964 | Async operations |
| fp-react | 790 | React state, forms, fetching |
| fp-compose | 837 | Function composition |
| fp-validation | 912 | Form/API validation |
| Skill | Lines | Use For |
|---|---|---|
| fp-data-transforms | 1516 | Complex data manipulation |
| fp-backend | 1335 | Service layer, DI |
| fp-refactor | 1781 | Migration from imperative |
| fp-algebraic-types | 1445 | Semigroup, Monoid, etc. |
| fp-side-effects | 2042 | Effect management |
Install multiple related skills at once:
# Essentials - quick refs only (375 lines)
npx skills add whatiskadudoing/fp-ts-skills --skill fp-types-ref
npx skills add whatiskadudoing/fp-ts-skills --skill fp-pipe-ref
npx skills add whatiskadudoing/fp-ts-skills --skill fp-option-ref
npx skills add whatiskadudoing/fp-ts-skills --skill fp-either-ref
npx skills add whatiskadudoing/fp-ts-skills --skill fp-taskeither-ref
# React Developer
npx skills add whatiskadudoing/fp-ts-skills --skill fp-react
# Backend Developer
npx skills add whatiskadudoing/fp-ts-skills --skill fp-async
npx skills add whatiskadudoing/fp-ts-skills --skill fp-backend- Token-efficient: Small focused skills that compose well
- No jargon: "chain operations" not "monadic bind"
- When NOT to use FP: We tell you when a for loop is clearer
- Pragmatic: The 80/20 of functional programming
Claude uses LLM reasoning (not keywords) to decide when to invoke skills. Write descriptions that cover:
---
name: fp-validation
description: Form and API validation with error accumulation. Use when validating user input, handling multiple errors, or building type-safe validators.
---These skills were created by studying and synthesizing patterns from:
- Functional-Light JavaScript - Kyle Simpson's pragmatic approach to FP
- Mostly Adequate Guide to FP - Professor Frisby's FP fundamentals
- Functional Programming Guide - Enrico Polanski's comprehensive guide
- Level Up React: Functional Programming in React - 56kode
- Fundamentals of Functional Programming in React - LogRocket
- Hooked on React: React 19's Function Component Superpowers - Dev.to
- Functional Programming in React - Saeloun
MIT
Keywords: functional programming, typescript, fp-ts, claude code, ai skills, option type, either type, taskeither, react hooks, node.js, error handling, validation, pipe, composition