CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ai-model-web

Use this skill when a browser/Web app (React, Vue, Next, Nuxt, static sites, SPAs, dashboards, AI chat UI, 页面, 前端, 网页) needs AI models via @cloudbase/js-sdk. Default routing for Web/frontend AI — call directly from the browser, do NOT propose a Node.js proxy. Covers generateText and streamText; models via ai.createModel with groups cloudbase, the legacy hunyuan-v3 / hunyuan-exp, or custom-*, model id in the `model` field. MUST run two-step preflight before code — see body. NOT for Node.js backend (use ai-model-nodejs), Mini Program (use ai-model-wechat), or image generation (Node SDK only).

Quality

90%

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

The canonical home for this skill is ai-model-web in TencentCloudBase/CloudBase-AI-Toolkit

SKILL.md
Quality
Evals
Security

Quality

Content

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

Operationally excellent content: the anti-hallucination createModel contract, mandatory preflight with validation checkpoints, and executable code examples make it highly reliable for an agent to follow. The main costs are heavy repetition of the same safety rules across sections and a monolithic single-file structure that inlines material (type definitions, model catalog, onboarding) better served by reference files.

Suggestions

Consolidate the repeated 'never assume a model is enabled → DescribeAIModels → UpdateAIModel' guidance into one authoritative section (e.g. preflight ②) and reference it from the STOP table, providers section, and Best Practices instead of restating it five times.

Move the Type Definitions block, the provider/model catalog details, and the custom-onboarding walkthrough into a references/ file (e.g. references/models.md, references/types.ts) linked one level deep from the body, keeping SKILL.md as a routing-and-workflow overview.

Trim duplicated emphasis of the custom- prefix rule (stated in the STOP table, providers section, CreateAIModel params, and Best Practices #3) to a single normative statement plus one cross-reference.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious operational facts and avoids explaining concepts Claude already knows, but the same critical rules are repeated many times: 'Never assume any model is already enabled' → DescribeAIModels → UpdateAIModel appears in the STOP table, decision procedure, preflight ②, the providers section, the generateText prerequisite, and Best Practices #1–#2; the custom- prefix rule appears ~4 times. This matches 'Mostly efficient but includes some unnecessary explanation or could be tightened' — consolidating repetitions would cut the file substantially. Not a 2 because nearly every passage carries SDK-specific contract details rather than generic padding.

3 / 5

Actionability

Fully executable throughout: exact MCP invocations with parameter objects (DescribeAIModels, DescribeManagedAIModelList, UpdateAIModel), copy-paste-ready SDK code for init/generateText/streamText/error handling, a wrong-vs-right table for createModel arguments, and complete TypeScript type definitions. Matches 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

The mandatory preflight is a clearly sequenced workflow (Step 0 EnvId → ① eligibility → ② group readiness) with explicit pass/fail conditions, error-recovery fallbacks (InvalidParameter → camelCase retry), a feedback loop (check DescribeAIModels → enable via UpdateAIModel → re-verify), and a final self-verification checklist (tsc --noEmit, browser test, non-zero usage). Matches 'Clear sequence with explicit validation steps; feedback loops for error recovery; checklists'.

5 / 5

Progressive Disclosure

Section headers are clear and sibling-skill references are one level deep and well signaled, but the skill is a monolithic ~395-line file with no reference bundle: Type Definitions, the provider/model catalog, and the custom-onboarding guide are all inlined content that clearly belongs in separate files. This sits between anchor 2 ('content that clearly belongs in separate files is inlined') and anchor 3 ('some structure ... content that should be separate is inline') — the good in-file organization pulls it to 3.

3 / 5

Total

16

/

20

Passed

Description

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

An exemplary skill description: concrete capabilities, explicit routing decisions, comprehensive natural-language triggers (including Chinese variants), and crisp negative boundaries against sibling skills. Every sentence carries routing or capability information with no fluff.

DimensionReasoningScore

Specificity

Multiple concrete actions are named with full specificity: 'Covers generateText and streamText; models via ai.createModel with groups cloudbase, the legacy hunyuan-v3 / hunyuan-exp, or custom-*, model id in the `model` field' plus 'MUST run two-step preflight before code'. This matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' — no generic filler actions appear.

5 / 5

Completeness

Both questions are explicitly answered: what ('Covers generateText and streamText; models via ai.createModel...') and when ('Use this skill when a browser/Web app ... needs AI models via @cloudbase/js-sdk', plus explicit negative triggers 'NOT for Node.js backend ... Mini Program ... image generation'). This matches the anchor 'Clearly and explicitly answers both what AND when with concrete trigger phrases'.

5 / 5

Trigger Term Quality

Trigger coverage is comprehensive including synonyms and multilingual variants: 'browser/Web app (React, Vue, Next, Nuxt, static sites, SPAs, dashboards, AI chat UI, 页面, 前端, 网页)'. These are the natural phrases a user would say when needing this skill; score 4 ('a few natural terms missing') fits worse since framework names, app types, and Chinese equivalents are all present.

5 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche ('Default routing for Web/frontend AI — call directly from the browser, do NOT propose a Node.js proxy') and explicitly redirects every adjacent scenario to a named sibling skill (ai-model-nodejs, ai-model-wechat). Minimal conflict risk, matching the 'Clear niche with distinct triggers' anchor.

5 / 5

Total

20

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

TencentCloudBase/CloudBase-AI-Toolkit

Path

config/.claude/skills/ai-model-web/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.