CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

tool-registry-boundary

Keep the executable tool registry out of client-reachable module graphs — when to read `@/tools/metadata` instead of `getTool`, how to measure whether an import edge pulls the registry, and how to regenerate the metadata artifacts. Use when touching `apps/sim/tools/registry.ts`, `tools/utils.ts`, `tools/params.ts`, or anything that calls `getTool`.

Quality

96%

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

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

An exemplary skill body: dense with measured, non-obvious facts, fully executable commands and code, explicit validation and feedback loops in every workflow, and clean single-file organization with nothing warranting extraction. No content explains concepts Claude already knows beyond one-sentence rationale that guards against specific regressions.

DimensionReasoningScore

Conciseness

Every token carries measured, non-obvious, repo-specific facts Claude cannot know — "costs roughly 4,700 additional modules (measured; re-measure with `--verbose`)", "takes `tsc --noEmit` from 12.6s to 8m07s — a 38x regression", "the registry contains one (`stt_deepgram_v2`)", "a few hundred tools are versioned". No padding, no generic concept explanations; rationale sentences exist only to prevent specific regressions (e.g., the .json-import cleanup trap). Fits the 5 anchor: lean, assumes competence, every token earns its place.

5 / 5

Actionability

Fully executable, copy-paste-ready guidance throughout: exact commands (`bun run generate:tool-metadata`, `bun run check:tool-metadata`, `bun run check:tool-registry-boundary` with `--verbose`, `--check`, `--update-baseline`), exact module paths in the import table with sizes, and a concrete test-mocking snippet (`vi.mocked(getToolMetadata).mockImplementation(toolsMetadataMock.getToolMetadata)`). Matches the 5 anchor: specific examples cover the common cases.

5 / 5

Workflow Clarity

Multi-step processes are clearly sequenced with explicit validation checkpoints and feedback loops: regeneration ends in "what CI runs; fails if stale"; guard failure has recovery guidance ("do not add the entry to an allowlist — there isn't one. Find the symbol the offending file actually needs and move it"); mock verification uses a sentinel check ("change a fixture value to a sentinel and confirm the test fails"); edge verification ends with "Compare the reachable module count before and after". Matches the 5 anchor: clear sequence, explicit validation, error-recovery loops.

5 / 5

Progressive Disclosure

A single ~96-line file with no bundle files and well-organized sections (rule, import table, generated artifacts, testing, guard/baseline, verification, new-caller policy). All content is core operational guidance needed nearly every time the skill fires; nothing clearly belongs in a separate file, and splitting it would add indirection without token savings. Navigation via headers and the decision table is easy. Fits the 5 anchor's spirit (content appropriately placed) even though no external references are warranted.

5 / 5

Total

20

/

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.

An excellent description that explicitly states what the skill does and when to use it, with third-person imperative voice, concrete file-path and function-name triggers, and no vague language. The only weakness is that the when-clause misses a few natural trigger phrasings (e.g., "adding/changing a tool", CI check names) beyond the listed files.

Suggestions

Add "adding or changing a tool" as an explicit trigger in the when-clause, since that is when regeneration is required and a natural way a user would phrase the need.

Consider naming the CI checks (`check:tool-metadata`, `check:tool-registry-boundary`) in the description, as users hitting CI failures would naturally mention them.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — "when to read `@/tools/metadata` instead of `getTool`, how to measure whether an import edge pulls the registry, and how to regenerate the metadata artifacts" — with comprehensive coverage of the skill's capabilities, matching the anchor for multiple specific concrete actions. Not 4: there are no gaps in action coverage; every capability of the skill is named.

5 / 5

Completeness

Explicitly answers both: the "what" ("Keep the executable tool registry out of client-reachable module graphs", when to read metadata instead of getTool, how to measure, how to regenerate) and the "when" ("Use when touching `apps/sim/tools/registry.ts`, `tools/utils.ts`, `tools/params.ts`, or anything that calls `getTool`") with concrete trigger phrases. Exact match for the 5 anchor.

5 / 5

Trigger Term Quality

The trigger set is precise and natural for this codebase — "Use when touching `apps/sim/tools/registry.ts`, `tools/utils.ts`, `tools/params.ts`, or anything that calls `getTool`" — but misses common natural phrasings such as "adding or changing a tool" (which requires regeneration) and the CI check names. Fits the 4 anchor (good keyword coverage; a few natural terms missing) better than 5 (comprehensive coverage including synonyms).

4 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers — "executable tool registry", "client-reachable module graphs", specific file paths and the `getTool` function name — making it highly unlikely to fire for any other skill. Minimal conflict risk; matches the 5 anchor.

5 / 5

Total

19

/

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

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

simstudioai/sim

Path

.agents/skills/tool-registry-boundary/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.