fp-pipe-ref
Faz seu agente encadear funções de forma elegante. Ajuda a construir processos complexos passo a passo, tornando o código mais legível.
O que ela faz
Essas ferramentas ajudam a organizar uma sequência de ações em seu código. `pipe` aplica uma série de transformações a um valor de uma vez. `flow` cria uma nova função que combina várias transformações para serem usadas depois.
Quando usar
- ✓Quando você precisa aplicar várias etapas de processamento a um dado.
- ✓Para criar uma função reutilizável que processa dados de uma forma específica.
- ✓Ao trabalhar com bibliotecas que organizam funções em sequências.
Exemplo do que pedir para a IA
“Como eu transformo um texto removendo espaços extras, colocando em maiúsculas e depois dividindo em palavras?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A função `pipe` pega um valor inicial e o passa por uma série de funções, uma após a outra. A função `flow` junta várias funções em uma nova, que pode ser usada para processar diferentes valores da mesma maneira.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill fp-pipe-refOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/fp-pipe-ref/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
pipe & flow - Guia Rápido
pipe - Transformar um Valor
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 - Criar Pipeline Reutilizável
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']
Quando Usar
| Usar | Quando |
|---|---|
pipe |
Transformar um valor específico agora |
flow |
Criar transformação reutilizável |
Com Tipos fp-ts
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)
)
Padrão Comum
// 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)
Limitações
- Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
- Não trate a saída como substituta para validação específica do ambiente, testes ou revisão de especialistas.
- Pare e peça esclarecimentos se faltarem entradas necessárias, permissões, limites de segurança ou critérios de sucesso.
Escopo de Referência
Estes são fragmentos do fp-ts 2.x. Forneça variáveis de aplicação, tipos, validadores e importações, e verifique a versão instalada. map não captura exceções lançadas. Task não possui um canal de erro tipado; uma Promise mal encapsulada ainda pode rejeitar. Use tryCatch em limites falíveis.
API Oficial: Módulos fp-ts.
Perguntas frequentes
Qual a diferença entre `pipe` e `flow`?
`pipe` é para transformar um valor específico agora, aplicando funções em sequência. `flow` é para criar uma nova função que combina transformações, para ser usada várias vezes depois.
Para que servem `pipe` e `flow`?
Eles ajudam a encadear ou compor funções, tornando o código mais legível e organizado, especialmente quando você tem várias etapas de processamento.
Posso usar isso com qualquer tipo de dado?
Sim, desde que as funções que você usa em `pipe` ou `flow` sejam compatíveis com os tipos de dados que estão sendo passados entre elas.
Detalhes
Descrição original do autor
Quick reference for pipe and flow. Use when user needs to chain functions, compose operations, or build data pipelines in fp-ts.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3030
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC