CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-refactor

Comprehensive guide for refactoring imperative TypeScript code to fp-ts functional patterns

50

Quality

55%

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

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/fp-refactor/SKILL.md

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

SKILL.md
Quality
Evals
Security

Quality

Content

57%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 content is highly actionable with rich before/after fp-ts examples, but it is over-long for a single SKILL.md: it over-explains known tradeoffs, lacks explicit validation feedback loops in its refactor workflows, and inlines everything that would benefit from reference-file splitting.

Suggestions

Trim or remove the "The Problem with X" subsections and large imperative "before" blocks — assume Claude knows imperative TypeScript and focus tokens on the fp-ts patterns.

Add explicit validation feedback loops to the step-by-step guides (e.g. after changing return types, run `tsc --noEmit`, fix reported call sites, re-run until clean).

Split the monolith: keep a concise overview with the quick-reference mapping in SKILL.md and move per-pattern before/after examples and pitfalls into one-level-deep reference files (e.g. PATTERNS.md, PITFALLS.md).

DimensionReasoningScore

Conciseness

The body is mostly concrete before/after code, but the recurring "The Problem with try-catch/null/callbacks/DI" subsections over-explain tradeoffs Claude already knows, and large imperative "before" blocks pad the token budget.

3 / 5

Actionability

Extensive executable TypeScript with real fp-ts imports, step-by-step guides, and a quick-reference mapping table; minor gaps from `/* ... */` stubs in the strategy section and undefined shared types (User, Post, Order).

4 / 5

Workflow Clarity

Numbered step-by-step guides and gradual-adoption phases give a sequence, but validation checkpoints are implicit ("test thoroughly") rather than explicit refactor→typecheck→fix loops, despite migration being a risky operation.

3 / 5

Progressive Disclosure

The file has good structure (table of contents, clear section headers) but is a ~1,765-line monolith with no bundle/reference files; the pitfalls and quick-reference content clearly belong in separate one-level-deep reference files.

3 / 5

Total

13

/

20

Passed

Description

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

The description names a specific, distinctive niche but is light on detail: one composite action, limited trigger terms, and no explicit "when to use" clause. It reads more like a title than a trigger-rich skill description.

Suggestions

Add a "Use when..." clause naming concrete triggers, e.g. "Use when migrating imperative try/catch, null checks, callbacks, or Promise chains to fp-ts Either/Option/Task/Reader."

List the concrete refactoring actions the skill covers (try-catch→Either, null checks→Option, callbacks→Task, class DI→Reader) instead of one generic "refactoring" verb.

Drop the filler "Comprehensive guide for" to sharpen specificity and keep the description concise.

DimensionReasoningScore

Specificity

The phrase "refactoring imperative TypeScript code to fp-ts functional patterns" names the domain and one concrete composite action, but does not enumerate multiple distinct actions; "Comprehensive guide for" is filler.

3 / 5

Completeness

It clearly states what the skill does, but provides no "Use when..." trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Includes natural terms like "fp-ts", "TypeScript", "refactoring", and "functional patterns", but misses the concrete constructs users actually mention (Either, Option, TaskEither, Reader, migration).

3 / 5

Distinctiveness Conflict Risk

The fp-ts-specific niche (refactoring imperative TS to a particular library's patterns) is clearly distinguishable with only minor overlap risk against generic TypeScript skills.

4 / 5

Total

13

/

20

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1784 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.