Skip to content

Commit f8a7346

Browse files
leeyyicursoragent
authored andcommitted
refactor(skills): 将示例 skill 目录由 python_math 重命名为 python-math
- examples/skills 与 examples/skills_with_container 下示例 skill 目录改用连字符命名 - 同步更新 README、agent/tools.py、docs/mkdocs/{en,zh}/skill.md 与 openclaw/config_full.temp.yaml 中的引用 - 调整容器示例日志展示,体现 host:// / workspace:// / skill:// 三种 input scheme 全部成功落地 Assisted-by: Cursor:claude-opus-4.7 Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent c675689 commit f8a7346

9 files changed

Lines changed: 25 additions & 13 deletions

File tree

docs/mkdocs/en/skill.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ python3 run_agent.py
218218
```
219219

220220
Example skill (excerpt):
221-
[examples/skills/skills/python_math/SKILL.md](../../../examples/skills/skills/python_math/SKILL.md)
221+
[examples/skills/skills/python-math/SKILL.md](../../../examples/skills/skills/python-math/SKILL.md)
222222

223223
Tips:
224224
- Describe the task you want to accomplish; the model will decide whether a skill is needed based on the overview.
@@ -2135,6 +2135,6 @@ The **Dynamic Tool Selection** mechanism has been fully implemented and verified
21352135
- Dynamic tool selection full example: [examples/skills_with_dynamic_tools/run_agent.py](../../../examples/skills_with_dynamic_tools/run_agent.py)
21362136
- Example structure guide: [examples/skills/README.md](../../../examples/skills/README.md)
21372137
- Example skills:
2138-
- [examples/skills/skills/python_math/SKILL.md](../../../examples/skills/skills/python_math/SKILL.md)
2138+
- [examples/skills/skills/python-math/SKILL.md](../../../examples/skills/skills/python-math/SKILL.md)
21392139
- [examples/skills/skills/file_tools/SKILL.md](../../../examples/skills/skills/file_tools/SKILL.md)
21402140
- [examples/skills/skills/user_file_ops/SKILL.md](../../../examples/skills/skills/user_file_ops/SKILL.md)

docs/mkdocs/zh/skill.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ python3 run_agent.py
217217
```
218218

219219
示例技能(摘录):
220-
[examples/skills/skills/python_math/SKILL.md](../../../examples/skills/skills/python_math/SKILL.md)
220+
[examples/skills/skills/python-math/SKILL.md](../../../examples/skills/skills/python-math/SKILL.md)
221221

222222
提示词:
223223
- 说出你想要完成的任务;模型会根据概览决定是否需要某个技能。
@@ -2133,6 +2133,6 @@ Tools:
21332133
- 动态工具选择完整示例:[examples/skills_with_dynamic_tools/run_agent.py](../../../examples/skills_with_dynamic_tools/run_agent.py)
21342134
- 示例结构说明:[examples/skills/README.md](../../../examples/skills/README.md)
21352135
- 示例技能:
2136-
- [examples/skills/skills/python_math/SKILL.md](../../../examples/skills/skills/python_math/SKILL.md)
2136+
- [examples/skills/skills/python-math/SKILL.md](../../../examples/skills/skills/python-math/SKILL.md)
21372137
- [examples/skills/skills/file_tools/SKILL.md](../../../examples/skills/skills/file_tools/SKILL.md)
21382138
- [examples/skills/skills/user_file_ops/SKILL.md](../../../examples/skills/skills/user_file_ops/SKILL.md)
File renamed without changes.
File renamed without changes.

