From ce550a127b7dc972651bd15b9f09979a2c38688f Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Wed, 12 Aug 2026 00:02:23 +0900 Subject: feat: harden Python workflow and structured planning Replace the uv-specific skill with a portable Python skill and rewrite the default user system prompt as a concise, structured Markdown execution policy. Normalize a single fenced structured-JSON response, retry invalid skill selection with think disabled, validate selected skill output, and make coding plans keep editing and verification in one task. Document the file_edit patch payload, expose that contract in the tool catalog, and convert malformed patch input into a retryable tool failure instead of terminating the agent task. Update configuration and runtime tests for the Python skill, exact tool catalog, structured-output retry, and implementation-and-verification planning guidance. Verified with 82 Agent.Core tests and an agent-mcp Python scheduling scenario with 49 passing unittest cases. --- skills/python-via-uv/SKILL.md | 27 --------------------------- skills/python-via-uv/agents/openai.yaml | 4 ---- skills/python/SKILL.md | 30 ++++++++++++++++++++++++++++++ skills/python/agents/openai.yaml | 4 ++++ 4 files changed, 34 insertions(+), 31 deletions(-) delete mode 100644 skills/python-via-uv/SKILL.md delete mode 100644 skills/python-via-uv/agents/openai.yaml create mode 100644 skills/python/SKILL.md create mode 100644 skills/python/agents/openai.yaml (limited to 'skills') diff --git a/skills/python-via-uv/SKILL.md b/skills/python-via-uv/SKILL.md deleted file mode 100644 index d840e4d..0000000 --- a/skills/python-via-uv/SKILL.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: python-via-uv -description: uv経由でPythonコードを作成・実行・検証する。ユーザーがPythonによる計算、データ処理、自動化、試作、デバッグ、またはスクリプト実行を求めたときに使用する。 ---- - -# Python via uv - -1. 作業directoryと必要な入出力を確認し、コードは許可されたdirectory内の`.py`へ`file_edit`で保存する。複雑なコードを`python -c`へ詰め込まない。 -2. 承認済み`uv.exe`を`process_run`し、projectではcwdから`uv python find --offline --no-python-downloads --resolve-links`、単独scriptでは同じ引数へ`--no-project`を追加してinterpreterの絶対pathを取得する。 -3. 取得した承認済み`python.exe`を別の`process_run`で起動し、`-I