CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-async

Practical async patterns using TaskEither - clean pipelines instead of try/catch hell, with real API examples

56

Quality

66%

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

The canonical home for this skill is fp-async 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 content is highly actionable with comprehensive executable TypeScript examples and clear before/after patterns, but it is very long and monolithic with no progressive disclosure into separate reference files. Splitting the reference card and advanced examples into referenced files would improve both conciseness and structure.

Suggestions

Move the Quick Reference Card and the bulk of section 7 (Common Patterns Reference) into a separate REFERENCE.md and link to it, reducing the main body's length.

Collapse the large duplicate before/after blocks in the Before/After Summary section since the same patterns are already shown in the main sections.

Tighten prose around already-shown concepts (e.g. the repeated 'chain vs map' and 'When to Use Each' explanations) to reduce token budget.

DimensionReasoningScore

Conciseness

Per-section prose is efficient and avoids over-explaining basics Claude knows, but the body runs ~960 lines with repeated large before/after blocks and a full inline reference card; the total volume could be tightened considerably.

3 / 5

Actionability

Code is fully executable and copy-paste ready throughout, with complete working examples covering wrapping, chaining, parallel execution, error recovery, retry, and real Prisma/Express/file-IO API usage.

5 / 5

Workflow Clarity

Sections are clearly sequenced by pattern with consistent before/after structure; this is a reference skill so the destructive-workflow validation cap does not apply, though it lacks explicit multi-step procedural checkpoints.

4 / 5

Progressive Disclosure

No bundle files exist and the entire content is a single ~960-line monolithic file; it is well-organized into numbered sections but the API reference and examples that belong in separate files are all inlined.

3 / 5

Total

15

/

20

Passed

Description

61%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 states what the skill does using a concrete, recognizable framing, but omits any explicit 'when to use it' trigger guidance and leans on a single technical anchor term. Adding a 'Use when...' clause with natural trigger phrases would lift completeness and trigger-term quality.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when building async pipelines with fp-ts/TaskEither or replacing nested try/catch in TypeScript async code'.

Include more natural trigger synonyms in the description (e.g. 'async error handling', 'Promise error handling', 'fp-ts') beyond just 'TaskEither'.

List a few concrete actions (wrap promises, chain async ops, recover from errors, run parallel requests) rather than the abstract 'Practical async patterns'.

DimensionReasoningScore

Specificity

Names concrete capabilities like 'async patterns using TaskEither' and 'clean pipelines instead of try/catch hell' with 'real API examples', but describes patterns rather than a comprehensive list of discrete actions.

3 / 5

Completeness

The 'what' is clear (practical async patterns via TaskEither), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3.

3 / 5

Trigger Term Quality

Includes natural terms users would say ('async', 'try/catch', 'pipelines', 'API') plus technical anchor 'TaskEither'; a few common synonyms are missing from the description itself though tags add 'fp-ts', 'error-handling', 'fetch'.

4 / 5

Distinctiveness Conflict Risk

The niche is specific (fp-ts/TaskEither async pipelines) and unlikely to conflict with unrelated skills; minor overlap risk with general TypeScript error-handling skills.

4 / 5

Total

14

/

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