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.

36

Quality

33%

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 ./plugins/AI-Agents-Safe-Coding-Skills/skills/async-python-patterns/SKILL.md

The canonical home for this skill is async-python-patterns in rmyndharis/antigravity-skills

SKILL.md
Quality
Evals
Security

Quality

Content

35%Scale 1-3

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 that delegates all substantive content to an external resource file. The SKILL.md body lacks any concrete code examples, executable guidance, or specific async patterns, making it nearly useless on its own. While the structure and conciseness are reasonable, the complete absence of actionable content is a critical weakness.

Suggestions

Add at least one concrete, executable async Python code example (e.g., asyncio.gather for concurrent HTTP requests) directly in the SKILL.md as a quick-start reference.

Replace the abstract instruction bullets ('Pick concurrency patterns', 'Add timeouts') with specific guidance showing which pattern to use when, with brief code snippets.

Include a decision tree or concrete criteria for choosing between asyncio.gather, TaskGroups, semaphores, and queues rather than just listing them as options.

Add a validation/verification step in the workflow, such as 'Test with asyncio.run() in isolation before integrating' to improve workflow clarity.

DimensionReasoningScore

Conciseness

The skill is relatively brief but includes some unnecessary content like the description repeating the title, and the 'Use this skill when' / 'Do not use this skill when' sections are somewhat verbose lists that Claude could infer. The instructions section itself is lean.

2 / 3

Actionability

The skill provides no concrete code examples, no executable commands, and no specific patterns. The instructions are entirely abstract directives like 'Pick concurrency patterns' and 'Add timeouts' without showing how. All actual content is deferred to an external resource file.

1 / 3

Workflow Clarity

The instructions list a rough sequence (clarify → pick patterns → add error handling → test), but steps are vague with no validation checkpoints, no concrete commands, and no feedback loops for error recovery.

2 / 3

Progressive Disclosure

There is a clear reference to `resources/implementation-playbook.md` for detailed content, which is good progressive disclosure. However, the SKILL.md itself is too thin — it's essentially an empty shell that delegates everything to the resource file without providing any useful quick-start content.

2 / 3

Total

7

/

12

Passed

Description

32%Scale 1-3

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' rather than listing concrete actions. It completely lacks a 'Use when...' clause, making it difficult for Claude to know when to select this skill. The trigger terms are decent but could be expanded with more specific async Python terminology.

Suggestions

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

Replace 'Comprehensive guidance for implementing' with specific concrete actions like 'Implements async event loops, manages coroutines and tasks, handles concurrent I/O operations, structures async/await patterns.'

Add more natural trigger terms users would say, such as 'coroutines', 'event loop', 'aiohttp', 'async generators', 'gather', 'concurrent.futures', and 'async context managers'.

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' is fluffy), this scores a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'asyncio', 'async/await', 'asynchronous', and 'non-blocking', which users might naturally use. However, it misses common variations like 'coroutines', 'event loop', 'aiohttp', 'async generators', 'gather', 'tasks', or 'concurrent.futures' that users would commonly mention.

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

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
administrakt0r/AI-Agents-Safe-Coding-Skills
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.