CtrlK
BlogDocsLog inGet started
Tessl Logo

modern-python-toolchain

Modern Python project setup with uv, ruff, and pyright. Use when initializing a new Python project, configuring the Python environment, setting up linting/formatting, or when a project needs uv (the fast Python package manager). Trigger on: 'set up Python', 'new Python project', 'configure uv', 'install uv', 'ruff', 'pyright', 'Python linting', 'Python formatting', or when a task requires Python and no pyproject.toml exists yet.

68

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

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.

A well-crafted reference skill: executable, annotated commands dominate the body, sections are cleanly organized per tool, and the tone assumes Claude's competence. Remaining improvements are trimming a few known-concept sentences, adding an error-recovery checkpoint for type-check failures, and considering splitting the coding-style guidance into a reference file.

DimensionReasoningScore

Conciseness

The body is lean and command-first: comment-annotated command blocks, prescriptive rules, and minimal prose. Minor over-explanations could be trimmed — e.g., 'Ruff is an extremely fast Python linter and code formatter. It replaces Flake8, isort, Black...' and 'Pyright is a fast type checker' restate what Claude already knows, and the full typer CLI example runs 8 lines for a simple point. Not 3: the padding is isolated, not pervasive.

4 / 5

Actionability

Fully executable throughout: copy-paste install commands per platform, uv init/add/sync/run commands annotated with their purpose, concrete ruff TOML config, post-edit 'ruff check --fix' + 'ruff format' commands, pyright invocation patterns, and good/bad annotation examples. These cover the common cases of the toolchain. Anti-drift check: 4 requires 'minor gaps', but the commands span setup, dependency management, linting, formatting, and type checking with no material gap.

5 / 5

Workflow Clarity

Sections follow a coherent setup sequence (install uv → pin Python → init project → add deps → configure ruff/pyright → post-edit workflow), and the post-edit workflow gives explicit commands with a --diff preview option. Not 5: there is no explicit error-recovery loop (e.g., what to do when pyright reports errors before proceeding) and no checkpoint verifying a successful install (e.g., uv --version). Not 3: the sequence is clear and none of the operations are destructive or batch, so the validation cap does not apply.

4 / 5

Progressive Disclosure

The skill has no bundle files (no references/, scripts/, assets/), and the single ~200-line SKILL.md is well-organized with clearly headed sections, each covering one tool — easy to navigate, no nested references. Not 5: it exceeds the under-50-lines simple-skill case, and the 'Coding style' section (annotations, pydantic v2, typer) is a separable concern that could live in a reference file. Not 3: the structure is good and nothing is buried.

4 / 5

Total

17

/

20

Passed

Description

83%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 names specific tools, answers what and when explicitly with concrete trigger phrases, and stays concise and in third person. The remaining gaps are missing natural synonyms (venv, dependency management, type checking) and slightly category-level action descriptions.

DimensionReasoningScore

Specificity

Names concrete tools (uv, ruff, pyright) and several actions — 'initializing a new Python project, configuring the Python environment, setting up linting/formatting' — with minor gaps in coverage. Not 5 because the actions are category-level rather than concrete operations (no mention of adding dependencies, lockfile sync, or type checking); not 3 because more than 1-2 actions plus named tools are given.

4 / 5

Completeness

Explicitly answers both what ('Modern Python project setup with uv, ruff, and pyright') and when ('Use when initializing a new Python project, configuring the Python environment, ... or when a task requires Python and no pyproject.toml exists yet') with concrete trigger phrases. Fits the anchor-5 example structure exactly; the when-clause is explicit and specific, so 4's 'could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Good keyword coverage with natural phrases users would actually say: 'set up Python', 'new Python project', 'configure uv', 'install uv', 'ruff', 'Python linting', 'Python formatting'. Not 5 because common synonyms and variations are missing (e.g., 'venv', 'virtual environment', 'add dependency', 'type checking', 'pyproject.toml' as a standalone trigger).

4 / 5

Distinctiveness Conflict Risk

The named tools (uv, ruff, pyright) create a clear niche with distinct triggers, and 'no pyproject.toml exists yet' is a good disambiguator. Minor overlap risk remains: broad triggers like 'set up Python' or 'Python linting' could also match generic Python environment or linting skills, keeping it below the 'minimal conflict risk' of 5.

4 / 5

Total

17

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
XiaomiMiMo/MiMo-Code
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.