Skills Plugins MCP Prompt Model 博客 我的中心
開発 #python #agent

setup-python-tools

Pyodide Python tools for an already-approved in-app useAtlasChat UI. EOS sidebar Python tools run from agent CDF config — do not vendor Pyodide. Triggers: Pyodide, pythonRuntime, usePyodideRuntime, runPythonCode.

DeepseekModel キュレーション済みスキル 品質 良好 · 64 v1.0.0

取得

https://deepseekmodel.com/api/download.php?id=cognitedata-builder-skills-skills-setup-python-tools-skill-md&format=skill
ダウンロード .skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name setup-python-tools description Pyodide Python tools for an already-approved in-app useAtlasChat UI. EOS sidebar Python tools run from agent CDF config — do not vendor Pyodide. Triggers: Pyodide, pythonRuntime, usePyodideRuntime, runPythonCode. allowed-tools Read, Glob, Grep, Edit, Write, Bash metadata {"argument-hint":"[tool-names or agent-external-id]"} Set Up Python Tool Execution Add client-side Pyodide execution for $ARGUMENTS . Skip this if the app uses the Atlas / EOS sidebar ( integrate-fusion-agent ). Prerequisite: src/atlas-agent/ from integrate-atlas-chat , plus @sinclair/typebox . Copy python.ts , pyodide.ts , pyodide-react.ts , pyodide-runtime.ts from integrate-atlas-chat/code/ into src/atlas-agent/ . CDF runPythonCode tools arrive as toolConfirmation + clientTool . Wire usePyodideRuntime and pass pythonRuntime to useAtlasChat — no PythonToolConfig entries. Pyodide is ~30MB, cached after first load. Step 1 — Understand the app Read these files before touching anything: package.json — detect package manager and existing deps The component that calls useAtlasChat — understand current tools/config Step 2 — Install Pyodide Install exactly pyodide@0.29.3 using the app's package manager. This version must match the CDN artifacts loaded at runtime — installing a different version will cause errors. pnpm → pnpm add pyodide@0.29.3 npm → npm install pyodide@0.29.3 yarn → yarn add pyodide@0.29.3 @sinclair/typebox should already be installed from integrate-atlas-chat . Add it if missing. Step 3 — Set up usePyodideRuntime In the component that calls useAtlasChat , add the Pyodide runtime hook: import { loadPyodide } from "pyodide" ; import { usePyodideRuntime } from "./atlas-agent/pyodide-react" ; import { useAtlasChat } from "./atlas-agent/react" ; function MyChat ( ) { const { sdk, isLoading } = useDune (); // Initialize Python runtime (loads Pyodide, installs packages, sets up Cognite SDK) const { runtime : pythonRuntime, loading : pythonLoading, progress : pythonProgress, error : pythonError, isReady : pythonReady, } = usePyodideRuntime ({ loadPyodide, client : isLoading ? null : sdk, requirements : [ "pandas" , "numpy" ], // optional — additional packages }); // ... useAtlasChat below } Hook API reference Return field Type Description runtime PythonRuntime | undefined The initialized runtime, or undefined if not ready loading boolean True while Pyodide is loading / initializing error string | null Error message if initialization failed progress { stage: string; percent: number } Current init progress for UI display isReady boolean Convenience: !loading && !error && runtime !== undefined Loading state UI Place the loading indicator above the chat input , not in the message list. Keep it compact — a pill/badge showing stage text and percent. Show an error badge separately. First load is ~30-60s (downloads ~30MB); subsequent loads are <2s from browser cache. { /* Loading — shown above the input while Pyodide initializes */ } {pythonLoading && ( < div className = "flex items-center gap-2 rounded-lg border bg-muted/50 px-3 py-2 text-sm text-muted-foreground" > {/* Optional: < IconBrandPython /> from @tabler/icons-react */} < span > {pythonProgress.stage || "Initializing Python..."} </ span > {pythonProgress.percent > 0 && pythonProgress.percent < 100 && ( < span className = "text-xs opacity-70" > ({pythonProgress.percent}%) </ span > )} </ div > )} { /* Error — shown if init fails (after loading finishes) */ } {pythonError && !pythonLoading && ( < div className = "flex items-center gap-2 rounded-lg border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive" > < span > Python runtime failed to load </ span > </ div > )} Step 4 — Wire into useAtlasChat Pass the runtime to useAtlasChat . That's all — no tool configs needed: const { messages, send, isStreaming, progress, error, reset, abort } = useAtlasChat ({ client : isLoading ? null : sdk, agentExternalId : "my-agent" , tools : [renderTimeSeries], // regular client tools (declared to agent), if any pythonRuntime, // from usePyodideRuntime — enables Python tool execution }); Note : Python tools are NOT declared to the agent via tools . The agent already knows about them from its CDF config. The library fetches the code automatically when needed. Step 5 — Disable input while Python loads The user shouldn't send messages before the runtime is ready. Disable the entire input area (not just the send button) so the state is unambiguous: < ChatInput onSend={handleSend} disabled={isStreaming || pythonLoading} // ... /> If you have a home page with suggestion chips, disable those too: < ChatHomePage onSuggestionClick={handleSuggestionClick} disabled={pythonLoading} /> Done The app can now execute Python tools client-side via Pyodide. When the agent calls a Python tool, the library automatically fetches its code from the agent config, runs it in the browser, and returns the result to the agent.
このスキルを起動するキーワード。クリックでコピーできます。

このスキルにはトリガーワードがありません。

ダウンロードした .skill に含まれるフィールド。
フィールド 説明
formatフォーマット識別子(skill/v1)
skill_idスキル固有 ID
nameスキル名
versionバージョン
description説明
categoryカテゴリ(配列)
trigger_wordsトリガーワード
tagsタグ
sourceソース
source_urlソース URL(本ページ)
exported_atエクスポート日時(ダウンロード毎)
system_promptシステムプロンプト本文
model_configモデル設定:provider / model / temperature / max_tokens / top_p
examplesサンプル
install_guide各プラットフォームの導入説明(Coze / Dify / Claude / カスタム)
同じスキルを各プラットフォーム形式で出力できます。
.skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能 ダウンロード
.skillpro 拡張形式。scripts / tools / dependencies / hooks を含む ダウンロード
.json 純粋な JSON 出力。system_prompt とモデル設定のみ ダウンロード
Coze frontmatter 付き Markdown。Coze へのインポート用 ダウンロード
Dify Dify DSL。アプリ作成後にそのままインポート ダウンロード

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。