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.

44

Quality

45%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/async-python-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

46%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 lean and well-sectioned with sensible use/do-not-use scoping, but it functions as a hollow index: all concrete guidance is deferred to a playbook file that is absent from the bundle, leaving no executable content. Fixing or removing the dangling reference and adding one minimal worked example would address the two weakest dimensions.

Suggestions

Create resources/implementation-playbook.md (or correct the path) so the reference resolves; alternatively inline a minimal pattern and drop the broken pointer.

Add one copy-paste-ready example in SKILL.md (e.g., asyncio.gather with asyncio.wait_timeout and task cancellation) so the skill is actionable without the missing playbook.

State the playbook reference once in the Resources section instead of three times, and remove the intro sentence that duplicates the frontmatter description verbatim.

DimensionReasoningScore

Conciseness

The body is short and assumes competence — no explanation of what asyncio is or how libraries work — with only minor trimmable padding: the intro sentence repeats the frontmatter description verbatim, and the playbook pointer appears three times ('If detailed examples are required, open...', 'Refer to... for detailed patterns', and a Resources bullet). This fits anchor 4 ('efficient; minor instances of over-explanation that could be trimmed'); the duplicated reference line and verbatim intro keep it from 5.

4 / 5

Actionability

The Instructions are high-level directives ('Clarify workload characteristics', 'Pick concurrency patterns (tasks, gather, queues, pools) with cancellation rules', 'Add timeouts, backpressure, and structured error handling') with no code, commands, or worked examples — and the promised examples live in 'resources/implementation-playbook.md', which does not exist in the bundle. This matches anchor 2 ('minimal concrete guidance; high-level hints but missing the specific steps to execute'); it is above 1 because it does instruct with named mechanisms (gather, queues, timeouts), but below 3 because nothing shown is executable or concrete.

2 / 5

Workflow Clarity

The Instructions present a recognizable sequence (clarify workload → choose patterns with cancellation rules → add timeouts/backpressure/error handling → testing/debugging → escalate to the playbook), but there are no validation checkpoints or feedback loops, and 'Include testing and debugging guidance for async code paths' is a directive about what to produce rather than an executable step. This matches anchor 3 ('steps listed but validation gaps; sequence present but checkpoints missing or implicit'); steps are defined well enough to avoid 2, and no destructive/batch cap applies.

3 / 5

Progressive Disclosure

The body's one reference, 'resources/implementation-playbook.md', is referenced three times but does not exist — the bundle contains no resources/, references/, scripts/, or assets/ files, so every navigation path off the overview dead-ends. Per the guideline to score against the actual bundle structure, the disclosed structure is unfulfilled, matching anchor 2 ('minimal structure... or references are buried' in effect: the pointer is prominent but leads nowhere); it is not 3 because the single organizing reference is broken rather than merely unclear, and not 1 because the SKILL.md itself is well-sectioned with only one level of referencing.

2 / 5

Total

11

/

20

Passed

Description

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

The description clearly names its domain (async Python with asyncio/async-await) but reads as a scope statement rather than a capability inventory: verbs are generic, no concrete actions are listed, and there is no 'Use when...' trigger clause. Adding explicit triggers and framework/task-specific keywords would materially improve it.

Suggestions

Add a 'Use when...' clause with concrete trigger phrases (e.g., 'Use when the user mentions asyncio, async/await, event loops, or non-blocking I/O, or is building async APIs with FastAPI/aiohttp').

Replace generic verbs with concrete capabilities (e.g., 'Write and debug asyncio code using tasks, gather, queues, and semaphores; add timeouts and cancellation to concurrent I/O workloads').

Include natural synonyms users would say — 'event loop', 'background tasks', 'websockets', 'my script is blocked on I/O' — to improve trigger-term coverage and distinctiveness.

DimensionReasoningScore

Specificity

The description names the domain clearly ("asynchronous Python applications", "asyncio", "async/await") but the only actions offered are the generic verbs "implementing" and "building high-performance, non-blocking systems" — no concrete capabilities like extracting text or filling forms. This matches anchor 2 ('Names the domain but actions are minimal or generic'); it is not 3 because no genuinely concrete action is listed, and not 1 because the domain and tooling are specifically named.

2 / 5

Completeness

The 'what' is stated (guidance for implementing async Python apps with asyncio), but there is no 'Use when...' clause or equivalent trigger guidance, capping completeness at 3 per the judging guidelines. It matches anchor 3 ('clear what but when is missing or only weakly implied'); it is not 4 because 'when' is entirely absent, and not 2 because the 'what' is more than vague.

3 / 5

Trigger Term Quality

Relevant keywords are present ("asyncio", "async/await", "asynchronous Python", "concurrent", "non-blocking") but common variations users actually say are missing — no "event loop", "FastAPI", "aiohttp", "websockets", "background tasks", or "parallel". This fits anchor 3 ('some relevant keywords but missing common variations or synonyms'); the jargon-adjacent 'concurrent programming patterns' and absent synonyms keep it from 4.

3 / 5

Distinctiveness Conflict Risk

The asyncio/async-await niche is fairly distinct from unrelated skills, but the broad framing ("concurrent programming patterns", "high-performance... systems") creates overlap risk with general Python, performance-tuning, or framework-specific skills, and with no explicit trigger phrases to disambiguate. This matches anchor 3 ('somewhat specific but could still overlap with similar skills'); the named technology keeps it above 2, while the breadth and missing trigger clause keep it below 4.

3 / 5

Total

11

/

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
sickn33/agentic-awesome-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.