fp-pipe-ref – Data & Science skill for AI agents
Quick reference for pipe and flow. Use when user needs to chain functions, compose operations, or build data pipelines in fp-ts.
Install the fp-pipe-ref skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/fp-pipe-ref-da5fd.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /fp-pipe-ref – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/fp-pipe-ref-da5fd.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $fp-pipe-ref – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/fp-pipe-ref-da5fd.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /fp-pipe-ref – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/fp-pipe-ref-da5fd.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /fp-pipe-ref – then describe the task you want done.
SKILL.md content
pipe & flow Quick Reference
pipe - Transform a Value
import { pipe } from 'fp-ts/function'
// pipe(startValue, fn1, fn2, fn3)
// = fn3(fn2(fn1(startValue)))
const result = pipe(
' hello world ',
s => s.trim(),
s => s.toUpperCase(),
s => s.split(' ')
)
// ['HELLO', 'WORLD']flow - Create Reusable Pipeline
import { flow } from 'fp-ts/function'
// flow(fn1, fn2, fn3) returns a new function
const process = flow(
(s: string) => s.trim(),
s => s.toUpperCase(),
s => s.split(' ')
)
process(' hello world ') // ['HELLO', 'WORLD']
process(' foo bar ') // ['FOO', 'BAR']When to Use
| Use | When |
|-----|------|
| pipe | Transform a specific value now |
| flow | Create reusable transformation |
With fp-ts Types
import * as O from 'fp-ts/Option'
import * as A from 'fp-ts/Array'
// Option chain
pipe(
O.fromNullable(user),
O.flatMap(u => O.fromNullable(u.email)),
O.getOrElse(() => 'no email')
)
// Array chain
pipe(
users,
A.filter(u => u.active),
A.map(u => u.name)
)Common Pattern
// Data last enables partial application
const getActiveNames = flow(
A.filter((u: User) => u.active),
A.map(u => u.name)
)
// Reuse anywhere
getActiveNames(users1)
getActiveNames(users2)Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Reference scope
These are fp-ts 2.x fragments. Supply application variables, types, validators and imports, and check the installed version. map does not catch thrown exceptions. Task has no typed error channel; an improperly wrapped promise can still reject. Use tryCatch at fallible boundaries.
Official API: [fp-ts modules](https://gcanti.github.io/fp-ts/modules/).
Related skills
- senior-data-engineer – Data engineering skill for building scalable data pipelines, ETL/ELT systems, and data…
- gdpr-compliance – Implement GDPR data protection requirements. Configure consent management, data subject…
- senior-data-scientist – World-class senior data scientist skill specialising in statistical modeling, experiment…
- gdpr-data-handling – Practical implementation guide for GDPR-oriented data-processing design, consent…
- gemini-deep-research – Run autonomous multi-step research with Google's Gemini Deep Research Agent: kick off a…
- geo-crawlers – AI crawler access analysis.
- senior-ml-engineer – ML engineering skill for productionizing models, building MLOps pipelines, and…
- senior-pm – Senior Project Manager for enterprise software, SaaS, and digital transformation…