CtrlK
BlogDocsLog inGet started
Tessl Logo

python-patterns

Python development principles and decision-making. Framework selection, async patterns, type hints, project structure. Teaches thinking, not copying.

47

Quality

50%

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 ./.cursor/skills/python-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill is well-organized into clear sections and offers genuine decision guidance plus a few real code examples, but it explains concepts Claude already knows, relies on pseudocode-style trees rather than executable code, and is a monolithic file with no progressive disclosure. It is a solid, adequate reference that stops short of being lean or fully actionable.

Suggestions

Cut explanations of basics Claude already knows (Optional/Union/Callable semantics, what async is) and de-duplicate the async guidance repeated across sections 2, 5, and 6 to tighten conciseness.

Replace illustrative '...' snippets and abstract decision trees with complete, executable examples (or explicitly justify the abbreviated form) to lift actionability toward 3.

Split the monolithic 11-section file into one-level-deep reference files (e.g. framework-selection.md, async-patterns.md, django-principles.md) linked from a concise overview to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body is mostly compact (tables and ASCII decision trees), but it explains basics Claude already knows ('Optional -> might be None', 'Union -> one of multiple types', select_related/prefetch_related) and repeats async/sync guidance across sections 2, 5, and 6, fitting anchor-2 'mostly efficient but includes some unnecessary explanation'.

2 / 3

Actionability

There are some real code snippets (type-hint patterns, a pytest-asyncio test, FastAPI/Pydantic), but most examples are illustrative with '...' and large portions are abstract ASCII decision trees rather than executable guidance, matching anchor-2 'some concrete guidance but incomplete; pseudocode instead of executable code'.

2 / 3

Workflow Clarity

The 'Decision Checklist' (section 10) provides a clear sequenced decision flow, but there are no validation or feedback checkpoints anywhere; the skill involves no destructive/batch operations so it is not forced below 2, yet it still fits anchor-2 'sequence present but checkpoints missing or implicit'.

2 / 3

Progressive Disclosure

No bundle files exist and the body is a single well-sectioned monolith of ~440 lines (well over the 50-line simple-skill exception), with content that could be split into reference files; it is organized (above anchor-1) but has no one-level-deep references or navigation (below anchor-3).

2 / 3

Total

8

/

12

Passed

Description

50%

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 is specific about the Python domains it covers and uses correct third-person voice, but it omits an explicit 'Use when...' trigger clause and relies on somewhat technical terms rather than natural user phrasing. It is adequate but stops just short of being fully discoverable and complete.

Suggestions

Add an explicit 'Use when...' trigger clause, e.g. 'Use when starting a Python project, choosing a framework, or deciding async vs sync architecture', to raise completeness above 2.

Weave in colloquial trigger terms users would actually say ('which Python framework should I use', 'how should I structure my Python project', 'async vs sync') alongside the technical terms.

Reframe topic domains as concrete action verbs ('Select and configure a web framework', 'Design async/sync architecture', 'Apply a type-hint strategy') to lift specificity toward 3.

DimensionReasoningScore

Specificity

Lists several named areas ('Framework selection, async patterns, type hints, project structure') but these are noun-phrase topic domains rather than concrete action verbs, matching the anchor-2 'names domain and some actions' rather than the action-verb anchor-3 example.

2 / 3

Completeness

It clearly states what the skill covers ('Python development principles and decision-making. Framework selection, async patterns, type hints, project structure.') but contains no 'Use when...' clause or equivalent explicit trigger guidance, which the rubric caps at 2.

2 / 3

Trigger Term Quality

Terms like 'framework', 'async patterns', and 'type hints' are relevant and fairly natural, but they lean technical/generic and miss common colloquial variations a user would actually say, fitting anchor-2 'some relevant keywords but missing common variations'.

2 / 3

Distinctiveness Conflict Risk

The four sub-areas narrow the niche, but the lead phrase 'Python development principles' is broad and could overlap with framework-specific (FastAPI/Django) skills, fitting anchor-2 'somewhat specific but could still overlap'; voice is correctly third-person ('Teaches thinking').

2 / 3

Total

8

/

12

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository
MODSetter/SurfSense
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.