CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-data-transforms

Everyday data transformations using functional patterns - arrays, objects, grouping, aggregation, and null-safe access

58

Quality

68%

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-data-transforms/SKILL.md

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

SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable with comprehensive, executable TypeScript examples and clear decision guidance, but it is verbose from duplicated imperative-then-functional treatment and is a monolithic 1500-line file that would benefit from progressive disclosure into reference files.

Suggestions

Trim the imperative-then-functional duplication and "Why functional is better here" essays; lead with the functional approach and note trade-offs only where the imperative version genuinely wins.

Split bulk material into one-level-deep reference files (e.g., references/fp-ts.md, references/real-world-examples.md, references/normalization.md) and link them from a concise overview, lifting progressive disclosure.

Fix redeclared consts in alternative-snippet blocks (e.g., calculateTotal, getActivePremiumNames, first, user) and ensure fp-ts imports are present in every snippet that uses them.

DimensionReasoningScore

Conciseness

Content is code-dense and accurate, but every operation duplicates an imperative for-loop version and adds a "Why functional is better here" essay, producing ~1500 lines that could be tightened; matches anchor 3 rather than 4 due to this removable padding.

3 / 5

Actionability

Extensive copy-paste-ready TypeScript covers map/filter/reduce, pick/omit/merge, groupBy/countBy/sumBy, null-safe access, and fp-ts Option/pipe plus real-world examples, fully covering the common cases per anchor 5.

5 / 5

Workflow Clarity

As a reference/recipe skill with no risky multi-step workflow, it provides a TOC, numbered sections, a "When to Use What" decision guide, and a summary table giving clear navigation; matches anchor 4 with minor gaps.

4 / 5

Progressive Disclosure

No bundle files exist and everything is inlined in one ~1500-line file; although internal structure (TOC, headers) is good, content that would benefit from separate reference files (fp-ts reference, real-world examples, the normalization walkthrough) is all inline with no references, matching anchor 3.

3 / 5

Total

15

/

20

Passed

Description

66%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 clearly communicates the skill's scope with several concrete topic areas, but omits any explicit "Use when..." trigger guidance, capping its completeness. Trigger terms are good but missing common synonyms.

Suggestions

Add a "Use when..." clause naming concrete triggers (e.g., grouping data, aggregating totals, normalizing API responses, safely accessing nested object fields).

Replace jargon-leaning phrases like "functional patterns" and "null-safe access" with more user-natural synonyms such as "merge and reshape objects" and "safely read nested values".

Lead with concrete verbs (group, aggregate, normalize, merge) rather than noun lists to raise specificity toward anchor 5.

DimensionReasoningScore

Specificity

Lists several concrete areas — "arrays, objects, grouping, aggregation, and null-safe access" — matching anchor 4; not 5 because these are topic nouns rather than comprehensive concrete verbs, not 3 because more than 1-2 are named.

4 / 5

Completeness

The description gives a clear "what" but has no "Use when..." clause or equivalent trigger guidance, which caps completeness at 3 per the rubric guidelines.

3 / 5

Trigger Term Quality

"arrays", "objects", "grouping", "aggregation" are natural user terms, but "functional patterns" and "null-safe access" lean technical and common synonyms (normalize, merge, sum by) are missing, matching anchor 4.

4 / 5

Distinctiveness Conflict Risk

The functional-patterns framing plus specific transform categories carve a fairly distinct niche with only minor overlap risk against general data or FP skills, matching anchor 4.

4 / 5

Total

15

/

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