fp-option-ref
Ajuda seu agente a lidar com valores que podem não existir. É útil para evitar erros ao acessar dados que podem estar ausentes.
O que ela faz
Esta ferramenta ajuda você a lidar com valores que podem ou não existir em seu código. Ela oferece uma maneira segura de trabalhar com dados que podem estar ausentes, evitando erros comuns.
Quando usar
- ✓Quando você precisa verificar se um valor existe antes de usá-lo.
- ✓Ao trabalhar com dados que podem vir de fontes externas e não estarem completos.
- ✓Para evitar mensagens de erro quando um valor esperado não é encontrado.
Exemplo do que pedir para a IA
“Como posso verificar se o nome de um usuário existe de forma segura?”
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
Ela usa um conceito chamado 'Option', que pode ser 'Some(valor)' se o valor existir, ou 'None' se não existir. Isso permite encadear operações de forma segura.
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-option-refOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/fp-option-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.
Referência Rápida de Option
Option = valor que pode não existir. Some(value) ou None.
Quando Usar
- Você precisa de uma referência rápida de fp-ts para valores anuláveis ou opcionais.
- A tarefa envolve eliminar verificações de nulo, acesso seguro a propriedades ou encadeamento opcional com
Option. - Você quer um cartão de referência curto em vez de um guia de migração completo.
Criar
import * as O from 'fp-ts/Option'
O.some(5) // Some(5)
O.none // None
O.fromNullable(x) // null/undefined → None, else Some(x)
O.fromPredicate((n: number) => n > 0)(x) // false → None, true → Some(x)
Transformar
O.map(fn) // Transform inner value
O.flatMap(fn) // Chain Options (fn returns Option)
O.filter(predicate) // None if predicate false
Extrair
O.getOrElse(() => fallbackValue) // Get value or default
O.toNullable(opt) // Back to T | null
O.toUndefined(opt) // Back to T | undefined
O.match(onNone, onSome) // Pattern match
Padrões Comuns
import { pipe } from 'fp-ts/function'
import * as O from 'fp-ts/Option'
// Safe property access
pipe(
O.fromNullable(user),
O.flatMap(u => O.fromNullable(u.profile)),
O.flatMap(p => O.fromNullable(p.avatar)),
O.getOrElse(() => '/default-avatar.png')
)
// Array first element
import * as A from 'fp-ts/Array'
pipe(
users,
A.head, // Option<User>
O.map(u => u.name),
O.getOrElse(() => 'No users')
)
vs Anulável
// Nullable: concise and safe for a short access chain
const name = user?.profile?.name ?? 'Guest'
// Option: explicit and composable across multiple operations
pipe(
O.fromNullable(user),
O.flatMap(u => O.fromNullable(u.profile)),
O.flatMap(p => O.fromNullable(p.name)),
O.getOrElse(() => 'Guest')
)
Use Option quando você precisar encadear operações em valores opcionais.
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 especializada.
- Pare e peça esclarecimentos se faltarem entradas necessárias, permissões, limites de segurança ou critérios de sucesso.
Escopo da Referência
Estes são fragmentos de 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 tem canal de erro tipado; uma promessa incorretamente encapsulada ainda pode rejeitar. Use tryCatch em limites falíveis.
API Oficial: Módulos fp-ts.
Perguntas frequentes
Qual a diferença entre usar 'Option' e simplesmente verificar se algo é 'null' ou 'undefined'?
'Option' é mais seguro para sequências longas de verificações, pois força você a lidar com ambos os casos (valor existe ou não existe) de forma explícita e organizada.
Posso converter um valor 'null' ou 'undefined' para 'Option'?
Sim, você pode usar funções como `fromNullable` para transformar um valor que pode ser nulo em um 'Option'.
O que acontece se eu tentar usar um valor que não existe com 'Option'?
Em vez de um erro, você geralmente receberá um valor padrão ou um resultado indicando que o valor não estava presente, dependendo de como você configurou.
Detalhes
Descrição original do autor
Quick reference for Option type. Use when user needs to handle nullable values, optional data, or wants to avoid null checks.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3029
- 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