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

72

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.

The body delivers an exceptionally actionable, well-gated workflow — exact tool calls, pass/fail conditions, feedback loops, and a self-verification checklist — and the anti-hallucination framing around createModel is well targeted. Its weaknesses are repetition of the same rules across multiple sections and a fully monolithic structure with no reference files, despite content (Type Definitions, provider catalog) that would naturally split out.

Suggestions

Consolidate the createModel argument rules into one authoritative section: the STOP table, the 'Available Providers and Models' section, and Best Practices #2–#3 each restate the same three legal values and the 'never guess' warning — keep the STOP table plus one best-practice pointer and drop the duplicated prose.

Move the Type Definitions block (and optionally the provider/model catalog and custom-onboarding detail) into a references/ file (e.g. references/types.md), keeping a one-line link in SKILL.md so the main body stays a lean overview with one-level-deep references.

Trim the repeated 'never assume a model is enabled' warnings (~5 occurrences) to the two places where the action is performed — the decision procedure and preflight ② — and reference them from Best Practices instead of restating them.

DimensionReasoningScore

Conciseness

The body restates the same operational rules multiple times: the createModel argument rules appear three times in full (the STOP table, the Available Providers section, and Best Practices #2–#3), and "never assume a model is enabled / verify with DescribeAIModels" appears ~5 times (e.g. "Never assume the model is already enabled", "No model is enabled by default", "Never assume any model is already enabled"). This fits the score-3 anchor (mostly efficient but could be tightened) rather than score 4, because the repetition is more than minor; it is above score 2 because nothing explains concepts Claude already knows — the density is deliberate anti-hallucination emphasis, not padding.

3 / 5

Actionability

Fully executable throughout: exact MCP calls with service/action/params (callCloudApi(service="tcb", action="DescribeEnvPostpayPackage", params={ EnvId })), field-level pass conditions (postpayPackageId starts with pkg_tcb_tokencredits_, status not in [3,4]), full-replacement semantics for UpdateAIModels' Models[] with a commented resend template, copy-ready JS for init/generateText/streamText/error handling, console URLs, and Type Definitions. Matches the score-5 anchor (copy-paste ready, common cases covered); score 4 would require minor gaps in the covered cases.

5 / 5

Workflow Clarity

The two-step preflight is a clearly sequenced procedure (Step 0: queryEnv → ① eligibility → ② group readiness with numbered branches), with explicit validation gates (❌ stop and surface the purchase link / ✅ proceed), jump instructions for missing models, a fallback feedback loop ("fall back to camelCase on InvalidParameter"), post-onboarding confirmation via DescribeAIModels, a preflight-vs-runtime failure distinction (Best Practice #11), and a self-verify checklist (tsc --noEmit, build, open the page, confirm non-zero usage). Matches the score-5 anchor: explicit validation steps, feedback loops, and a checklist.

5 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), so everything — including a Type Definitions API reference section, the provider/model catalog, and custom-onboarding detail — is inlined in a single ~370-line SKILL.md, well past the 'under 50 lines with no need for external references' carve-out. Section headers are clear and sibling-skill navigation is well signaled, so it sits above the score-2 anchor (unstructured inline dump), but content that belongs in a separate reference file is inlined with no reference layer at all, matching the score-3 anchor; score 4 would require the split to be mostly done with only minor gaps.

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.

The description is exemplary: it names the SDK, the concrete API surface (generateText/streamText, createModel groups), the routing default, and the preflight requirement, and it scopes itself with both positive triggers (framework names, Chinese synonyms) and explicit NOT-for boundaries pointing to sibling skills. All four dimensions land on the top anchors with no fluff or over-claims.

DimensionReasoningScore

Specificity

Enumerates concrete capabilities — "Covers generateText and streamText; models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*, model id in the `model` field" — plus explicit routing behavior ("call directly from the browser, do NOT propose a Node.js proxy") and a mandatory two-step preflight. This matches the score-5 anchor (multiple specific concrete actions, comprehensive coverage); score 4 would require a noticeable coverage gap, and there is none.

5 / 5

Completeness

It explicitly answers both halves: what ("generateText and streamText", "ai.createModel with groups cloudbase, hunyuan-exp, or custom-*") and when ("Use this skill when a browser/Web app ... needs AI models via @cloudbase/js-sdk"), reinforced with negative triggers ("NOT for Node.js backend ..., Mini Program ..., or image generation"). Matches the score-5 anchor with concrete trigger phrases; score 4 would require the 'when' to be less explicit, which it is not.

5 / 5

Trigger Term Quality

"React, Vue, Next, Nuxt, static sites, SPAs, dashboards, AI chat UI, 页面, 前端, 网页" covers the natural phrases a user would say, including framework names and non-English synonyms. This is the comprehensive-with-synonyms anchor at 5; score 4 would mean a few natural terms are missing, and the description includes even the colloquial variations for its audience.

5 / 5

Distinctiveness Conflict Risk

A clear niche — in-browser AI via @cloudbase/js-sdk — with explicit routing away from the nearest-conflict siblings ("use ai-model-nodejs", "use ai-model-wechat", "use the http-api-cloudbase skill"). Matches the clear-niche/minimal-conflict anchor at 5; score 4 would require residual overlap risk with closely related skills, but the description actively disambiguates each one.

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

plugin/cloudbase/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.