CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-block

Create or update a Sim integration block with correct subBlocks, conditions, dependsOn, modes, canonicalParamId usage, outputs, and tool wiring. Use when working on `apps/sim/blocks/blocks/{service}.ts` or aligning a block with its tools.

64

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/add-block/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is exceptionally actionable and grounded in project-specific constraints Claude could not infer, with strong validation checkpoints, but it is a monolithic 1,000+ line reference with no progressive disclosure: five major reference topics that belong in separate bundle files are inlined, and one large worked example duplicates earlier sections. Splitting it into an overview plus reference files would fix both structure and token cost.

Suggestions

Move the SubBlock Types Reference, the Canvas Sentences contract, and the BlockMeta/templates/skills patterns into files under references/ (e.g. references/subblock-types.md, references/canvas-sentences.md, references/block-meta.md) and keep SKILL.md as a concise overview linking to them — currently all five major reference topics are inlined in a single ~1,050-line body with no bundle files at all.

Delete or heavily trim the ~90-line "Complete Example": it duplicates the Block Configuration Structure template and the subBlock, conditions, tools, inputs, and outputs patterns already shown in their own sections.

Consolidate the duplicate-subblock-id and canonicalParamId constraint rules, which are currently stated in "SubBlock Types Reference", "File Input Handling" (Constraints), and "canonicalParamId Pattern", into one authoritative section referenced from the others.

DimensionReasoningScore

Conciseness

Most content is genuinely non-obvious project-specific knowledge (serializer internals, generator commands, check-script behaviors) that earns its tokens, but the ~90-line "Complete Example" largely duplicates the Block Configuration Structure and subBlock patterns, and the duplicate-id/canonicalParamId constraints are restated across multiple sections. Mostly efficient but could be tightened, matching anchor 3.

3 / 5

Actionability

The body provides copy-paste-ready TypeScript config templates, exact commands (e.g. `bun run generate:deployment-config`, `bun run apps/sim/scripts/check-canvas-sentences.ts --block={service}`), exact file paths, and explicit good/bad code contrasts covering the common cases. Fully executable, matching anchor 5.

5 / 5

Workflow Clarity

A brief three-step task sequence opens the skill, and the "Final Validation (Required)" section plus the ~30-item "Checklist Before Finishing" provide explicit validation checkpoints with runnable check commands. However, the actual execution order (build → regenerate artifacts → run checks) must be assembled from scattered reference sections, leaving minor sequence gaps consistent with anchor 4.

4 / 5

Progressive Disclosure

The skill is a single monolithic ~1,050-line body with no references/, scripts/, or assets/ bundle files. Content that clearly belongs in separate files — the SubBlock Types Reference, the Canvas Sentences contract, the BlockMeta/templates/skills patterns, the OAuth deployment gating procedure — is fully inlined. Section headers do exist (so it is navigable, not anchor 1), but the inlined volume far exceeds the anchor-2 example's "300 lines that should be in a separate file".

2 / 5

Total

14

/

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 description: it states a concrete what, an explicit when with a file-path trigger, uses third-person imperative voice, and is tightly scoped to the Sim block domain. The only weakness is slightly narrow trigger phrasing that misses natural variations like "add a block" or "update a block".

DimensionReasoningScore

Specificity

"Create or update a Sim integration block with correct subBlocks, conditions, dependsOn, modes, canonicalParamId usage, outputs, and tool wiring" names the domain, the action, and enumerates specific technical aspects. It lists several specific capabilities rather than multiple distinct actions, so it sits between anchors 4 and 5 — minor gaps in coverage keep it at 4.

4 / 5

Completeness

It explicitly answers both questions: the "what" is "Create or update a Sim integration block with correct subBlocks, conditions, dependsOn, modes, canonicalParamId usage, outputs, and tool wiring" and the "when" is a concrete trigger clause naming the file path and the block-tool alignment case. This matches the anchor-5 example structure exactly.

5 / 5

Trigger Term Quality

"Use when working on `apps/sim/blocks/blocks/{service}.ts` or aligning a block with its tools" provides good keyword coverage including an exact file path and natural phrases like "integration block". Common variations a user might say ("add a block", "update a block", "register a block", "BlockMeta") are missing, matching anchor 4.

4 / 5

Distinctiveness Conflict Risk

The description carves a clear niche — Sim integration block configuration at a specific path (`apps/sim/blocks/blocks/{service}.ts`) — with triggers unlikely to fire for sibling skills like add-trigger or add-tools. Minimal conflict risk, matching anchor 5.

5 / 5

Total

18

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1062 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 3 missing

Warning

Total

13

/

16

Passed

Repository

simstudioai/sim

Path

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