CtrlK
BlogDocsLog inGet started
Tessl Logo

factory-function-composition

Factory function patterns to compose clients and services. Use when wrapping resources with domain methods or refactoring mixed client/service/method options.

67

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

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

A well-organized, code-heavy pattern skill: concrete examples, useful anti-patterns, and decision rules, with genuine on-demand references. The main improvement levers are trimming the restated two-argument rule and Benefits padding, and moving the structural-contracts/collapsed-adapter material into a reference file to slim the main body.

Suggestions

Consolidate the two-argument rule — stated in 'The Universal Signature', 'The Core Pattern', and 'Key Principles' — into a single statement, and cut or shrink the Benefits section to pure padding-free content.

Move the 'Structural Contracts' / collapsed-adapter material into a new references/ file (like single-or-array-pattern.md) and keep a short summary plus a 'Load on demand' link in the body.

Fill in or trim the ellipsis-bodied examples (e.g., `connect() { ... }`, `watch(fn) { /* ... */ }`) so remaining examples are fully executable.

DimensionReasoningScore

Conciseness

The body assumes Claude's TypeScript competence — no concept tutorials or library comparisons — but restates the two-argument rule three times ('Two arguments max... No exceptions', Key Principles, Universal Signature) and the Benefits section reads as filler. It is not 5 because of this minor redundancy, and not 3 because padding is limited to a few spots rather than whole sections.

4 / 5

Actionability

Concrete TypeScript examples dominate the body (core pattern, multiple dependencies, four-zone shape), plus actionable decision aids (the `this` decision table, adapter stay/collapse signs). It is not 5 because several later examples use ellipsis bodies (`connect() { ... }`, `watch(fn) { /* ... */ }`) making them pattern illustrations rather than copy-paste-ready code, and not 3 because the examples are still concrete and specific, with key details present.

4 / 5

Workflow Clarity

This is a pattern-application skill rather than a multi-step procedure, and the single action (apply the factory pattern) is unambiguous: recognize the signature, spot the four anti-patterns, follow the zone ordering and decision rules. It is not 5 because there is no explicit sequence tying the sections into an ordered application procedure, and not 3 because the anti-pattern catalog and decision rules function as clear checkpoints.

4 / 5

Progressive Disclosure

The 'Load on demand' section cleanly signals two one-level-deep references, both of which exist in references/, each with a description of when to load it. It is not 5 because the ~320-line body inlines substantial specialized material (structural contracts, the collapsed-adapter rule, the four-zone anatomy) that could itself be split into a reference file, and it also leans on five external article paths outside the bundle.

4 / 5

Total

16

/

20

Passed

Description

87%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 description: third-person, concise, with a clear 'what' and an explicit 'Use when...' clause containing concrete, natural trigger phrases. Its only weakness is trigger-term breadth — a few common synonyms for the domain are absent.

DimensionReasoningScore

Specificity

The description lists several concrete actions — 'compose clients and services', 'wrapping resources with domain methods', 'refactoring mixed client/service/method options' — with only minor coverage gaps (e.g., structural contract satisfaction covered in the body is absent). It is not 3 because it goes beyond 1-2 actions and every action is domain-specific, and not 5 because coverage is not comprehensive of the skill's full scope.

4 / 5

Completeness

It explicitly answers both what ('Factory function patterns to compose clients and services') and when ('Use when wrapping resources with domain methods or refactoring mixed client/service/method options') with concrete trigger phrases, matching the top anchor.

5 / 5

Trigger Term Quality

Phrases like 'factory function', 'compose clients and services', 'wrapping resources with domain methods', and 'refactoring mixed client/service/method options' are terms a TypeScript user would naturally say. It is not 5 because common synonyms such as 'dependency injection', 'service layer', or 'create* function' variants are missing.

4 / 5

Distinctiveness Conflict Risk

'Factory function patterns' is a clear niche with distinct triggers (wrapping resources, refactoring mixed options), unlikely to fire for unrelated skills; voice is appropriately third-person.

5 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 6 suspicious

Warning

Total

15

/

16

Passed

Repository
EpicenterHQ/epicenter
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.