fp-types-ref
Faz seu agente ajudar a escolher tipos em fp-ts. Dá referências rápidas para imports e decisões de tipos.
O que ela faz
Ajuda a escolher os tipos certos (como Option, Either, Task) na biblioteca fp-ts para organizar seu código TypeScript, especialmente quando lida com valores que podem faltar ou operações assíncronas com possíveis erros.
Quando usar
- ✓Precisa decidir entre Option, Either, Task ou TaskEither.
- ✓Está com dúvidas sobre como importar tipos do fp-ts.
- ✓Quer um guia rápido para padrões comuns do fp-ts.
Exemplo do que pedir para a IA
“Qual tipo do fp-ts devo usar para uma função que pode falhar e é assíncrona?”
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 IA usa um fluxograma simples para guiar sua escolha com base em se a operação é assíncrona, se pode falhar ou se o valor pode estar ausente. Ela também fornece exemplos de código para importações e padrões comuns.
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-types-refOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/fp-types-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.
fp-ts Referência Rápida
Quando Usar
- Você precisa de ajuda para escolher entre
Option,Either,Task,TaskEitherou tipos relacionados do fp-ts. - A tarefa envolve importações, orientação para decisões ou seleção da abstração correta para um fluxo em TypeScript.
- Você quer uma referência compacta para escolhas e padrões comuns de tipos do fp-ts.
Qual Tipo Devo Usar?
Is the operation async?
├─ NO: Does it involve errors?
│ ├─ YES → Either<Error, Value>
│ └─ NO: Might value be missing?
│ ├─ YES → Option<Value>
│ └─ NO → Just use the value
└─ YES: Does it involve errors?
├─ YES → TaskEither<Error, Value>
└─ NO: Might value be missing?
├─ YES → TaskOption<Value>
└─ NO → Task<Value>
Importações Comuns
// Core
import { pipe, flow } from 'fp-ts/function'
// Types
import * as O from 'fp-ts/Option' // Maybe exists
import * as E from 'fp-ts/Either' // Success or failure
import * as TE from 'fp-ts/TaskEither' // Async + failure
import * as T from 'fp-ts/Task' // Lazy async; no typed error channel
import * as A from 'fp-ts/Array' // Array utilities
Padrões de Uma Linha
| Necessidade | Código |
|---|---|
| Envolver nulo | O.fromNullable(value) |
| Valor padrão | O.getOrElse(() => fallbackValue) |
| Transformar se existir | O.map(fn) |
| Encadear opcionais | O.flatMap(fn) |
| Envolver try/catch | E.tryCatch(() => risky(), toError) |
| Envolver assíncrono | TE.tryCatch(() => fetch(url), toError) |
| Executar pipe | pipe(value, fn1, fn2, fn3) |
Pattern Match
// Option
pipe(maybe, O.match(
() => 'nothing',
(val) => `got ${val}`
))
// Either
pipe(result, E.match(
(err) => `error: ${err}`,
(val) => `success: ${val}`
))
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 os inputs necessários, permissões, limites de segurança ou critérios de sucesso estiverem ausentes.
Escopo da 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 incorretamente encapsulada ainda pode rejeitar. Use tryCatch em limites falíveis.
API Oficial: Módulos do fp-ts.
Perguntas frequentes
O que são Option, Either e Task?
São tipos que ajudam a lidar de forma mais segura e organizada com situações comuns em programação, como valores que podem não existir (Option), operações que podem dar certo ou errado (Either), e operações que levam tempo para acontecer (Task).
O que significa 'assíncrono'?
Significa que uma operação não acontece imediatamente, mas sim em algum momento no futuro. Exemplos incluem buscar dados de um servidor ou ler um arquivo.
O que é fp-ts?
É uma biblioteca popular para TypeScript que traz conceitos de programação funcional para ajudar a escrever código mais robusto e previsível.
Detalhes
Descrição original do autor
Quick reference for fp-ts types. Use when user asks which type to use, needs Option/Either/Task decision help, or wants fp-ts imports.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3038
- 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