pragmatic functional programming
whatiskadudoing/fp-ts-skills · skills.sh
Open source Repository Open in the app JSON README (API)
About
Skill publicada por whatiskadudoing/fp-ts-skills no skills.sh. Instale com: npx skills add whatiskadudoing/fp-ts-skills@pragmatic-functional-programming
Details
- Kind
- Agent skills
- Publisher
- whatiskadudoing
- Origin
- skillssh
- Category
- ferramentas
- Stars
- 11
- Forks
- 3
- Last push
- 2026-01-30T15:12:25Z
- Repository state
- ativo
- Added
- 2026-10-07 06:20:15
- Updated
- 2026-10-07 06:20:15
- Origin id
whatiskadudoing/fp-ts-skills/pragmatic-functional-programming
README
# fp-ts Skills for AI Agents [](https://opensource.org/licenses/MIT) [](https://www.typescriptlang.org/) [](https://github.com/gcanti/fp-ts) > Practical functional programming for TypeScript. No jargon, just patterns that work. ## Quick Install ```bash # 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-react ``` Works with Claude Code, Cursor, GitHub Copilot, Gemini CLI, and any agent supporting the SKILL.md format. ## Skill Tiers | 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 | ### Quick References (Always Cheap) | Skill | Lines | Use For | |-------|-------|---------| | [fp-types-ref](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/quick-ref/fp-types-ref/SKILL.md) | 75 | "Which type should I use?" | | [fp-pipe-ref](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/quick-ref/fp-pipe-ref/SKILL.md) | 70 | pipe() and flow() patterns | | [fp-option-ref](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/quick-ref/fp-option-ref/SKILL.md) | 70 | Handling nullable values | | [fp-either-ref](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/quick-ref/fp-either-ref/SKILL.md) | 75 | Error handling basics | | [fp-taskeither-ref](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/quick-ref/fp-taskeither-ref/SKILL.md) | 85 | Async error handling | ### Core Patterns | Skill | Lines | Use For | |-------|-------|---------| | [fp-pragmatic](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-pragmatic/SKILL.md) | 598 | 80/20 of FP, when NOT to use it | | [fp-errors](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-errors/SKILL.md) | 857 | Error handling patterns | | [fp-async](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-async/SKILL.md) | 964 | Async operations | | [fp-react](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-react/SKILL.md) | 790 | React state, forms, fetching | | [fp-compose](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-compose/SKILL.md) | 837 | Function composition | | [fp-validation](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-validation/SKILL.md) | 912 | Form/API validation | ### Advanced (Opt-in) | Skill | Lines | Use For | |-------|-------|---------| | [fp-data-transforms](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-data-transforms/SKILL.md) | 1516 | Complex data manipulation | | [fp-backend](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-backend/SKILL.md) | 1335 | Service layer, DI | | [fp-refactor](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-refactor/SKILL.md) | 1781 | Migration from imperative | | [fp-algebraic-types](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-algebraic-types/SKILL.md) | 1445 | Semigroup, Monoid, etc. | | [fp-side-effects](https://github.com/whatiskadudoing/fp-ts-skills/blob/HEAD/skills/fp-side-effects/SKILL.md) | 2042 | Effect management | ## Bundles Install multiple related skills at once: ```bash # 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 ``` ## Philosophy - **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 ## Writing Good Descriptions Claude uses **LLM reasoning** (not keywords) to decide when to invoke skills. Write descriptions that cover: ```yaml --- name: fp-validation description: Form and API validation with error accumulation. Use when validating user input, handling multiple errors, or building type-safe validators. --- ``` ## Resources & Sources These skills were created by studying and synthesizing patterns from: ### Core Libraries - [fp-ts](https://github.com/gcanti/fp-ts) - The functional programming library for TypeScript - [Effect](https://github.com/Effect-TS/effect) - Next-generation FP in TypeScript ### Books & Guides - [Functional-Light JavaScript](https://github.com/getify/Functional-Light-JS) - Kyle Simpson's pragmatic approach to FP - [Mostly Adequate Guide to FP](https://github.com/MostlyAdequate/mostly-adequate-guide) - Professor Frisby's FP fundamentals - [Functional Programming Guide](https://github.com/enricopolanski/functional-programming) - Enrico Polanski's comprehensive guide ### Articles - [Level Up React: Functional Programming in React](https://www.56kode.com/posts/level-up-react-functional-programming-in-react/) - 56kode - [Fundamentals of Functional Programming in React](https://blog.logrocket.com/fundamentals-functional-programming-react/) - LogRocket - [Hooked on React: React 19's Function Component Superpowers](https://dev.to/philipjohnbasile/hooked-on-react-the-complete-guide-to-react-19s-function-component-superpowers-1hdj) - Dev.to - [Functional Programming in React](https://blog.saeloun.com/2024/07/25/functional-programming-in-react/) - Saeloun ## License 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