CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-backend

Functional programming patterns for Node.js/Deno backend development using fp-ts, ReaderTaskEither, and functional dependency injection

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/skills/fp-backend/SKILL.md

The canonical home for this skill is fp-backend 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 body is a rich, mostly-executable fp-ts pattern library with strong code examples across services, DI, transactions, middleware, and testing, but it is a monolithic inline reference with no progressive disclosure and lacks validation feedback loops for its database/destructive operations.

Suggestions

Move the large peripheral sections (Database Operations, Middleware Patterns, Testing Strategies, Error Recovery) into reference files under references/ and link to them one level deep, keeping SKILL.md as a concise overview.

Add explicit validation checkpoints and retry/feedback loops to the transaction and destructive DB-operation examples to satisfy the workflow-clarity feedback-loop requirement.

Fix the malformed logWithContext snippet so every code block is copy-paste executable.

DimensionReasoningScore

Conciseness

The ~1300-line body is mostly code with little padding of concepts Claude already knows, but it covers both Express and Hono middleware plus three testing strategies, so it 'could be tightened' — fitting 'mostly efficient but includes some unnecessary sections' rather than the lean anchor at 5.

3 / 5

Actionability

Nearly all sections provide copy-paste-ready TypeScript (service modules, DI container, Prisma wrappers, transactions, middleware), but the logWithContext snippet is malformed ('loggerlevel,' and a broken object literal), a concrete gap that prevents the fully-executable anchor at 5.

4 / 5

Workflow Clarity

Content is organized as a topical pattern catalog (Core Concepts, Service Layer, DI, DB Ops, Middleware, Errors, Testing) rather than a sequenced workflow, and the database/transaction sections lack explicit validate→fix→retry feedback loops, so it sits at 'sequence present but checkpoints missing'.

3 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ absent) and all ~1300 lines are inline; section headers provide 'some structure', but content that clearly belongs in separate reference files (DB ops, middleware, recovery, testing) is inlined with no one-level-deep references, fitting the anchor at 3 rather than a well-split structure at 4-5.

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 is specific and technically distinctive, naming concrete tools (fp-ts, ReaderTaskEither) and a clear niche, but it omits any explicit 'Use when...' trigger guidance, which caps its completeness and weakens trigger-term naturalness.

Suggestions

Add an explicit trigger clause, e.g. 'Use when building type-safe Node.js/Deno backends with fp-ts, ReaderTaskEither, or functional dependency injection.'

Include natural user-facing synonyms ('TaskEither', 'functional backend', 'Reader monad') alongside the technical terms to improve trigger-term coverage.

Reframe the description to list concrete actions (e.g. 'structure services as RTE functions, build dependency containers, wrap Prisma transactions') rather than only naming tools.

DimensionReasoningScore

Specificity

Quotes 'Functional programming patterns for Node.js/Deno backend development using fp-ts, ReaderTaskEither, and functional dependency injection' — names the domain and several concrete technologies/patterns, but enumerates tools rather than listing multiple distinct actions, so it sits at the 'names domain and 1-2 concrete actions' anchor rather than the comprehensive multi-action anchor at 5.

3 / 5

Completeness

The 'what' is clearly stated ('Functional programming patterns for Node.js/Deno backend development using fp-ts...') but there is no 'Use when...' clause or equivalent trigger guidance, which per the judging guidelines caps completeness at 3 ('clear what but when missing or only weakly implied').

3 / 5

Trigger Term Quality

Terms like 'fp-ts', 'ReaderTaskEither', 'functional dependency injection' are relevant but technical; natural user phrasings and synonyms (e.g. 'functional backend', 'TE/TaskEither') are absent, matching 'some relevant keywords but missing common variations or synonyms' rather than the fuller coverage at 4.

3 / 5

Distinctiveness Conflict Risk

The combination of 'fp-ts', 'ReaderTaskEither', and 'functional dependency injection' carves a clear niche unlikely to fire for unrelated skills, but it overlaps mildly with general TypeScript/backend skills, fitting 'mostly distinct; minor overlap risk' rather than the minimal-conflict anchor at 5.

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 (1335 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.