CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ai-model-nodejs

Use this skill for Node.js backend AI via @cloudbase/node-sdk (>=3.16.0) — cloud functions, CloudRun, Express/Koa/NestJS, serverless APIs, scheduled jobs, LLM proxies, agent orchestration. The only SDK supporting image generation (ai.createImageModel + generateImage). Text via ai.createModel with groups cloudbase, the legacy hunyuan-v3 / hunyuan-exp, or custom-*; model ids (e.g. deepseek-v4.1-flash, glm-5.3, kimi-k2.6) go in the `model` field of generateText/streamText. MUST run two-step preflight before code — see body. NOT for browser/Web (use ai-model-web) or Mini Program (use ai-model-wechat).

Quality

91%

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-nodejs in TencentCloudBase/CloudBase-AI-Toolkit

SKILL.md
Quality
Evals
Security

Quality

Content

81%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 skill body: the preflight workflow is sequenced with explicit validation and recovery paths, and every step is backed by concrete payloads, code, or commands. Its main weakness is redundancy — the core createModel and enable-model rules are each restated in three to four places — which inflates length without adding information, and the provider-group reference detail sits inline rather than in a bundle file.

Suggestions

State the four legal createModel(...) values once (the STOP table is the natural home) and reduce "Available Providers and Models" and Best Practice #3 to one-line pointers back to it, cutting roughly 30 lines of repetition.

Consolidate the "never assume a model is already enabled" rule into preflight ② alone and remove its re-statements in the decision procedure, the providers section, and Best Practice #2.

Merge the 🧭 "Runtime-plane fit" note with the "Do NOT use for" list (they state the same routing rule twice), or move the vendor roster detail in "Available Providers and Models" into references/api-reference.md.

DimensionReasoningScore

Conciseness

The body is dense with platform-specific, non-obvious contract detail (no generic-concept padding), but key rules are repeated verbatim across sections: the four legal createModel values appear in the STOP table, again in "Available Providers and Models", and again in Best Practice #3; "never assume a model is enabled" appears in the decision procedure, preflight ② twice, the providers section, and Best Practice #2; the web/Mini-Program routing note duplicates the "Do NOT use for" list. This matches "mostly efficient but ... could be tightened"; it is not a 2 because the repeated content is genuinely non-obvious platform contract rather than padded explanation of known concepts.

3 / 5

Actionability

Fully executable throughout: exact MCP call payloads ("callCloudApi(service=\"tcb\", action=\"DescribeAIModels\", params={ EnvId })"), a complete UpdateAIModel params shape, copy-paste init and createModel code blocks, npm install/version-check commands, numeric timeout ranges per operation, the purchase URL to surface on failure, and concrete self-verify commands ("tsc --noEmit", "manageFunctions(action=\"invokeFunction\")", "usage.total_tokens > 0"). Common cases are covered end-to-end, matching the 5 anchor.

5 / 5

Workflow Clarity

The two-step preflight is a clearly sequenced workflow (Step 0 env id → ① eligibility → ② group readiness) with explicit validation checkpoints (enumerated pass conditions, "Status is NOT in [3, 4]"), branch handling on both failure (stop + purchase link) and success, feedback loops for error recovery (casing fallback on InvalidParameter, DescribeManagedAIModelList re-check before UpdateAIModel, "Models is a full replacement — always resend"), and a final self-verify checklist — matching the 5 anchor including its feedback-loop requirement. The mutation risk in UpdateAIModel is explicitly validated, so no destructive-operation cap applies.

5 / 5

Progressive Disclosure

Both referenced files exist (references/api-reference.md, references/custom-onboarding.md), are one level deep (neither references further files), are clearly signaled in context, and are indexed with descriptions in a "Reference index" section; the split is appropriate (API details and onboarding out-of-line, mandatory preflight inline). Not a 5 because the ~35-line "Available Providers and Models" section substantially duplicates the STOP table's content inline — reference-style material that could live in a bundled file — keeping it at "good structure ... minor organization gaps".

4 / 5

Total

17

/

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 dense but every clause carries specifics: concrete API methods, runtime targets, model-id examples, version requirement, explicit use-triggers, and explicit routing exclusions to sibling skills. It fully answers what, when, and what-not with minimal conflict risk. The length is earned by information content rather than padding.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with exact API surface — "ai.createImageModel + generateImage", "ai.createModel with groups cloudbase, the legacy hunyuan-v3 / hunyuan-exp, or custom-*", "model ids ... go in the `model` field of generateText/streamText", "MUST run two-step preflight" — plus concrete runtime targets (cloud functions, CloudRun, Express/Koa/NestJS, serverless APIs, scheduled jobs, LLM proxies, agent orchestration). Comprehensive coverage with no vague filler; not score 4 because there are no minor gaps in the action inventory.

5 / 5

Completeness

Explicitly answers both: what ("Text via ai.createModel ... model ids go in the `model` field of generateText/streamText", "The only SDK supporting image generation") and when ("Use this skill for Node.js backend AI via @cloudbase/node-sdk (>=3.16.0) — cloud functions, CloudRun, ..."), with concrete negative triggers ("NOT for browser/Web ... or Mini Program"). Clearly matches the 5 anchor; the 'when' is explicit, not merely implied as at 4.

5 / 5

Trigger Term Quality

Natural phrases a user would actually say are comprehensively covered with synonyms: "Node.js backend AI", "cloud functions", "CloudRun", "Express/Koa/NestJS", "serverless APIs", "scheduled jobs", "LLM proxies", "agent orchestration", "image generation", plus vendor/model names (deepseek, glm, kimi, hunyuan). This matches the 'comprehensive coverage of natural terms including synonyms' anchor; file extensions are not applicable to this domain.

5 / 5

Distinctiveness Conflict Risk

Clear niche (Node.js server-side AI via @cloudbase/node-sdk) with explicit disambiguation against sibling skills — "NOT for browser/Web (use ai-model-web) or Mini Program (use ai-model-wechat)" — so it is unlikely to trigger for the wrong skill. Minimal conflict risk; nothing pushes it toward the overlap concerns of 3 or 4.

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-nodejs/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.