CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

vue-best-practices

Vue 3 TypeScript, vue-tsc, Volar, Vite, component props, testing, composition API.

Quality

49%

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 ./bcs-services/bcs-project-manager/.cursor/skills/vue-best-practices/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

25%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 well-organized rule index whose entire value proposition — loading detail from rules/*.md files — is broken, because none of the 17 referenced files exist in the bundle. Combined with a fully redundant resource re-listing and a closing note pointing to non-existent IF-THEN rules, the skill provides navigation to nowhere and no standalone executable guidance.

Suggestions

Ship the actual rules/ directory (all 17 files referenced by the tables) or remove the links — a progressive-disclosure skill whose every reference is dangling is unusable.

Delete the duplicated "📦 可用资源" section; the rule tables already list every file, so it is ~20 lines of pure token waste.

Replace the note about non-existent "IF-THEN 规则" with an explicit lookup procedure, e.g. "Match the user's error message or symptom to the Keyword column, then load the linked rule file and follow its fix."

DimensionReasoningScore

Conciseness

The two rule tables are lean, but the entire "📦 可用资源" section (17 bullet lines re-listing every rules/*.md path) is pure duplication of the table links, and the closing note "根据 SKILL.md 中的 IF-THEN 规则判断是否需要加载" references IF-THEN rules that do not exist in the body. That is a substantial padded section, matching "Noticeably verbose; several unnecessary explanations or padded sections". It is not 1 because the core tables carry real, non-redundant information; it is not 3 because roughly a third of the body is duplicated or dangling content rather than minor tightening.

2 / 5

Actionability

The body is a pure index: rule names, keywords, and one-line descriptions like "Catch undefined components in templates" and "Fix Volar 3.0 upgrade issues" with no code, commands, or concrete fix steps anywhere — "Minimal concrete guidance; high-level hints but missing the specific steps to execute". It is not 1 because the table rows do give actionable pointers (rule file, matching keywords, fix intent); it is not 3 because none of the promised detail is actually loadable — the referenced rules/ files do not exist in the bundle, so the guidance never becomes executable.

2 / 5

Workflow Clarity

No process is stated at all: there is no sequence (e.g., "match the user's error to keyword column → load the rule file → apply the fix" is never written), no checkpoints, and the only steering note points to non-existent "IF-THEN 规则". This fits "Rough sequence present but many gaps; steps poorly defined; validation absent" — the table structure implies a lookup pattern but nothing is explicit. It is not 1 because the keyword→rule tables do form a coherent, if implicit, navigation affordance.

2 / 5

Progressive Disclosure

Although references are well signaled and one level deep (rule tables linking rules/*.md), every one of the 17 referenced files is missing from the bundle — there is no rules/ directory, so the entire disclosure structure is dangling. Scoring against the actual bundle structure, broken references plus the redundant skill:// re-listing match "Minimal structure; ... references are buried" in effect: navigation leads nowhere. It is not 3 because the problem is not unclear signaling but total non-existence of the referenced content; it is not 1 because the body itself is sectioned into coherent, link-organized tables rather than a monolithic wall.

2 / 5

Total

8

/

20

Passed

Description

51%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 a keyword tag list rather than a capability statement: it identifies the Vue 3 TypeScript tooling niche well (excellent distinctiveness, good trigger terms) but describes no actions and gives no "Use when..." guidance, leaving both the 'what' and especially the 'when' under-specified.

Suggestions

Convert the tag list into a third-person action statement, e.g. "Fixes Vue 3 TypeScript tooling issues: template type-check errors (vue-tsc strictTemplates), fallthrough attributes, CSS module typos, and Volar/Vite configuration problems."

Add an explicit trigger clause: "Use when the user mentions vue-tsc, Volar, Vite, .vue files, template type errors, or Vue 3 composition API typing issues."

Include natural problem phrases users would actually say (e.g., "undefined component", "cannot find module", "slow save", "HMR not working") that the rule table keywords already cover.

DimensionReasoningScore

Specificity

The description is a bare keyword tag list — "Vue 3 TypeScript, vue-tsc, Volar, Vite, component props, testing, composition API" — that names the domain and tools but contains no action verbs whatsoever, matching the anchor "Names the domain but actions are minimal or generic". It is not score 1 because it is not abstract or vague about the domain (concrete tool names are given), and not score 3 because there are no "1-2 concrete actions" — zero actions are described.

2 / 5

Completeness

There is a vague "what" (a domain tag list implying Vue TypeScript tooling topics) and no "when" clause at all — no "Use when..." or equivalent trigger guidance, which per the guidelines caps completeness at 3; the vague what pushes it to anchor 2 ("Has a vague 'what' and no 'when'"). It is not 3 because the anchor requires a clear 'what', which a keyword cloud without any stated actions is not.

2 / 5

Trigger Term Quality

Terms like "component props", "testing", "composition API", "vue-tsc", "Volar", and "Vite" are natural phrases a Vue developer would say, giving good keyword coverage. It is not 5 because common synonyms and problem-shaped trigger phrases are missing (e.g., "template type errors", "cannot find module", "defineModel", "Pinia", ".vue files"), and not 3 because coverage goes beyond just "some relevant keywords" — the main tool ecosystem is named.

4 / 5

Distinctiveness Conflict Risk

"Vue 3 TypeScript, vue-tsc, Volar, Vite" carves out a clear niche (Vue 3 TypeScript tooling) with distinct, unlikely-to-collide triggers — a user mentioning these terms almost certainly needs this skill over a generic JS/TS skill. No neighboring anchor fits better: the trigger set is specific and low-overlap.

5 / 5

Total

13

/

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: 17 missing

Warning

Total

15

/

16

Passed

Repository

TencentBlueKing/bk-bcs

Path

bcs-services/bcs-project-manager/.cursor/skills/vue-best-practices/SKILL.md

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.