fp-data-transforms
Everyday data transformations using functional patterns - arrays, objects, grouping, aggregation, and null-safe access
npx skills add sickn33/agentic-awesome-skills --skill fp-data-transforms --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Implements practical data transformations across arrays and objects, including mapping, filtering, reducing, and nesting-safe updates. It contrasts imperative and functional approaches, and provides reusable utilities (pick, omit) and examples using fp-ts for arrays, records, and option handling. It also demonstrates data normalization by converting dense API responses into a flat, indexed app state and shows patterns for immutable updates and deep merges.
How it works
- Provides concrete imperative examples next to functional equivalents for common tasks: map, filter, reduce, and chained operations on arrays; picking, omitting, merging, and deep updates for objects.
- Introduces generic utilities: a pick function to extract specific fields from objects and an omit function to remove fields.
- Demonstrates merging strategies (spread syntax) and deep merge concepts for one-level nesting, plus a nested, immutable update approach using manual nesting or a path-based helper.
- Includes an illustrative section on using the fp-ts Array module for safe head, lookup, findFirst, partition, takeLeft, and uniq patterns.
- Shows a functional approach to API response normalization, producing a NormalizedState with byId and allIds structures for orders, customers, and products, including both imperative and functional pipelines.
When to use it
- When transforming arrays, objects, grouped data, or nested values in TypeScript.
- When reshaping API responses, performing null-safe access, aggregation, or normalization.
- When you want practical functional patterns for everyday data work instead of low-level loops.
What it can touch
- Functions and patterns shown: map, filter, reduce, sort, pipe, and fp-ts utilities (A.head, A.lookup, A.findFirst, A.partition, A.takeLeft, A.uniq).
- Utilities: pick, omit, mergeSettings, deepMerge, updatePath, updateTheme.
- Types and interfaces for User, CartItem, ApiResponse, NormalizedState, Order, Customer, Product.
Caveats
- Declared risk: critical.
- Honest assessments acknowledge trade-offs: functional approaches can be verbose for deeply nested immutable updates; libraries like immer or lenses may be considered.
- Examples rely on TypeScript and fp-ts; real-world usage should align with project dependencies and type safety guarantees.
# Practical Data Transformations This skill covers the data transformations you do every day: working with arrays, reshaping objects, normalizing API responses, grouping data, and safely accessing nested values. Each section shows the imperative approach first, then the functional equivalent, with honest assessments of when each approach shines. ## When to Use - You need to transform arrays, objects, grouped data, or nested values in TypeScript. - The task involves reshaping API responses, null-safe access, aggregation, or normalization. - You want practical functional patterns for everyday data work instead of low-level loops. --- ## Table of Contents 1. [Array Operations](#1-array-operations) 2. [Object Transformations](#2-object-transformations) 3. [Data Normalization](#3-data-normalization) 4. [Grouping and Aggregation](#4-grouping-and-aggregation) 5. [Null-Safe Access](#5-null-safe-access) 6. [Real-World Examples](#6-real-world-examples) 7. [When to Use What](#7-when-to-use-what) --- ## 1. Array Operations Array operations are the bread and butter of data transformation. Let's replace verbose loops with expressive, chainable operations. ### Map: Transform Every Element **The T
- When to Use
- Table of Contents
- 1. Array Operations
- Map: Transform Every Element
- Filter: Keep What Matches
- Reduce: Accumulate Into Something New
- Chaining: Combine Operations
- Using fp-ts Array Module
- 2. Object Transformations
- Pick: Select Specific Fields
- Omit: Remove Specific Fields
- Merge: Combine Objects
- Deep Merge: Nested Object Combination
- Immutable Updates: Change Nested Values
What does the fp-data-transforms skill do?
Everyday data transformations using functional patterns - arrays, objects, grouping, aggregation, and null-safe access
How do I install it?
Run `npx skills add sickn33/agentic-awesome-skills --skill fp-data-transforms --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From sickn33/agentic-awesome-skills, a repository with 44,414 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.