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.

34

Quality

30%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

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 relies on vague, high-level language like 'comprehensive guidance' and 'high-performance, non-blocking systems' without listing concrete actions. It completely lacks a 'Use when...' clause, making it difficult for Claude to know when to select this skill over others. The description reads more like a course catalog entry than a functional skill selector.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about asyncio, coroutines, event loops, async/await syntax, or concurrent I/O in Python.'

Replace 'comprehensive guidance' with specific concrete actions, e.g., 'Write coroutines, manage event loops, coordinate tasks with gather/wait, handle async context managers, and implement async generators.'

Include more natural trigger terms users would say, such as 'coroutine', 'event loop', 'aiohttp', 'async for', 'async with', 'task cancellation', and 'semaphore'.

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 concrete actions like 'write coroutines', 'manage event loops', 'handle task cancellation', etc. 'Comprehensive guidance' and 'high-performance' are vague filler.

2 / 3

Completeness

Describes what the skill covers (async Python guidance) but completely lacks any 'Use when...' clause or explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also somewhat vague, so 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', 'gather', 'tasks', or 'non-blocking I/O'.

2 / 3

Distinctiveness Conflict Risk

The focus on asyncio and async/await in Python provides some distinctiveness, but 'concurrent programming patterns' is broad enough to overlap with threading, multiprocessing, or general Python skills. The lack of explicit triggers increases conflict risk.

2 / 3

Total

7

/

12

Passed

Implementation

27%

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 table of contents with no substantive content. It defers all concrete guidance to a referenced playbook file that doesn't exist in the bundle, leaving the skill with zero executable examples, no specific patterns, and only abstract instructions. The content fails to teach Claude anything it doesn't already know about async Python.

Suggestions

Add at least 2-3 concrete, executable code examples directly in SKILL.md covering core patterns (e.g., asyncio.gather, task groups, semaphore-based rate limiting).

Include the referenced `resources/implementation-playbook.md` in the bundle, or inline the essential patterns if the playbook doesn't exist.

Replace abstract instructions like 'Pick concurrency patterns' with specific decision criteria and code snippets showing each pattern.

Add a concrete workflow with validation steps, e.g., 'Run with asyncio.run(main()) → check for RuntimeError if loop already running → use nest_asyncio if in Jupyter'.

DimensionReasoningScore

Conciseness

The skill includes some unnecessary sections like 'Use this skill when' and 'Do not use this skill when' which are somewhat verbose and explain things Claude can infer. The 'Limitations' section contains generic boilerplate. However, the instructions section itself is reasonably lean.

2 / 3

Actionability

The skill provides no concrete code examples, no executable commands, and no specific patterns. The instructions are entirely abstract ('Pick concurrency patterns', 'Add timeouts') without showing how. It describes rather than instructs, and defers all concrete content to a referenced file that doesn't exist in the bundle.

1 / 3

Workflow Clarity

The instructions section provides a rough sequence (clarify → pick patterns → add error handling → test), but steps are vague and lack validation checkpoints. There are no concrete verification steps or feedback loops for what could be complex async implementations.

2 / 3

Progressive Disclosure

The skill references `resources/implementation-playbook.md` for all substantive content, but no bundle files are provided, meaning the reference leads nowhere. The SKILL.md itself is essentially an empty shell with no actionable content of its own, making the progressive disclosure structure broken.

1 / 3

Total

6

/

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.