CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pragmatic-fp

Apply 80/20 fp-ts in TypeScript and skip FP when it hurts readability. Use when choosing pipe, Option, or Either, or deciding whether FP helps the code. It does not apply named community styles (that's `code-style-patterns`).

Quality

84%

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

SKILL.md
Quality
Evals
Security

Quality

Content

77%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.

The body is an effective, well-structured router: a clear mode table with verified one-level-deep references, explicit phase gates, a quality checklist, and a feedback loop. Its main cost is token overhead from motivational framing and a philosophy (Functional-Light) cited three times, plus the absence of any inline pattern example.

Suggestions

State the readability principle once: the Golden Rule section repeats the intro's framing ("No category theory. No abstract nonsense... It is not a religion or an end in itself") — trim the rhetorical sentences and keep the rule plus one line of application guidance.

Cite Kyle Simpson's Functional-Light JavaScript in one place (e.g., the intro) instead of three; the modes table and Golden Rule section both re-invoke it.

Add one small inline before/after snippet (e.g., a nested null-check chain vs. pipe/Option) so the body demonstrates a pattern concretely before deferring detail to references/80-20-patterns.md.

DimensionReasoningScore

Conciseness

The body is mostly efficient routing content, but includes unnecessary motivational padding: "cuts through the academic jargon... No category theory. No abstract nonsense. Just patterns that make your code better in practice", "It is not a religion or an end in itself", and the Kyle Simpson / Functional-Light citation repeated in three separate places (intro, modes table, Golden Rule section) with the readability principle restated multiple times. This is more than the 'minor instances' of anchor 4, but the body never explains concepts Claude already knows, so it sits above anchor 2.

3 / 5

Actionability

Guidance is concrete and executable for a directive/routing skill: the modes table maps situations to specific load commands ("Load `references/80-20-patterns.md`"), the Golden Rule is an explicit decision rule, and the phase gates and quality checklist give actionable criteria. The minor gap keeping it from 5 is that no pattern is demonstrated inline — not even a one-line before/after — so all executable FP guidance is deferred to the reference files.

4 / 5

Workflow Clarity

The phase gates ("Core patterns → Apply", "Apply a pattern → Restrain", "Any change → Readability") are explicit validation checkpoints in sequence, the quality checklist provides verification criteria, and "Did this help?" plus the issue-filing path form a feedback loop. This matches anchor 5's explicit validation steps, checklists, and feedback loops; the skill involves no destructive or batch operations, so no cap applies.

5 / 5

Progressive Disclosure

Verified against the actual bundle: all six paths cited in the body exist in references/ (80-20-patterns.md, when-not-to-use.md, quick-wins.md, common-refactors.md, readability-rule.md, limitations.md), and the reference files contain no nested references, so everything is one level deep. The body is a concise overview whose modes table gives clear per-topic navigation, matching anchor 5.

5 / 5

Total

17

/

20

Passed

Description

82%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 strong, well-scoped description: explicit what and when with concrete trigger terms, and an explicit disambiguation clause that reduces conflict risk with sibling skills. The only weaknesses are modest — the action list is compressed to two verbs, and a few natural synonyms (e.g., spelled-out "functional programming") would broaden trigger coverage.

DimensionReasoningScore

Specificity

"Apply 80/20 fp-ts in TypeScript and skip FP when it hurts readability" names the domain and two concrete actions (apply the pragmatic fp-ts subset, skip FP when it hurts readability), matching the anchor for 1-2 concrete actions. It stays at 3 rather than 4 because the description does not list several specific actions — the five patterns and before/after refactors are only named indirectly via "pipe, Option, or Either" in the trigger clause.

3 / 5

Completeness

The description explicitly answers both questions: what ("Apply 80/20 fp-ts in TypeScript and skip FP when it hurts readability") and when, with concrete trigger phrases ("Use when choosing pipe, Option, or Either, or deciding whether FP helps the code"). This matches the anchor-5 pattern and exceeds anchor 4, whose example 'when' clause ("Use when working with PDF files") is generic by comparison.

5 / 5

Trigger Term Quality

"Use when choosing pipe, Option, or Either, or deciding whether FP helps the code" includes the natural terms an fp-ts user would say (pipe, Option, Either, fp-ts, TypeScript), giving good keyword coverage. It falls short of 5 because common synonyms are missing: "functional programming" is only abbreviated as "FP", and variants like Result, TaskEither, or "monadic error handling" are absent.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (pragmatic fp-ts usage in TypeScript) and explicitly disambiguates from a sibling skill: "It does not apply named community styles (that's `code-style-patterns`)". This active boundary marking gives minimal conflict risk, matching anchor 5 rather than anchor 4's 'minor overlap risk'.

5 / 5

Total

17

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

saif-shines/devex-kit

Path

plugins/tooling/skills/pragmatic-fp/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.