CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

44

Quality

56%

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-claude/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

32%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.

The body is a lean, well-sectioned overview whose entire substance is deferred to 'resources/implementation-playbook.md' — a file that is absent from the bundle. What remains is a list of vague, high-level directives with no code, commands, or validation steps, so the skill delivers almost no actionable guidance as shipped.

Suggestions

Create resources/implementation-playbook.md with the promised detailed patterns and examples (gather, TaskGroup, queues, timeouts, cancellation), or remove the dangling reference and inline a compact quick-start instead.

Add at least one executable code example to the body (e.g., asyncio.gather with timeouts or a worker-queue pattern) so the skill is actionable without the external file.

Rewrite the Instructions as a concrete sequenced workflow with a verification step (e.g., 'run the test suite with pytest-asyncio to confirm tasks are cancelled and timeouts fire'), replacing vague directives like 'Include testing and debugging guidance'.

DimensionReasoningScore

Conciseness

The body is short and well-sectioned, but carries noticeable redundancy: the frontmatter description is restated verbatim under the title, 'resources/implementation-playbook.md' is referenced three separate times (instruction bullet, standalone sentence, and Resources section), and meta-bullets like 'Include testing and debugging guidance for async code paths' add no instruction. This fits anchor 3 ('mostly efficient but... could be tightened') better than anchor 4, where trimming would be minor.

3 / 5

Actionability

There is no code, command, or executable example anywhere in the body — only high-level directives like 'Pick concurrency patterns (tasks, gather, queues, pools) with cancellation rules' and 'Add timeouts, backpressure, and structured error handling', matching anchor 2 ('minimal concrete guidance; high-level hints but missing the specific steps'). It is not a 1 because specific primitives are named rather than pure abstraction, and not a 3 because the promised concrete guidance lives in a file that does not exist in the bundle.

2 / 5

Workflow Clarity

The Instructions section gives a rough sequence (clarify workload → pick patterns → add timeouts/backpressure → testing → open playbook), but the steps are poorly defined — 'Include testing and debugging guidance for async code paths' is incoherent as a workflow step — and there are no validation checkpoints or error-recovery guidance, matching anchor 2 ('rough sequence present but many gaps; steps poorly defined; validation absent'). It does not reach anchor 3, whose steps are at least concretely defined.

2 / 5

Progressive Disclosure

Although sections (Use when / Do not use / Instructions / Resources) are well organized and the reference is clearly signaled, the referenced file 'resources/implementation-playbook.md' does not exist in the bundle — there is no resources/ directory at all. Per the guideline to score against the actual bundle structure, the entire disclosure chain to the detailed content is broken, a more fundamental structural failure than anchor 3's 'references present but not clearly signaled'; anchor 2 ('minimal structure... references buried/failing to deliver) is the best fit, while anchor 1's deeply-nested or monolithic condition does not apply.

2 / 5

Total

9

/

20

Passed

Description

61%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 decent, domain-specific description that clearly states what the skill covers, but it lacks any 'Use when...' trigger clause and leans on buzzwords ('Comprehensive', 'high-performance') instead of concrete capabilities. Adding explicit trigger phrases would raise completeness and distinctiveness substantially.

Suggestions

Append a 'Use when...' clause with concrete triggers, e.g. 'Use when building async web APIs (FastAPI, aiohttp), concurrent I/O pipelines, web scrapers, or WebSocket servers, or when the user mentions asyncio, async/await, or event loops.'

Replace buzzword padding ('Comprehensive guidance', 'high-performance, non-blocking systems') with concrete actions users can expect, such as 'run concurrent tasks with asyncio.gather, add timeouts and cancellation, and implement backpressure in async queues'.

Add natural synonym keywords users actually say — 'concurrency', 'event loop', 'background tasks' — to strengthen trigger-term coverage.

DimensionReasoningScore

Specificity

The description names the domain concretely ("asynchronous Python applications using asyncio, concurrent programming patterns, and async/await") with two generic actions ("implementing", "building high-performance, non-blocking systems"), matching the 'names domain and 1-2 concrete actions, but not comprehensive' anchor. It falls below anchor 4 because the actions are generic and padded with buzzwords ('Comprehensive guidance', 'high-performance') which the guidelines penalize, and above anchor 2 because it is more specific than 'names the domain but actions are minimal or generic'.

3 / 5

Completeness

The 'what' is clear (guidance for implementing async Python applications with asyncio), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which the judging guidelines cap at 3 — exactly matching anchor 3 ('Has a clear what but when is missing'). It is not a 2 because the 'what' is not vague.

3 / 5

Trigger Term Quality

It includes natural user phrases — 'asynchronous Python', 'asyncio', 'concurrent', 'async/await', 'non-blocking' — giving good keyword coverage, but misses common variations like 'concurrency', 'event loop', 'background tasks', or framework names, so it does not reach the comprehensive-with-synonyms level of anchor 5.

4 / 5

Distinctiveness Conflict Risk

Async Python with asyncio/async/await is a mostly distinct niche unlikely to trigger the wrong skill. It is not a 5 because 'high-performance... non-blocking systems' is broad enough to overlap with performance-tuning or general Python skills.

4 / 5

Total

14

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

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