CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

async-python-patterns

Master Python asyncio, concurrent programming, and async/await patterns for high-performance applications. Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations.

72

1.05x
Quality

67%

Does it follow best practices?

Impact

96%

1.05x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./tests/ext_conformance/artifacts/agents-wshobson/python-development/skills/async-python-patterns/SKILL.md

The canonical home for this skill is async-python-patterns in wshobson/agents

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-organized, highly actionable pattern catalog whose main weaknesses are token efficiency and structure: it spends most of its budget teaching textbook asyncio concepts Claude already knows, and it inlines everything into one monolithic file instead of a lean overview with one-level-deep references. Code quality is high, with only minor sloppy snippets.

Suggestions

Cut the "Core Concepts", "Quick Start", and Patterns 1–3 sections (textbook asyncio knowledge) and keep only the non-obvious material: the sync/async decision table, common pitfalls, and the asyncio.to_thread()/run_in_executor guidance.

Move the advanced patterns (6–10) and the "Real-World Applications" examples into references/ files (e.g., ADVANCED-PATTERNS.md, REAL-WORLD.md), leaving SKILL.md as a lean overview with clearly signaled one-level-deep pointers.

Add a short "which pattern when" mapping common tasks (fan-out HTTP requests, rate limiting, wrapping sync libraries, background consumers) to the relevant pattern so readers can navigate from problem to solution.

DimensionReasoningScore

Conciseness

Large stretches explain concepts Claude already knows: "The event loop is the heart of asyncio, managing and scheduling asynchronous tasks", "Coroutines: Functions defined with `async def` that can be paused and resumed", a trivial Quick Start, and textbook Patterns 1–3. It is not a 1 because it is code-heavy, well-organized, and sections like the sync/async decision table and pitfalls have real value; it is not a 3 because the known-concept padding is pervasive across ~750 lines.

2 / 5

Actionability

The examples are complete, runnable Python covering the common cases: gather, create_task, wait_for timeouts, return_exceptions error handling, producer-consumer with queue.join() and cancellation, semaphore rate limiting, and pytest-asyncio tests. A few minor gaps keep it below 5: the connection-pool example gathers session.get(...) context managers without using or closing the responses, and the "BAD" blocking example references an undefined `url`.

4 / 5

Workflow Clarity

The "Sync vs Async Decision Guide" table plus the "Key Rule: Stay fully sync or fully async within a call path" give an explicit entry decision, and sections progress coherently from fundamentals to advanced. However, there is no guidance sequencing a specific problem to the right pattern, and verification is confined to a brief pytest section — checkpoints are implicit.

3 / 5

Progressive Disclosure

Ten numbered patterns plus "Real-World Applications" and "Performance Best Practices" are all inlined in a single ~750-line SKILL.md with no reference files at all. Section headers keep it navigable (above anchor 2's headerless wall of text), but several hundred lines of pattern catalog and real-world examples clearly belong in separate reference files (below anchor 4).

3 / 5

Total

12

/

20

Passed

Description

70%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 an explicit and well-targeted "Use when" clause covering natural trigger phrases, held back by a generic "Master ... patterns" statement of what the skill actually does. Domain scoping is precise, so conflict risk is low.

Suggestions

Replace the generic verb "Master" with concrete capabilities, e.g., "Run I/O operations concurrently with asyncio.gather(), rate-limit requests with semaphores, and wrap blocking calls with asyncio.to_thread()".

Add natural trigger synonyms such as "event loop", "coroutines", or "asynchronous" to broaden matching against how users actually phrase async requests.

DimensionReasoningScore

Specificity

The description names the domain precisely ("Master Python asyncio, concurrent programming, and async/await patterns") but the only action verb is the generic "Master" — no concrete capabilities (e.g., run tasks concurrently, rate-limit requests, wrap blocking calls) are stated. It sits above anchor 2 (a single generic verb like "Processes PDF files") but below anchor 4, which requires a list of several specific actions.

3 / 5

Completeness

Both halves are present: what ("Master Python asyncio, concurrent programming, and async/await patterns for high-performance applications") and an explicit when ("Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations"). Not a 5 because the "what" is a generic mastery claim rather than concrete actions, while the "when" is explicit and specific.

4 / 5

Trigger Term Quality

Natural phrases users would say are well covered: "async APIs", "concurrent systems", "I/O-bound applications", "non-blocking operations", "async/await". It falls short of anchor 5 because common synonyms such as "event loop", "coroutines", or "asynchronous" are missing, though it clearly exceeds anchor 3's "some relevant keywords".

4 / 5

Distinctiveness Conflict Risk

"Python asyncio" and "async/await" carve a clear, distinctive niche with minimal conflict risk. Broad phrases like "concurrent programming" and "high-performance applications" create minor overlap with general parallelism or performance-tuning skills, keeping it below anchor 5.

4 / 5

Total

15

/

20

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (758 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

Dicklesworthstone/pi_agent_rust

Path

tests/ext_conformance/artifacts/agents-wshobson/python-development/skills/async-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.