CtrlK
BlogDocsLog inGet started
Tessl Logo

m07-concurrency

CRITICAL: Use for concurrency/async. Triggers: E0277 Send Sync, cannot be sent between threads, thread, spawn, channel, mpsc, Mutex, RwLock, Atomic, async, await, Future, tokio, deadlock, race condition, 并发, 线程, 异步, 死锁

64

Quality

80%

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 ./skills/m07-concurrency/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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-structured, action-oriented Rust concurrency skill with strong decision aids and concrete error→fix mappings. Its chief gaps are absent validation checkpoints in the trace workflow and one comment-only code example.

Suggestions

Add an explicit validation checkpoint to the Trace Up/Down workflow (e.g., 'After implementing: cargo check to confirm Send/Sync bounds; stress-test lock ordering under concurrent access to detect deadlock').

Replace the comment-only 'Non-Send Types in Async' block with an executable Rust snippet showing at least one concrete option (e.g., an Arc replacement or spawn_local example).

Consolidate the repeated CPU→thread / I/O→async / sharing-model decision logic that appears in the Thinking Prompt, Decision Flowchart, and Trace Down sections into one canonical reference to reduce duplication.

DimensionReasoningScore

Conciseness

The body is mostly lean tables and short fragments that assume Claude's knowledge of Rust concurrency, with no padding explaining basic concepts. Minor redundancy — the CPU→thread / I/O→async / Arc-vs-Mutex decision is restated across the Thinking Prompt, Decision Flowchart, and Trace Down sections — keeps it just below fully efficient.

4 / 5

Actionability

Error→fix tables, a decision flowchart, and Rust code examples give mostly executable guidance. One code block ('Non-Send Types in Async') is comment-only pseudocode with no actual code, which is a minor gap.

4 / 5

Workflow Clarity

The Trace Up → domain detection → Trace Down → implement sequence is present, but there are no explicit validation checkpoints or feedback loops (e.g., verify the Send bound compiles, test for deadlock), leaving checkpoints implicit.

3 / 5

Progressive Disclosure

A single well-organized file with clear section headers and no nested references; the cross-skill pointers (domain-web, m09-domain) are routing hints, not file references. Structure is good and appropriately self-contained, though it is one flat file rather than a layered overview pointing to detail files.

4 / 5

Total

15

/

20

Passed

Description

81%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 highly targeted, trigger-rich description with excellent keyword coverage and clear distinctiveness. Its main weakness is that it lists triggers thoroughly but under-specifies the concrete actions the skill performs.

Suggestions

Add concrete action verbs to the 'what' clause (e.g., 'Diagnose and fix Rust concurrency errors, trace cross-thread Send/Sync issues to domain constraints') rather than only 'Use for concurrency/async'.

Lead with what the skill does before the trigger list so the capability is stated explicitly, not implied.

DimensionReasoningScore

Specificity

The description names the concurrency domain and lists concrete primitives/error codes (E0277, Mutex, spawn, tokio), but it does not state the concrete actions the skill performs — 'Use for concurrency/async' implies rather than specifies what the skill does.

3 / 5

Completeness

Both 'what' and 'when' are present — 'Use for concurrency/async' gives a what and the explicit Triggers list gives a strong when — but the 'what' lacks concrete action verbs, keeping it below the explicit-both anchor.

4 / 5

Trigger Term Quality

Comprehensive natural keyword coverage including error codes (E0277 Send Sync), primitives (thread, spawn, channel, mpsc, Mutex, RwLock, Atomic, async, await, Future, tokio), natural phrases ('cannot be sent between threads', 'deadlock', 'race condition'), and Chinese synonyms (并发, 线程, 异步, 死锁).

5 / 5

Distinctiveness Conflict Risk

The Rust-specific concurrency/async niche with distinctive error-code triggers (E0277) and primitive names makes it clearly distinguishable with minimal overlap risk against other skills.

5 / 5

Total

17

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
actionbook/rust-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.