Skill | Added | Review |
|---|---|---|
fp-error-handling Handle errors as values instead of throwing exceptions. Result/Either pattern, railway-oriented programming, and validation with error accumulation. Activate when: writing error handling, try/catch blocks, validation logic, operations that can fail, chaining fallible operations, form validation, API input validation, or when the user mentions Result, Either, error handling, or validation patterns. Works in any language (TypeScript, Python, Go, Rust, Java). | 97 Impact Pending No eval scenarios have been run Securityby Passed No known issues Reviewed: Version: dc9f2d2 | |
functional-coding Write and refactor code using functional programming principles for fewer bugs and less code. Language-agnostic (TypeScript, Python, Go, Rust, Java, etc.). Activate when writing new functions, refactoring existing code, reviewing code quality, fixing bugs caused by state mutation, building data pipelines, or when the user mentions functional programming, pure functions, immutability, composition, or side effects. Also activate when generating any non-trivial business logic to default to FP patterns. | 98 Impact Pending No eval scenarios have been run Securityby Passed No known issues Reviewed: Version: dc9f2d2 | |
fp-composition Build complex behavior by composing small, reusable functions. Covers currying, partial application, pipe/flow, data-last design, and building utility libraries from tiny pieces. Activate when: creating utility functions, building data processing pipelines, chaining transformations, refactoring large functions into smaller ones, or when the user mentions pipe, compose, curry, partial application, point-free, data-last, or function composition. Works in any language (TypeScript, Python, Go, Rust, Java). | 97 Impact Pending No eval scenarios have been run Securityby Passed No known issues Reviewed: Version: dc9f2d2 | |
fp-immutability Never mutate data — create new values instead. Covers immutable update patterns (spread, copy, freeze), nested updates without mutation, readonly enforcement, and performance trade-offs. Activate when: updating objects or arrays, working with state management (React, Redux), fixing bugs caused by unintended mutation, deeply nested data updates, or when the user mentions immutability, spread, readonly, frozen, copy-on-write, or structural sharing. Works in any language (TypeScript, Python, Go, Rust, Java). | 96 Impact Pending No eval scenarios have been run Securityby Passed No known issues Reviewed: Version: dc9f2d2 | |
fp-async-patterns Apply functional programming to asynchronous operations. Lazy evaluation with generators/iterators, async pipelines, parallel vs sequential execution, retry with backoff, fallback chains, and stream composition. Activate when: building async workflows, processing data streams, implementing retry logic, handling concurrent operations, working with generators/iterators, or when the user mentions lazy evaluation, async pipeline, parallel execution, retry, backoff, stream processing, or iterator patterns. Works in any language (TypeScript, Python, Go, Rust, Java). | 88 Impact Pending No eval scenarios have been run Securityby Passed No known issues Reviewed: Version: dc9f2d2 | |
fp-architecture Design system architecture using functional programming principles. Pure core with impure shell, state machines as data, memoization of pure functions, type-driven development with branded types, and event sourcing patterns. Activate when: designing system architecture, separating business logic from I/O, modeling state transitions, implementing caching/memoization, creating domain models, preventing invalid states through types, or when the user mentions architecture, pure core, impure shell, state machine, memoization, branded types, event sourcing, or domain modeling. Works in any language (TypeScript, Python, Go, Rust, Java). | 96 Impact Pending No eval scenarios have been run Securityby Passed No known issues Reviewed: Version: dc9f2d2 | |
web-to-markdown Use ONLY when the user explicitly says: 'use the skill web-to-markdown ...' (or 'use a skill web-to-markdown ...'). Converts webpage URLs to clean Markdown by calling the local web2md CLI (Puppeteer + Readability), suitable for JS-rendered pages. | 81 Impact Pending No eval scenarios have been run Securityby Advisory Suggest reviewing before use Reviewed: Version: dc9f2d2 |