用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill python-notebooks-async命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
基于 SOC 职业分类
正在显示 SKILL.md
| name | python-notebooks-async |
| description | |- Use when this capability is needed. |
Notebook kernels own the event loop; async code must cooperate with that ownership rather than fight it.
This skill covers orchestration patterns, top-level await, and compatibility constraints for .ipynb and #%% workflows.
Treat these recommendations as preferred defaults. When project constraints require deviation, call out tradeoffs and compensating controls.
asyncio.run() raises RuntimeError inside a notebook cell.gather, TaskGroup) in IPython kernels.python-concurrency-performance.python-runtime-operations.await instead of asyncio.run() in notebook cells.asyncio.gather() or asyncio.TaskGroup..py modules, imported into notebooks.nest_asyncio only as a constrained compatibility fallback, not a default.await or collect results explicitly.asyncio.run() in a notebook cell.
The kernel already runs a loop; asyncio.run() tries to start a second one and raises RuntimeError.
Use await directly instead.nest_asyncio globally by default.
It patches the loop to allow reentrant calls but masks design problems and can hide subtle concurrency bugs.
Reserve it for legacy compatibility..py files.await silently produces a never-executed coroutine object, with no error until results are missing downstream.requests.get() block the event loop, starving concurrent tasks.
Use aiohttp, httpx, or asyncio.to_thread().python-design-modularity.references/notebooks-async.mdConverted and distributed by TomeVault — claim your Tome and manage your conversions.