CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

64

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./skills/prompt-api/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%Weight 40%Scale 1-3

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is concise, well-sequenced, and includes a real validation checkpoint, but its progressive-disclosure structure is broken because all referenced reference/asset/script files are missing, and the core implementation step lacks inline executable code.

Suggestions

Ship the referenced bundle files (`references/prompt-api-reference.md`, `references/examples.md`, `references/compatibility.md`, `references/polyfills.md`, `references/troubleshooting.md`, `assets/language-model-service.template.ts`, `scripts/find-frontend-targets.mjs`) so the signaled navigation actually resolves.

Inline a minimal executable `LanguageModel.create()`/`prompt()` wrapper snippet in Step 3 so the core implementation step is copy-paste-ready even if the template file is unavailable.

Verify each `references/...` and `assets/...` path matches a real file in the bundle before relying on it as a navigation target.

DimensionReasoningScore

Conciseness

The body is a lean, procedure-driven checklist that assumes Claude's competence — it never explains what a browser or the Prompt API is, and every step carries actionable content rather than padding.

3 / 3

Actionability

Concrete commands and API names are present (`node scripts/find-frontend-targets.mjs .`, `responseConstraint`, `allow="language-model"`), but the central implementation step defers to a template file (`assets/language-model-service.template.ts`) rather than showing inline executable code, leaving the core coding step without copy-paste-ready guidance.

2 / 3

Workflow Clarity

Five clearly sequenced steps lead to an explicit validation checkpoint (Step 5 'Validate behavior' with 'Run the workspace build, typecheck, or tests after editing') and an Error Handling section provides feedback loops for recovery, matching the clear-sequence-with-validation anchor.

3 / 3

Progressive Disclosure

The body is well-structured and signals one-level-deep references with when-to-read guidance, but every referenced bundle file (`references/*.md`, `assets/language-model-service.template.ts`, `scripts/find-frontend-targets.mjs`) is absent from the bundle, so the navigation points to nothing — a broken progressive-disclosure structure rather than a working one.

1 / 3

Total

9

/

12

Passed

Description

85%Weight 40%Scale 1-3

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, specific description with explicit use-when guidance and clear anti-triggers that bound its niche. The main gap is trigger-term naturalness — several triggers are spec jargon rather than phrases a user would naturally say.

Suggestions

Add a few natural-language triggers a user might actually say (e.g., 'browser AI', 'on-device LLM', 'Chrome built-in AI') alongside the spec-jargon terms.

Consider leading with the most common user phrasing ('built-in browser AI' or 'Prompt API') before the detailed capability list.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'availability checks, session creation, prompt or promptStreaming flows, structured output, download progress UX, or iframe permission-policy handling' — matching the score-3 anchor of listing several specific actions.

3 / 3

Completeness

Explicitly states both what ('Implements and debugs browser Prompt API integrations in JavaScript or TypeScript web apps') and when ('Use when adding LanguageModel availability checks...'), plus a negative-scope clause, satisfying the what-and-when anchor.

3 / 3

Trigger Term Quality

Relevant terms appear (Prompt API, structured output, session creation) but phrasing leans on spec jargon ('LanguageModel availability checks', 'promptStreaming flows', 'iframe permission-policy handling') and omits natural user phrasings like 'browser AI' or 'on-device LLM', so coverage is partial rather than comprehensive.

2 / 3

Distinctiveness Conflict Risk

Niche is clearly bounded to the browser Prompt API, with explicit anti-triggers ('Don't use for server-side LLM SDKs, REST AI APIs, or non-browser providers') making conflict with adjacent skills unlikely.

3 / 3

Total

11

/

12

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 8 missing

Warning

Total

15

/

16

Passed

Repository
webmaxru/web-ai-agent-skills
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.