CtrlK
BlogDocsLog inGet started
Tessl Logo

async-python-patterns

Comprehensive guidance for implementing asynchronous Python applications using asyncio, concurrent programming patterns, and async/await for building high-performance, non-blocking systems.

46

Quality

33%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/antigravity-async-python-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

32%

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 identifies its domain (async Python with asyncio) but reads more like a course catalog entry than a skill selection guide. It lacks concrete actions, explicit trigger conditions, and a 'Use when...' clause, making it difficult for Claude to reliably select this skill from a large pool. The buzzword-heavy phrasing ('comprehensive guidance', 'high-performance, non-blocking systems') adds fluff without aiding selection.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about asyncio, async/await syntax, coroutines, event loops, or making Python code non-blocking.'

Replace vague framing ('comprehensive guidance') with specific concrete actions, e.g., 'Implements async functions, manages event loops, coordinates coroutines with gather/wait, handles async context managers and iterators.'

Include more natural trigger terms users would say, such as 'coroutines', 'event loop', 'aiohttp', 'async for', 'async with', 'concurrent requests', 'await'.

DimensionReasoningScore

Specificity

Names the domain (async Python with asyncio) and mentions some concepts (concurrent programming patterns, async/await, non-blocking systems), but doesn't list specific concrete actions like 'implement event loops', 'manage coroutines', 'handle async I/O operations'. The language is more descriptive than actionable.

2 / 3

Completeness

Describes what the skill covers (async Python guidance) but completely lacks any 'Use when...' clause or explicit trigger guidance. Per the rubric, a missing 'Use when...' clause should cap completeness at 2, and since the 'what' is also somewhat vague ('comprehensive guidance'), this scores a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'asyncio', 'async/await', 'asynchronous', and 'concurrent programming', which users might naturally use. However, it misses common variations like 'coroutines', 'event loop', 'aiohttp', 'async generators', 'gather', 'tasks', or problem-oriented terms like 'slow I/O', 'parallel requests'.

2 / 3

Distinctiveness Conflict Risk

The focus on asyncio and async/await in Python provides some distinctiveness, but 'concurrent programming patterns' and 'high-performance systems' are broad enough to overlap with skills about threading, multiprocessing, or general Python performance optimization.

2 / 3

Total

7

/

12

Passed

Implementation

35%

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

This skill is essentially a thin routing document that defers all substantive content to an external playbook. The SKILL.md itself provides no executable code, no concrete examples, and only abstract high-level directives. While the structure and progressive disclosure approach is reasonable, the lack of any actionable content in the main file severely limits its usefulness.

Suggestions

Add at least one concrete, executable async Python code example (e.g., a basic asyncio.gather pattern or async/await skeleton) directly in the SKILL.md as a quick-start reference.

Replace the abstract instruction bullets ('Pick concurrency patterns', 'Add timeouts') with specific, actionable guidance—e.g., 'Use asyncio.gather() for independent I/O tasks; use asyncio.Queue for producer-consumer patterns'.

Add a brief decision table or flowchart for choosing between concurrency patterns (gather vs TaskGroup vs Queue vs ProcessPoolExecutor) based on workload type.

Include a validation step in the workflow, such as 'Verify async code with asyncio.run() in isolation before integrating' to improve workflow clarity.

DimensionReasoningScore

Conciseness

The description line at the top repeats the YAML description verbatim, and the 'Use this skill when' / 'Do not use this skill when' sections are somewhat verbose for Claude's benefit. However, the instructions section itself is reasonably lean.

2 / 3

Actionability

There are no concrete code examples, no executable commands, and no specific patterns shown. The instructions are entirely abstract directives ('Pick concurrency patterns', 'Add timeouts') with no concrete guidance on how to do any of it. Everything actionable is deferred to an external file.

1 / 3

Workflow Clarity

The instructions section provides a rough sequence (clarify → pick patterns → add error handling → test), but steps are vague with no validation checkpoints, no feedback loops, and no concrete criteria for when to proceed between steps.

2 / 3

Progressive Disclosure

There is a clear reference to `resources/implementation-playbook.md` and it's one level deep, which is good. However, the SKILL.md itself contains almost no substantive content—it's essentially just a pointer to another file with no quick-start or overview content to stand on its own.

2 / 3

Total

7

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
boisenoise/skills-collections
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.