CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-hosted-key

Add hosted API key support to a tool so Sim provides the key (metered and billed to the workspace) when a user has not brought their own. Use when adding a `hosting` config to a tool under `apps/sim/tools/{service}/`.

69

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

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

Highly actionable, well-sequenced code-authoring guidance: every step has exact file paths, complete executable TypeScript for each variant, named reference implementations, a validation command, and a thorough closing checklist. It falls just short of top marks only on minor redundancy between repeated getCost examples and the absence of an error-recovery loop or general build-verification step.

DimensionReasoningScore

Conciseness

Nearly all content is repo-specific and non-inferable ('per_request' vs 'custom' rate-limiter modes, the '{PREFIX}_COUNT' env var convention, the duplicate 'apiKey' subblock pattern) with no explanation of concepts Claude already knows. Minor trimmable redundancy — the getCost throw-if-missing example appears twice (the full hosting config block and the 'When the API reports cost' block) — places it at anchor 4 rather than anchor 5's every-token-earns-its-place leanness.

4 / 5

Actionability

Fully executable throughout: exact file paths ('tools/types.ts', 'lib/api/contracts/byok-keys.ts', 'blocks/blocks/{service}.ts'), copy-paste-ready TypeScript covering each pricing variant (API-reported cost, computed cost, 'per_request' flat price, gated 'enabled'), a runnable verification command ('bun run check:byok-providers'), and named reference implementations ('tools/image/generate.ts', 'blocks/blocks/google_maps.ts', 'tools/brandfetch/get_brand.ts'). Matches anchor 5's fully executable, common-cases-covered example.

5 / 5

Workflow Clarity

Six steps are explicitly sequenced in the overview table with per-step 'Where' locations, reinforced by a 12-item checklist and the 'bun run check:byok-providers' validation command. However, there is no error-recovery feedback loop (e.g., what to do when the check fails) and no general build/typecheck verification step, matching anchor 4's 'most checkpoints present; minor validation gaps' rather than anchor 5. The workflow is additive code change, not destructive/batch, so the ≤3 cap does not apply.

4 / 5

Progressive Disclosure

A single-file skill with no bundle files (no references/, scripts/, or assets/ exist), organized by a step-indexed overview table, clear step headers, and subsections. All content sits on the 6-step workflow path rather than being reference material that clearly belongs in a separate file, fitting anchor 4's 'most content is appropriately placed; minor organization gaps'; anchor 5 would require well-signaled one-level-deep references, and anchor 3 would require inlined content that should clearly be separate — the edge-case sections (duplicate subblock pattern, rate-limit sizing rationale) are only borderline candidates for extraction.

4 / 5

Total

17

/

20

Passed

Description

87%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, third-person description that explicitly states what the skill does, the billing semantics, and a precise 'Use when' trigger anchored to a concrete file path. Its only gaps are a few missing natural synonyms (e.g., BYOK) and single-action rather than multi-action capability coverage, neither of which materially weakens triggering.

DimensionReasoningScore

Specificity

The description names a concrete action — 'Add hosted API key support to a tool' — enriched with concrete mechanics ('Sim provides the key (metered and billed to the workspace)', 'when a user has not brought their own'). This matches anchor 4's specific actions with minor gaps: more concrete than anchor 3's bare 1-2 actions, but single-action scope falls short of anchor 5's comprehensive multi-action enumeration.

4 / 5

Completeness

It explicitly answers both questions: what — 'Add hosted API key support to a tool so Sim provides the key (metered and billed to the workspace) when a user has not brought their own' — and when — 'Use when adding a `hosting` config to a tool under `apps/sim/tools/{service}/`' with a concrete trigger phrase. This matches anchor 5 exactly; anchor 4 would require a less explicit or less specific 'when' clause.

5 / 5

Trigger Term Quality

Natural developer phrasings are present — 'hosted API key support', 'adding a `hosting` config', 'apps/sim/tools/{service}/' — which a user of this codebase would actually say. Missing natural synonyms like 'BYOK' or 'bring your own key' keep it at anchor 4 ('good keyword coverage; a few natural terms missing') rather than anchor 5's synonym-and-extension completeness.

4 / 5

Distinctiveness Conflict Risk

A clear niche with distinct triggers: repo-specific terms ('Sim', '`hosting` config') anchored to a concrete path pattern ('apps/sim/tools/{service}/') make it very unlikely to fire for any other skill. Matches anchor 5's 'clear niche with distinct triggers; minimal conflict risk' — anchor 4's overlap with closely related skills does not apply here.

5 / 5

Total

18

/

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

simstudioai/sim

Path

.agents/skills/add-hosted-key/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.