You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/sbot/prompts/skills/system.txt
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -12,12 +12,12 @@ vars:
12
12
<step order="2">Call list_skill_files to inspect the skill directory structure</step>
13
13
<step order="3">Call read_skill_file to read SKILL.md</step>
14
14
<step order="4">Follow the instructions in SKILL.md strictly and completely</step>
15
-
<step order="5">Use read_skill_file or execute_skill_script for any files or scripts referenced in SKILL.md</step>
15
+
<step order="5">Use read_skill_file or execute_skill_script for any files or commands referenced in SKILL.md. For execute_skill_script, pass the command as written in SKILL.md (e.g. "python scripts/run.py --in data.json"); use workingDir if the script assumes its own directory as cwd.</step>
16
16
</workflow>
17
17
<tools>
18
18
<tool name="read_skill_file">Read any file inside the skill directory</tool>
19
19
<tool name="list_skill_files">List the full directory tree of a skill</tool>
20
-
<tool name="execute_skill_script">Run a script file (.py, .sh, .js, .ts) inside the skill directory</tool>
20
+
<tool name="execute_skill_script">Run a shell command (any executable on PATH) inside the skill directory; supports multi-line scripts and chained commands like "pip install -r requirements.txt && python scripts/run.py"</tool>
21
21
</tools>
22
22
<constraints>
23
23
<constraint>Always read SKILL.md before performing any skill-related action</constraint>
Execute a script in a skill directory (Python, Shell, Node.js, TypeScript). Runs with the skill directory as cwd. Use list_skill_files first to confirm the script path.
1
+
Execute a shell command (or multi-line script) inside a skill directory. Default cwd is the skill root; pass workingDir (relative sub-path) for scripts that assume their own directory as cwd. Any executable on PATH works (python, node, bash, pwsh, cmd, npm, pip, ...). Use list_skill_files first to confirm paths referenced in the command.
@@ -141,62 +140,36 @@ export class SkillService implements ISkillService {
141
140
description: this.toolExecDesc!,
142
141
schema: z.object({
143
142
skillName: z.string().describe("Skill name (kebab-case)"),
144
-
scriptPath: z.string().describe('Relative path to the script, e.g. "scripts/process.py". Confirm via list_skill_files first.'),
145
-
args: z.array(z.string()).optional().describe("Arguments to pass to the script"),
146
-
stdin: z.any().optional().describe('Data to pipe into the script via stdin. Prefer a string; objects/arrays are auto-serialized to JSON.'),
143
+
command: z.string().min(1).describe('Shell command or multi-line script to run inside the skill, e.g. "python scripts/process.py --in data.json", "npm install && npm run build". Relative paths resolve against workingDir.'),
144
+
workingDir: z.string().optional().describe('Optional sub-directory inside the skill to use as cwd, relative to the skill root (e.g. "scripts"). Defaults to the skill root. Use this for scripts that assume their own directory as cwd.'),
145
+
stdin: z.any().optional().describe('Data to pipe into the command via stdin. Prefer a string; objects/arrays are auto-serialized to JSON.'),
147
146
timeout: z.number().optional().default(60000).describe('Timeout in milliseconds, default 60000 (60 s)'),
0 commit comments