Compétences rust-async-patterns

rust-async-patterns

Sûr 🌐 Accès réseau⚙️ Commandes externes

Apprenez rapidement les patterns async Rust

Async Rust peut être difficile à structurer et à déboguer. Cette compétence vous donne des patterns clairs pour les tâches Tokio, les canaux, les flux et les erreurs.

Prend en charge: Claude Codex Code(CC)
📊 69 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "rust-async-patterns". Explique comment limiter la concurrence pour les requêtes HTTP async dans Tokio.

Résultat attendu:

  • Utilise un flux sur les URLs et applique buffer_unordered avec une limite
  • Collecte les résultats et gère les erreurs par requête
  • Évite le spawn illimité pour protéger la mémoire et les sockets

Utilisation de "rust-async-patterns". Montre-moi comment coordonner entre les tâches async en utilisant des canaux.

Résultat attendu:

  • Utilise mpc::channel pour la communication un-à-un entre producteur et consommateur
  • Utilise broadcast::channel quand plusieurs consommateurs ont besoin du même message
  • Utilise oneshot::channel quand tu as besoin d'une seule réponse d'une tâche spawnée

Utilisation de "rust-async-patterns". Comment gérer les erreurs dans le code async Rust correctement ?

Résultat attendu:

  • Utilise anyhow pour les erreurs au niveau application avec enchaînement de contexte
  • Utilise thiserror pour le code de bibliothèque afin de créer des types d'erreur personnalisés
  • Enveloppe les opérations avec un timeout pour éviter le blocage indéterminé

Audit de sécurité

Sûr
v4 • 1/17/2026

Pure educational documentation containing Rust async programming examples. All static findings are false positives: 'process spawn' refers to tokio::spawn for async task management (not command execution), 'backtick execution' refers to markdown code formatting, and 'weak cryptographic algorithm' refers to keywords in documentation fields. The skill contains no tool definitions, file access, network calls, or command execution capabilities.

2
Fichiers analysés
694
Lignes analysées
2
résultats
4
Total des audits

Score de qualité

38
Architecture
100
Maintenabilité
85
Contenu
22
Communauté
100
Sécurité
87
Conformité aux spécifications

Ce que vous pouvez construire

Construire des services concurrents

Appliquez des patterns structurés pour l'orchestration des tâches, la gestion des erreurs et l'arrêt dans les services async Rust.

Déboguer les deadlocks async

Utilisez les conseils de tracing et les pièges courants pour diagnostiquer les tâches bloquées et la mauvaise utilisation des verrous.

Étudier les concepts async

Apprenez les futures, await, les flux et les canaux avec des exemples courts et ciblés.

Essayez ces prompts

Démarrage rapide async
Donne un exemple court de main async Tokio avec tracing et un appel async simulé. Explique chaque étape en une phrase.
Limite de concurrence
Montre un pattern pour limiter les tâches async concurrentes pour une liste d'URLs en utilisant Tokio ou les flux futures.
Arrêt progressif
Explique une approche d'arrêt progressif utilisant CancellationToken et un canal broadcast pour l'arrêt.
Design de trait async
Fournis un design de trait async pour un dépôt avec get, save et delete, et note l'utilisation des objets de trait.

Bonnes pratiques

  • Utilise tokio::select! pour faire la course entre les futures en toute sécurité
  • Préfère les canaux pour la coordination plutôt que l'état mutable partagé
  • Instumente les tâches async avec tracing pour l'observabilité

Éviter

  • Appeler des fonctions bloquantes comme std::thread::sleep dans du code async
  • Maintenir des verrous mutex ou rwlock à travers des points await
  • Spawner des tâches illimitées sans limite de concurrence

Foire aux questions

Est-ce compatible avec les versions actuelles de Tokio ?
Oui, les patterns ciblent Tokio 1.x et la syntaxe async Rust standard.
Est-ce que ça génère du code d'application complet ?
Non, cela fournit des patterns et exemples ciblés plutôt que des projets complets.
Puis-je l'utiliser dans un dépôt existant ?
Oui, applique les patterns à tes modules et services async actuels.
Est-ce que ça accède ou stocke mes données ?
Non, c'est une guidance statique et ne lit pas les fichiers ni n'envoie de données.
Et si mon code async仍然 reste bloqué ?
Utilise tracing, vérifie les await verrouillés et ajoute des chemins d'annulation.
En quoi est-ce différent des guides async généraux ?
Cela se concentre sur les patterns Tokio pratiques, les tâches, les canaux et les flux d'arrêt.

Détails du développeur

Structure de fichiers

📄 SKILL.md