examples/skills_with_container/README.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,26 @@ python3 run_agent.py
3838
Docker client initialized successfully
3939
Container bind mounts enabled: [... 'skills:...:ro', '/tmp/skillrun-inputs:/opt/trpc-agent/inputs:ro']
4040
...
41-
🔧 [Invoke Tool:: skill_run({... 'inputs': [..., 'workspace://skills/python_math/SKILL.md', ...], ...})
42-
📊 [Tool Result: {'error': 'tool_execution_error', ... "Failed to stage input: ... SKILL.md': No such file or directory" ...}]
41+
🔧 [Invoke Tool:: skill_run({... 'inputs': [
42+
'host:///tmp/skillrun-inputs/sales.csv',
43+
'workspace://skills/python-math/SKILL.md',
44+
'skill://python-math/scripts/fib.py',
45+
], ...})
46+
📊 [Tool Result: {
47+
'stdout': '', 'stderr': '', 'exit_code': 0,
48+
'output_files': [
49+
{'name': 'out/fib.txt', 'content': '0\n1\n1\n2\n3\n5\n8\n13\n21\n34\n', ...},
50+
{'name': 'out/staged_inputs_tree.txt', 'content':
51+
'work/inputs:\nsales.csv\n---\nwork/staged_inputs:\nfib.py\npython-math_skill.md\n', ...},
52+
],
53+
...
54+
}]
4355
...
4456
```
4557

4658
## 结果分析(是否符合要求)
4759

48-
符合本示例测试要求:容器成功启动并完成一次 `skill_run` 调用链;日志清晰展示 `host://` `skill://` 等路径处理及 `workspace://` 在当期 workspace 中缺失时的失败信息,达到演示 stage_inputs 行为的目的
60+
符合本示例测试要求:容器成功启动并完成一次 `skill_run` 调用链;`host://` / `workspace://` / `skill://` 三种 input scheme 都成功落入工作区,输出文件 `out/fib.txt``out/staged_inputs_tree.txt` 正常产出,进程以 `exit_code=0` 结束
4961

5062
## 适用场景建议
5163

examples/skills_with_container/agent/tools.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,19 @@ def build_container_stage_inputs_specs(inputs_host: str = "/tmp/skillrun-inputs"
8383
),
8484
WorkspaceInputSpec(
8585
# This file exists after skill staging, so the workspace:// demo is stable.
86-
src="workspace://skills/python_math/SKILL.md",
87-
dst="work/staged_inputs/python_math_skill.md",
86+
src="workspace://skills/python-math/SKILL.md",
87+
dst="work/staged_inputs/python-math_skill.md",
8888
mode="copy",
8989
),
9090
WorkspaceInputSpec(
91-
src="skill://python_math/scripts/fib.py",
91+
src="skill://python-math/scripts/fib.py",
9292
dst="work/staged_inputs/fib.py",
9393
mode="copy",
9494
),
9595
]
9696

9797

98-
def build_container_skill_run_payload(skill_name: str = "python_math",
98+
def build_container_skill_run_payload(skill_name: str = "python-math",
9999
inputs_host: str = "/tmp/skillrun-inputs") -> dict[str, Any]:
100100
"""Build a full ``skill_run`` payload for container mode demonstration.
101101
@@ -108,7 +108,7 @@ def build_container_skill_run_payload(skill_name: str = "python_math",
108108
skill_name,
109109
"cwd":
110110
f"$SKILLS_DIR/{skill_name}",
111-
"command": ("python scripts/fib.py --n 10 > out/fib.txt && "
111+
"command": ("python scripts/fib.py 10 > out/fib.txt && "
112112
"(ls -R work/inputs; echo '---'; ls -R work/staged_inputs) > out/staged_inputs_tree.txt"),
113113
"inputs": [spec.model_dump() for spec in build_container_stage_inputs_specs(inputs_host=inputs_host)],
114114
"output_files": [

examples/skills_with_container/skills/python_math/SKILL.md renamed to examples/skills_with_container/skills/python-math/SKILL.md

File renamed without changes.

examples/skills_with_container/skills/python_math/scripts/fib.py renamed to examples/skills_with_container/skills/python-math/scripts/fib.py

File renamed without changes.

trpc_agent_sdk/server/openclaw/config_full.temp.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ skills:
8888
skill_roots: []
8989
# 示例:
9090
# skill_roots:
91-
# - /data/xxx/python_math
91+
# - /data/xxx/python-math
9292
# - file:///tmp/test_skill.zip
9393
# - http://127.0.0.1:8088/archive/test_skill.zip
9494
# - file:///data/xxx/skill_dir

0 commit comments

Comments
 (0)