CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

prompt-api

Implements and debugs browser Prompt API integrations in JavaScript or TypeScript web apps. Use when adding LanguageModel availability checks, session creation, prompt or promptStreaming flows, structured output, download progress UX, or iframe permission-policy handling. Don't use for server-side LLM SDKs, REST AI APIs, or non-browser providers.

72

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

SKILL.md
Quality
Evals
Security

Quality

Content

85%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 well-structured procedural skill: five sequenced steps with explicit stop conditions, a validation step, error-recovery feedback loops, and a clean one-level-deep bundle whose references are each gated by a read condition. The main cost is redundancy — four rules are repeated near-verbatim across Procedures and Error Handling, inflating token use without adding information.

Suggestions

State the pre-create() 'downloading' passive-state rule once (e.g., in Step 3) and have Step 4.6 and the Error Handling bullet reference it instead of restating it.

Consolidate the 'tools is EXPERIMENTAL' warning into a single location (Step 2.7) and drop the repeats in Step 3.2 and Error Handling bullet 4.

Merge the iframe 'allow="language-model"' and Web Worker limitations into one 'Context requirements' note instead of repeating them across Step 2, Step 3/4, and Error Handling.

DimensionReasoningScore

Conciseness

The body is mostly efficient — imperative instructions with no explanation of concepts Claude already knows — but it could be meaningfully tightened: the pre-create() 'downloading' passive-state rule is stated three times (Step 3.7, Step 4.6, Error Handling bullet 2), the 'tools is EXPERIMENTAL' warning three times (Step 2.7, Step 3.2, Error Handling bullet 4), the iframe 'allow="language-model"' requirement three times (Step 3.5, Step 4.3, Error Handling bullet 6), and the Web Worker exclusion twice (Step 2.6, Error Handling bullet 5). Not 4 because the duplication is more than minor — four distinct rules are each repeated near-verbatim across sections. Not 2 because there is no padding or over-explanation; every line is actionable instruction.

3 / 5

Actionability

Guidance is concrete and executable throughout: an exact command ("node scripts/find-frontend-targets.mjs ."), a concrete code artifact to adapt ("Read assets/language-model-service.template.ts and adapt it"), precise API names and options ("responseConstraint", "omitResponseConstraintInput", "AbortController", "measureContextUsage()"), and exact attribute values ("allow=\"language-model\""). Per the rubric's code-vs-instruction note, an instruction-only skill is not penalized for absent inline code when guidance is this specific, and the common cases (availability gating, streaming, structured output, download UX) are each covered. Not 4 because there are no real gaps — even fallback and deprecated-surface handling names exact options.

5 / 5

Workflow Clarity

Five clearly sequenced steps with explicit decision checkpoints ("stop and ask the user which app", "stop and explain that this skill does not apply") and an explicit validation step (Step 5: test short/long responses, verify session reuse/destroy behavior, "Run the workspace build, typecheck, or tests after editing"). Error recovery feedback loops exist: "Read references/troubleshooting.md if the integration throws NotSupportedError" plus a dedicated Error Handling section with specific remediations. Not 4 because checkpoints and feedback loops are explicit rather than implied, matching the top anchor.

5 / 5

Progressive Disclosure

The body is a clear procedural overview with well-signaled, one-level-deep references, each tied to a read condition: "Read references/prompt-api-reference.md before writing code", examples.md for message shapes, compatibility.md for browser generations, polyfills.md for installation, troubleshooting.md on NotSupportedError, plus the assets template and the discovery script. All referenced files exist with substantive content. Not 4 because every reference is both signaled and conditional, and no content that belongs in a bundle file is inlined.

5 / 5

Total

18

/

20

Passed

Description

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

A strong description: third-person, specific, with an explicit 'Use when' trigger list and explicit non-goals that sharply limit conflict risk. The only gap is a handful of natural synonyms for the Prompt API that users commonly say.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "Implements and debugs browser Prompt API integrations", "LanguageModel availability checks", "session creation", "prompt or promptStreaming flows", "structured output", "download progress UX", "iframe permission-policy handling" — with comprehensive coverage of the domain. Not 4 because there are no meaningful gaps: the action list spans implementation, debugging, and the full set of feature surfaces.

5 / 5

Completeness

Explicitly answers both questions: what ("Implements and debugs browser Prompt API integrations in JavaScript or TypeScript web apps") and when ("Use when adding LanguageModel availability checks, session creation, prompt or promptStreaming flows, structured output, download progress UX, or iframe permission-policy handling"), with concrete trigger phrases plus explicit negative scope. Not 4 because the 'when' clause is fully explicit and enumerates concrete triggers rather than implying them.

5 / 5

Trigger Term Quality

Good natural-keyword coverage: "Prompt API", "LanguageModel", "session", "structured output", "download progress", "JavaScript or TypeScript". Not 5 because common user synonyms for this domain are absent — users often say "Chrome built-in AI", "Gemini Nano", or "window.ai" rather than "Prompt API", and none of those variations appear. Not 3 because the terms present are exactly the natural phrases a user working on this feature would say, not jargon-only.

4 / 5

Distinctiveness Conflict Risk

Clear niche (browser-native Prompt API in web apps) with minimal conflict risk, reinforced by an explicit exclusion clause: "Don't use for server-side LLM SDKs, REST AI APIs, or non-browser providers", which cleanly disambiguates against adjacent AI-integration skills. Not 4 because the boundary is stated positively and negatively, leaving little overlap risk.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

webmaxru/web-ai-agent-skills

Path

skills/prompt-api/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.