CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

fp-types-ref

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.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is fp-types-ref in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

92%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exemplary lean quick reference: the decision tree makes type selection unambiguous, code is concrete and mostly copy-paste ready, and every section earns its tokens. The only real flaw is the undefined `toError` reference in the tryCatch examples, which slightly dents executability.

DimensionReasoningScore

Conciseness

The body is a lean quick reference: an ASCII decision tree, imports with one-word mnemonics ("Maybe exists", "Success or failure"), a one-line patterns table, and two match snippets. There is no padding and no explanation of concepts Claude already knows — every token earns its place, matching anchor 5.

5 / 5

Actionability

Concrete, executable TypeScript throughout: the decision tree resolves every branch (async/error/missing) to a concrete type, and the match examples are valid fp-ts v2 code. Minor gaps keep it below anchor 5: `toError` is used in `E.tryCatch`/`TE.tryCatch` without being imported or defined, and the one-line patterns table entries are fragments rather than complete statements.

4 / 5

Workflow Clarity

This is a simple, single-purpose skill (help choosing and using an fp-ts type) and its single action is unambiguous: the decision tree covers all combinations of async/error/missing and every branch resolves to a definitive answer. No destructive or batch operations exist, so the validation cap does not apply; the simple-skill exception yields a 5.

5 / 5

Progressive Disclosure

A short (~60-line) quick reference with well-organized sections (type selection, imports, one-line patterns, pattern matching) and no bundle files. Nothing here warrants separation into external files, so per the simple-skill exception for short skills with no need for external references, well-organized sections alone score 5.

5 / 5

Total

19

/

20

Passed

Description

73%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A concise, third-person description with an explicit and fairly specific when-clause and a clearly bounded niche. The main weakness is the what-statement: "Quick reference for fp-ts types" is generic and undersells the concrete capabilities (decision tree, imports, patterns) the body actually delivers.

Suggestions

Replace the generic what-statement with concrete actions, e.g. "Provides a decision tree for choosing between Option, Either, Task, TaskEither, and TaskOption, plus common imports and one-line fp-ts patterns."

Add trigger synonyms users actually say, such as "Maybe", "TaskEither", "functional error handling", or "pipe/flow", to broaden natural-term coverage.

Reflect the body's pattern-matching content (O.match/E.match) in the capability list so the description covers everything the skill offers.

DimensionReasoningScore

Specificity

The description names the domain ("Quick reference for fp-ts types") and the trigger clause implies a couple of concrete functions ("which type to use", "decision help", "fp-ts imports"), but the what-statement itself carries no concrete actions and coverage is not comprehensive — pattern matching and one-line patterns from the body are unmentioned. It is above anchor 2 (bare domain naming) but below anchor 4 (several specific actions listed).

3 / 5

Completeness

Both parts are present: a clear what ("Quick reference for fp-ts types") and an explicit when-clause ("Use when user asks which type to use, needs Option/Either/Task decision help, or wants fp-ts imports"). It falls short of anchor 5 because the what is thin and generic — it does not enumerate the concrete capabilities (type decision tree, imports, common patterns) the way the anchor-5 example does.

4 / 5

Trigger Term Quality

Natural user phrasings are present — "which type to use", "Option/Either/Task decision help", "fp-ts imports" — which a user needing this skill would plausibly say. A few natural terms are missing (synonyms like "Maybe", "TaskEither", "functional error handling"), keeping it below anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The description is tightly scoped to the fp-ts niche with distinct triggers (fp-ts, Option/Either/Task type names), so it is unlikely to fire for unrelated skills. This matches anchor 5's clear-niche, minimal-conflict profile.

5 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/fp-types-ref/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.