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, 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).

75

Quality

94%

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

88%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 strong, highly actionable body: the preflight workflow is explicitly sequenced with validation checkpoints and feedback loops, and every SDK call is executable with exact parameters. The main weaknesses are mild — systematic restatement of the createModel rule and full-replacement warnings across sections, and API-reference material (type definitions, model roster) inlined in a single long file instead of split into a references bundle.

Suggestions

Consolidate the three near-verbatim restatements of the createModel legality rule (the ⛔ STOP section, 'Available Providers and Models', and Best Practices #3) into one canonical section, keeping the others as one-line back-references.

Move the ~35-line Type Definitions block and the managed vendor/model roster into a references/ file (e.g. references/api.md) so SKILL.md stays an overview, and link to it from the code sections.

Drop or shrink the generic 'Error Handling Pattern' try/catch section and Best Practice #7 (wrap AI calls in try/catch) — that is knowledge Claude already has; keep only the SDK-specific guidance such as Best Practice #11 (preflight failure vs model call failure).

DimensionReasoningScore

Conciseness

The body is dense and operational — no filler explaining concepts Claude already knows except the generic try/catch 'Error Handling Pattern' section and Best Practice #7. However, the createModel legality rule is restated near-verbatim across three sections (the '⛔ STOP' table, 'Available Providers and Models', Best Practices #3), and the 'Models is a full replacement' warning and PascalCase/camelCase fallback each appear three times — more than minor trimming opportunity, so not 5; but every repetition concerns non-obvious, high-stakes contract detail rather than known concepts, keeping it above anchor 3.

4 / 5

Actionability

Fully executable throughout: copy-paste MCP calls ('callCloudApi(service="tcb", action="DescribeAIModels", params={ EnvId })'), complete generateText/streamText/init code with output shapes, and exact UpdateAIModel/CreateAIModel parameter blocks including the resend-enabled-models guidance. Matches the 5 anchor (copy-paste ready, common cases covered); not 4 because no pseudocode or missing key details remain.

5 / 5

Workflow Clarity

The two-step preflight is clearly sequenced (Step 0 env id → ① eligibility → ② numbered steps with explicit 'jump to step 4' conditionals), includes explicit pass conditions ('all required'), a stop-and-surface-to-user failure template with a purchase link, a casing-fallback error recovery path on InvalidParameter, and a terminal self-verify checklist ('Run tsc --noEmit + the project build + open the page with agent-browser'). The full-replacement UpdateAIModel batch operation is explicitly guarded, so the batch-op cap does not apply. Matches the 5 anchor's validation steps + feedback loops + checklist.

5 / 5

Progressive Disclosure

Good structure: clear '##' section headers, an early routing/when-to-use section, and well-signaled one-level sibling references ('../auth-tool-cloudbase/SKILL.md', 'auth-web-cloudbase', 'web-development/browser-testing.md'). But everything lives in a single ~330-line file with no bundle files — the ~35-line Type Definitions block and the vendor/model roster are inline API-reference material that belongs in a references/ file. Matches the 4 anchor (good structure, minor organization gaps); not 5 because content that should be split out is inline, not 3 because navigation and sectioning are genuinely clear.

4 / 5

Total

18

/

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 excellent description: it states a concrete capability set (SDK methods, createModel groups, preflight), fires on a comprehensive set of natural trigger terms in both English and Chinese, and cleanly separates itself from sibling skills with explicit not-for clauses. It fully and explicitly answers both 'what' and 'when'.

DimensionReasoningScore

Specificity

Names the SDK ('needs AI models via @cloudbase/js-sdk'), concrete API methods ('Covers generateText and streamText'), the exact createModel group values ('cloudbase, hunyuan-exp, or custom-*, model id in the `model` field'), and 'MUST run two-step preflight before code'. Comprehensive concrete actions with no coverage gaps, matching the 5 anchor; not 4 because there is nothing significant missing from the domain coverage.

5 / 5

Completeness

Explicitly answers both what ('needs AI models via @cloudbase/js-sdk... Covers generateText and streamText; models via ai.createModel') and when ('Use this skill when a browser/Web app... needs AI models'), with concrete trigger phrases plus explicit exclusions. Matches the 5 anchor exactly; the 'when' is neither missing nor weakly implied, ruling out 4 and below.

5 / 5

Trigger Term Quality

'browser/Web app (React, Vue, Next, Nuxt, static sites, SPAs, dashboards, AI chat UI, 页面, 前端, 网页)' covers natural user phrasing, framework names, and Chinese synonyms users would actually say. Matches the 'comprehensive coverage of natural terms including synonyms' anchor; not 4 because no common variation or synonym is missing.

5 / 5

Distinctiveness Conflict Risk

'NOT for Node.js backend (use ai-model-nodejs), Mini Program (use ai-model-wechat), or image generation' plus the browser-only routing stance ('call directly from the browser, do NOT propose a Node.js proxy') give it a clear niche with explicit negative routing to every sibling skill. Minimal conflict risk; not 4 because the boundary is explicit rather than merely implied.

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

connectors/cloudbase-intl/skills/references/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.