CtrlK
BlogDocsLog inGet started
Tessl Logo

write-script-python3

MUST use when writing Python scripts.

44

Quality

56%

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

Fix and improve this skill with Tessl

tessl review fix ./system_prompts/auto-generated/skills/write-script-python3/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%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 instructional first half is excellent — highly actionable commands, decision rules, and validation checkpoints for the preview/metadata/deploy workflow. The skill is undone by its second half: a monolithic ~800-line raw SDK API dump inlined into SKILL.md, with substantial duplicated content, instead of being split into a references/ file.

Suggestions

Move the entire "# Python SDK (wmill)" listing (lines 209-1004) into a references/ file (e.g. references/wmill-python-sdk.md) and keep only 2-3 key examples inline with a clear pointer to it.

Deduplicate content: S3 operations appear both in the "S3 Object Operations" section and again in the SDK listing, and run-script/state helpers are each listed twice — keep one canonical copy in the reference file.

Consolidate the four interleaved workflow subsections (CLI commands, preview vs run, keep metadata in sync, after writing) into one ordered write -> preview -> generate-metadata -> deploy sequence with the validation checkpoints inline.

DimensionReasoningScore

Conciseness

The 1004-line body inlines a raw ~800-line SDK API dump ("# Python SDK (wmill)" onward, lines 209-1004), and duplicates content (S3 operations appear at lines 171-207 and again 471-540; run-script variants and state helpers are each listed twice). Not 1 because the first ~200 lines of CLI guidance are dense and free of padding, but the sheer volume of inlined reference material makes it noticeably verbose.

2 / 5

Actionability

Fully executable throughout: concrete commands ("wmill script preview <script_path>", "wmill generate-metadata --dry-run", "wmill generate-metadata rehash"), complete runnable code samples for main(), TypedDict resources, preprocessors, and S3 operations, plus concrete decision rules and per-language argument syntax ("$1 for PostgreSQL, ? for MySQL/Snowflake, @P1 for MSSQL").

5 / 5

Workflow Clarity

Clear intent-based sequencing with real validation checkpoints: preview validates before any deploy, "--dry-run -- lists each stale item with a reason without changing anything", and "diff the regenerated .lock / .script.lock files and tell the user which dependency versions changed"; deploy is gated on an explicit user request. Not 5 because the workflow is spread across four interleaved subsections (CLI list, preview-vs-run, metadata sync, after-writing) rather than one coherent ordered sequence, and the language-guide half has no workflow integration.

4 / 5

Progressive Disclosure

No bundle files exist at all (no references/, scripts/, assets/), and an ~800-line API reference that clearly belongs in a separate file is fully inlined in SKILL.md. The section headers prevent a score of 1, but this matches anchor 2 ("content that clearly belongs in separate files is inlined") far better than anchor 3 given the volume.

2 / 5

Total

13

/

20

Passed

Description

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

The description provides a clear trigger ("MUST use when writing Python scripts") but omits the skill's purpose entirely: no capabilities, no Windmill context, and nothing to distinguish it from generic Python skills. It reads as half a description — the "when" without the "what".

Suggestions

Add a 'what' clause listing the skill's concrete actions, e.g. "Write and test Windmill Python scripts: structure main() with TypedDict resource parameters, preview locally, and keep generated metadata in sync."

Mention Windmill in the description so it does not collide with every generic Python-coding request.

Include common trigger variations such as "Python", "scripts", "Windmill script", and "automation" so the skill triggers on the phrases users naturally say.

DimensionReasoningScore

Specificity

"MUST use when writing Python scripts." names the task domain but lists zero concrete actions or capabilities (no script structure, resource types, preview/metadata workflow). It is above anchor 1 because it is not pure abstraction like "Helps with documents", but below anchor 3 because no concrete action is stated at all.

2 / 5

Completeness

Only the "when" is present ("MUST use when writing Python scripts"); the "what" — what the skill actually does — is entirely absent, matching anchor 2 exactly ("only 'when' is present without 'what'"). It cannot score 3, which requires a clear "what".

2 / 5

Trigger Term Quality

"writing Python scripts" is a natural phrase a user would actually say, but it is the only keyword — no synonyms ("Python", "script", "automation") or platform context ("Windmill") are present. Not 4, which requires good keyword coverage with only a few natural terms missing.

3 / 5

Distinctiveness Conflict Risk

"Python scripts" is very broad and would trigger for virtually any Python coding task; Windmill is never mentioned, giving high overlap risk with generic Python skills. Not 3, because "writing Python scripts" is not specific enough to meaningfully distinguish this skill.

2 / 5

Total

9

/

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

skill_md_line_count

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

Warning

Total

15

/

16

Passed

Repository
windmill-labs/windmill
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.