CtrlK
BlogDocsLog inGet started
Tessl Logo

backend-patterns

后端架构模式、API设计、数据库优化以及适用于Node.js、Express和Next.js API路由的服务器端最佳实践。

48

Quality

53%

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 ./docs/zh-CN/skills/backend-patterns/SKILL.md
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.

A well-organized, largely executable TypeScript pattern reference with consistent PASS/FAIL examples, but it is a monolithic ~600-line inline document: no external references, no validation or decision workflow, duplicated caching examples, and some placeholder code that isn't copy-paste ready.

Suggestions

Split the body into one-level-deep reference files (e.g. auth.md, caching.md, queues.md, logging.md) and keep SKILL.md as an overview with clearly signaled links, turning the 600-line monolith into proper progressive disclosure.

Complete or remove the placeholder code — give `vectorSearch` and `execute` real bodies, fill in the repository's remaining methods, and fix the `$$` delimiter in the plpgsql function — to reach copy-paste-ready actionability.

Drop one of the two near-identical Redis caching examples and trim patterns Claude already knows (JWT verify, retry-with-backoff, in-memory rate limiter) to reduce token cost, or point them out as one-liner reminders instead of full classes.

DimensionReasoningScore

Conciseness

Prose is lean, but at ~600 lines the body inlines several patterns Claude already knows well (JWT verification, exponential-backoff retry, an in-memory rate limiter, a Logger class) plus a near-duplicate pair of Redis caching examples ('Redis 缓存层' vs '旁路缓存模式' show almost identical code). Mostly efficient but includes unnecessary sections and could be tightened — anchor 3, not 4 because the duplication and known-pattern boilerplate go beyond minor trimming.

3 / 5

Actionability

Nearly all guidance is concrete, executable TypeScript (repository/service/middleware patterns, N+1 fix, RBAC table, transaction RPC). Not 5 because a few blocks are incomplete placeholders: `private async vectorSearch(...)` and `execute(job)` have empty bodies, the repository shows '// Other methods...', and the SQL function uses a single `$` instead of `$$` as the body delimiter.

4 / 5

Workflow Clarity

The skill is a pattern library with an activation list ('何时激活') but no sequenced process for choosing or applying the patterns, and no explicit validation checkpoints (error handling exists inside individual snippets, but no validate→fix→retry guidance). Anchor 3 ('sequence present but checkpoints missing/implicit'); not 2 because each pattern is internally coherent and consistently shows usage, not 4 because no decision flow or verification steps are given.

3 / 5

Progressive Disclosure

Section headers are clear and well-ordered, but the entire ~600-line reference — far beyond the under-50-line exception — is inlined in SKILL.md with zero reference files (no references/, scripts/, or assets/ exist). Anchor 3 ('some structure… content that should be separate is inline'); not 2 because structure is genuinely good, not 4 because major topics (auth, caching, queues, logging) belong in split-out reference files.

3 / 5

Total

13

/

20

Passed

Description

48%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 identifies its domain and technology niche, but reads as a topic list rather than a capability statement: no concrete actions, and no 'use when' trigger guidance. It would benefit most from an explicit trigger clause and action verbs drawn from the skill's actual coverage.

Suggestions

Add an explicit trigger clause, e.g. '…。当设计 REST/GraphQL 端点、优化数据库查询、添加缓存或实现认证中间件时使用。' to raise completeness beyond the capped 3.

Convert the noun-phrase topic list into concrete action verbs ('设计…API端点', '优化…查询', '实现…认证') to raise specificity from domain-naming to capability-describing.

Include natural trigger keywords the body actually covers — REST, GraphQL, Redis/缓存, JWT/认证, 中间件, 速率限制 — so users searching those terms surface this skill.

DimensionReasoningScore

Specificity

The description enumerates domains — "后端架构模式、API设计、数据库优化…服务器端最佳实践" — but every item is a noun-phrase topic, not a concrete action (no verbs like design/implement/optimize). This matches anchor 2 ('Names the domain but actions are minimal or generic'); it is not 3 because no concrete actions are listed, and not 1 because the domains are specific and named.

2 / 5

Completeness

The 'what' is clear (backend patterns/best practices for the named stacks), but there is no 'use when…' clause or equivalent trigger guidance anywhere in the description. Per the rubric guideline, a missing explicit trigger clause caps completeness at 3, and it does not fall to 2 because the 'what' half is concrete.

3 / 5

Trigger Term Quality

Strong stack-level triggers are present ("Node.js、Express和Next.js API路由"), but common natural terms the skill actually covers are missing: REST, GraphQL, 缓存/Redis, 认证/JWT, 中间件, 速率限制, 日志. This sits between anchor 3 ('relevant keywords but missing common variations') and anchor 4; missing synonyms for roughly half the skill's topics keep it at 3 rather than 4.

3 / 5

Distinctiveness Conflict Risk

Naming the specific runtime/framework niche ("Node.js、Express和Next.js API路由") gives it a distinct trigger surface with only minor overlap risk against other web-dev or database skills. Not 5 because '后端架构模式/服务器端最佳实践' is broad phrasing that could collide with a generic backend or architecture skill.

4 / 5

Total

12

/

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.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (599 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
affaan-m/ECC
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.