{"id":"ae37ab82-63b6-4e49-aa49-07c35fc0b227","shortId":"3GLV6u","kind":"skill","title":"fp-types-ref","tagline":"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.","description":"# fp-ts Quick Reference\n\n## When to Use\n- You need help choosing between `Option`, `Either`, `Task`, `TaskEither`, or related fp-ts types.\n- The task is about imports, decision guidance, or selecting the right abstraction for a TypeScript flow.\n- You want a compact reference for common fp-ts type choices and patterns.\n\n## Which Type Should I Use?\n\n```\nIs the operation async?\n├─ NO: Does it involve errors?\n│   ├─ YES → Either<Error, Value>\n│   └─ NO: Might value be missing?\n│       ├─ YES → Option<Value>\n│       └─ NO → Just use the value\n└─ YES: Does it involve errors?\n    ├─ YES → TaskEither<Error, Value>\n    └─ NO: Might value be missing?\n        ├─ YES → TaskOption<Value>\n        └─ NO → Task<Value>\n```\n\n## Common Imports\n\n```typescript\n// Core\nimport { pipe, flow } from 'fp-ts/function'\n\n// Types\nimport * as O from 'fp-ts/Option'      // Maybe exists\nimport * as E from 'fp-ts/Either'      // Success or failure\nimport * as TE from 'fp-ts/TaskEither' // Async + failure\nimport * as T from 'fp-ts/Task'        // Async (no failure)\nimport * as A from 'fp-ts/Array'       // Array utilities\n```\n\n## One-Line Patterns\n\n| Need | Code |\n|------|------|\n| Wrap nullable | `O.fromNullable(value)` |\n| Default value | `O.getOrElse(() => default)` |\n| Transform if exists | `O.map(fn)` |\n| Chain optionals | `O.flatMap(fn)` |\n| Wrap try/catch | `E.tryCatch(() => risky(), toError)` |\n| Wrap async | `TE.tryCatch(() => fetch(url), toError)` |\n| Run pipe | `pipe(value, fn1, fn2, fn3)` |\n\n## Pattern Match\n\n```typescript\n// Option\npipe(maybe, O.match(\n  () => 'nothing',\n  (val) => `got ${val}`\n))\n\n// Either\npipe(result, E.match(\n  (err) => `error: ${err}`,\n  (val) => `success: ${val}`\n))\n```\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["types","ref","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-fp-types-ref","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/fp-types-ref","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34793 github stars · SKILL.md body (2,018 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T00:50:58.908Z","embedding":null,"createdAt":"2026-04-18T21:37:33.493Z","updatedAt":"2026-04-24T00:50:58.908Z","lastSeenAt":"2026-04-24T00:50:58.908Z","tsv":"'/array':193 '/either':161 '/function':142 '/option':151 '/task':182 '/taskeither':172 'abstract':64 'array':194 'ask':15,291 'async':91,173,183,225 'boundari':299 'chain':215 'choic':80 'choos':41 'clarif':293 'clear':266 'code':201 'common':75,131 'compact':72 'core':134 'criteria':302 'decis':22,58 'default':206,209 'describ':270 'e':156 'e.match':251 'e.trycatch':221 'either':44,98,248 'environ':282 'environment-specif':281 'err':252,254 'error':96,99,117,120,253 'exist':153,212 'expert':287 'failur':164,174,185 'fetch':227 'flow':68,137 'fn':214,218 'fn1':234 'fn2':235 'fn3':236 'fp':2,9,27,31,50,77,140,149,159,170,180,191 'fp-ts':8,26,30,49,76,139,148,158,169,179,190 'fp-types-ref':1 'got':246 'guidanc':59 'help':23,40 'import':29,57,132,135,144,154,165,175,186 'input':296 'involv':95,116 'limit':258 'line':198 'match':238,267 'mayb':152,242 'might':102,123 'miss':105,126,304 'need':20,39,200 'noth':244 'nullabl':203 'o':146 'o.flatmap':217 'o.fromnullable':204 'o.getorelse':208 'o.map':213 'o.match':243 'one':197 'one-lin':196 'oper':90 'option':43,107,216,240 'option/either/task':21 'output':276 'pattern':82,199,237 'permiss':297 'pipe':136,231,232,241,249 'quick':5,33 'ref':4 'refer':6,34,73 'relat':48 'requir':295 'result':250 'review':288 'right':63 'riski':222 'run':230 'safeti':298 'scope':269 'select':61 'skill':261 'skill-fp-types-ref' 'source-sickn33' 'specif':283 'stop':289 'substitut':279 'success':162,256,301 'task':45,54,130,265 'taskeith':46,119 'taskopt':128 'te':167 'te.trycatch':226 'test':285 'toerror':223,229 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'transform':210 'treat':274 'try/catch':220 'ts':10,28,32,51,78,141,150,160,171,181,192 'type':3,11,17,52,79,84,143 'typescript':67,133,239 'url':228 'use':12,19,37,87,110,259 'user':14 'util':195 'val':245,247,255,257 'valid':284 'valu':100,103,112,121,124,205,207,233 'want':25,70 'wrap':202,219,224 'yes':97,106,113,118,127","prices":[{"id":"2dd29289-3f27-43fd-8caa-84118661d795","listingId":"ae37ab82-63b6-4e49-aa49-07c35fc0b227","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:37:33.493Z"}],"sources":[{"listingId":"ae37ab82-63b6-4e49-aa49-07c35fc0b227","source":"github","sourceId":"sickn33/antigravity-awesome-skills/fp-types-ref","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/fp-types-ref","isPrimary":false,"firstSeenAt":"2026-04-18T21:37:33.493Z","lastSeenAt":"2026-04-24T00:50:58.908Z"}],"details":{"listingId":"ae37ab82-63b6-4e49-aa49-07c35fc0b227","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"fp-types-ref","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34793,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T00:28:59Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"684615b2557ec14301e485aebc4c50a1952d029b","skill_md_path":"skills/fp-types-ref/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/fp-types-ref"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"fp-types-ref","description":"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."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/fp-types-ref"},"updatedAt":"2026-04-24T00:50:58.908Z"}}