CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

working-with-marimo

Interactive development in marimo notebooks with validation loops. Use for creating/editing marimo notebooks and verifying execution.

Quality

82%

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

78%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 lean, well-structured body with a genuine validation loop and concrete MCP tool names — the verify step in particular is explicit and emphasized. The two real weaknesses are the broken best-practices reference and the absence of any executable code example or explicit fix-and-retry instruction.

Suggestions

Fix the broken reference: the body links to 'reference/best_practices.md' twice, but no 'reference/' directory or best_practices.md file exists in the bundle. Either ship the file (and correct the directory name if it should be 'references/') or remove the links and inline the key rules (@app.cell, no global state, reactivity).

Add an explicit error-recovery step to the Verify stage, e.g. 'If lint or runtime errors appear: read the error, fix the cell in the .py file, then re-run lint and error checks before proceeding.'

Include one minimal executable snippet (a two-cell '@app.cell' example with mo.sql or a matplotlib return) so the common notebook patterns are concrete rather than name-only.

DimensionReasoningScore

Conciseness

At ~30 lines, every line carries information Claude does not already know: tool names, sync behavior, 'No plt.show()', 'mo.sql'. There is no conceptual padding or over-explanation of what marimo is.

5 / 5

Actionability

Concrete, named MCP tools ('mcp_marimo_lint_notebook', 'mcp_marimo_get_notebook_errors', etc.) and specific rules ('Use mo.sql for DuckDB queries', 'No plt.show()') give mostly executable guidance. Not 5: no actual code example (e.g. an '@app.cell' snippet or tool call with arguments), so the common cases are not copy-paste ready.

4 / 5

Workflow Clarity

The Plan-Execute-Verify loop is a clear three-step sequence with an explicit, CRITICAL-flagged Verify step containing three validation checkpoints (lint, runtime errors, outputs). Not 5: there is no explicit error-recovery instruction ('if lint/errors fail, fix and re-verify') — the retry behavior is only implied by the 'Feedback Loop' title.

4 / 5

Progressive Disclosure

The body is well-structured and clearly signals a one-level-deep reference via a dedicated 'Reference' section, but the referenced file 'reference/best_practices.md' does not exist in the bundle (no references/scripts/assets directories are present). The broken path means navigation fails at exactly the point detail is supposed to live, which is worse than the well-signaled structure alone would earn.

3 / 5

Total

16

/

20

Passed

Description

78%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 tight, third-person description that names a specific niche and includes an explicit 'Use for...' trigger clause covering both what and when. It is concise without being vague, though the trigger vocabulary could add natural variations like 'run' or 'execute' cells.

Suggestions

Add natural trigger variations users would actually say, e.g. 'Use when the user mentions marimo, wants to run or execute notebook cells, or asks about reactive Python notebooks.'

Broaden the action list slightly (e.g. running cells, executing notebooks end-to-end) to reduce coverage gaps in specificity.

DimensionReasoningScore

Specificity

The description lists several concrete actions — 'creating/editing marimo notebooks and verifying execution' — tied to a named domain. It falls short of 5 because coverage has gaps (no mention of running/executing cells, SQL, or plot handling) and 'Interactive development... with validation loops' is somewhat abstract.

4 / 5

Completeness

Both halves are present: 'Interactive development in marimo notebooks with validation loops' answers what, and 'Use for creating/editing marimo notebooks and verifying execution' answers when. Not 5 because the 'when' clause is a single trigger phrase without the richer 'or when the user mentions X' variation a 5 anchor shows.

4 / 5

Trigger Term Quality

'marimo notebooks' is the natural term users would say, reinforced by 'creating/editing... notebooks and verifying execution'. Not 5: misses common variations users might naturally say, such as 'run cells', 'reactive notebooks', 'Python notebooks', or the '.py' file extension.

4 / 5

Distinctiveness Conflict Risk

'marimo notebooks' carves out a clear niche (distinct from generic Jupyter/notebook skills) with distinct triggers and minimal overlap risk. The description would not plausibly fire for the wrong skill.

5 / 5

Total

17

/

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

relative_links

Relative link issues: 2 missing

Warning

Total

15

/

16

Passed

Repository

pymc-labs/CausalPy

Path

.agents/skills/working-with-marimo/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.