CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

python-patterns

Python-specific design patterns and best practices including protocols, dataclasses, context managers, decorators, async/await, type hints, and package organization. Use when working with Python code to apply Pythonic patterns.

Quality

68%

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

Quality

Content

50%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-sectioned catalog of executable Python pattern examples, but it spends most of its token budget re-teaching idioms Claude already knows and offers no decision guidance for choosing among patterns. All content lives inline in SKILL.md with no progressive-disclosure structure, so it loads ~415 lines of context regardless of task need.

Suggestions

Trim or remove sections that re-teach standard-library idioms Claude already knows (basic decorators, properties, class-based context managers, generic asyncio examples) and keep only non-obvious conventions or project-specific patterns so every token adds new information.

Add decision guidance (e.g., 'use Protocol when you need structural subtyping without inheritance; use ABC when you want runtime enforcement') so the skill functions as a selection workflow rather than an unordered catalog.

Split detailed pattern references into references/*.md files (e.g., references/async.md, references/type-hints.md) and keep SKILL.md as a concise index with clearly signaled one-level-deep links, so context is loaded on demand.

DimensionReasoningScore

Conciseness

The body re-teaches standard-library idioms a competent model already knows (function decorators, property setters, class-based context managers, basic asyncio.gather usage) and includes padded explanation blocks ('**Benefits:** Type safety without inheritance...'), so redundancy spans many sections rather than isolated spots — 'noticeably verbose; several unnecessary explanations or padded sections'.

2 / 5

Actionability

Nearly all code examples are executable and copy-paste ready (Protocol, dataclass, @contextmanager, ParamSpec, except* groups), with only minor gaps such as undefined names in the DI example (Repository, Logger, Cache) and an unimported wraps in log_call — 'mostly executable guidance; concrete code or commands with minor gaps'.

4 / 5

Workflow Clarity

There is no sequencing or decision guidance: sections are parallel pattern catalogs with no 'use X when Y' selection logic, and the closing 'When to Use This Skill' is a broad bullet list. Individual sections are coherent, but no checkpoints or application order exist — 'steps listed but validation gaps; checkpoints missing or implicit'.

3 / 5

Progressive Disclosure

About 415 lines of pattern detail are inlined entirely in SKILL.md with no bundle files; section headers give it some structure, but heavy detail (async patterns, advanced type hints, functional programming) that would load better from separate reference files on demand is inlined — 'some structure but could be better organized; content that should be separate is inline'.

3 / 5

Total

12

/

20

Passed

Description

75%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 solid description with third-person voice, an explicit 'Use when...' trigger, and an enumerated list of concrete capability areas. Its main weaknesses are topic-noun phrasing instead of concrete actions, a broad trigger clause, and missing natural synonyms that would sharpen distinctiveness and trigger matching.

DimensionReasoningScore

Specificity

Enumerates seven concrete capability areas ('protocols, dataclasses, context managers, decorators, async/await, type hints, and package organization'), matching the 'lists several specific actions; minor gaps' anchor; not 5 because these are topic nouns rather than concrete actions like 'extract' or 'fill'.

4 / 5

Completeness

Both 'what' (enumerated pattern areas) and 'when' ('Use when working with Python code to apply Pythonic patterns') are present, but the trigger clause is broad and lacks concrete phrases like 'designing APIs' or 'structuring packages', fitting the anchor where 'when' could be more explicit or specific.

4 / 5

Trigger Term Quality

Natural terms a user would say are present ('Python', 'working with Python code', 'Pythonic patterns', 'design patterns'), but common synonyms such as 'refactoring', 'clean code', or '.py' extensions are missing, matching the 'good keyword coverage; a few natural terms missing' anchor.

4 / 5

Distinctiveness Conflict Risk

'Python-specific' establishes a clear niche, but the trigger 'working with Python code' is broad enough to overlap with general Python coding, debugging, or testing skills — 'mostly distinct; minor overlap risk with closely related skills'.

4 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

affaan-m/ECC

Path

.kiro/skills/python-patterns/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.