Agent Skills
› zzatpku/AgentFactory
› modify_subagent
modify_subagent
GitHub用于精确替换子代理文件中的代码片段,支持工作区文件和已保存技能。通过指定旧内容和新内容进行修改,适用于修复bug、更新逻辑等微调场景,并建议配合run_subagent进行测试验证。
Trigger Scenarios
需要修改现有子代理的具体代码实现
修复子代理中存在的bug或逻辑缺陷
对已保存的技能进行小范围的精准调整
Install
npx skills add zzatpku/AgentFactory --skill modify_subagent -g -y
SKILL.md
Frontmatter
{
"name": "modify_subagent",
"description": "Edit an existing subagent file by replacing specific code snippets. Supports both workspace files and saved skills."
}
Modify Subagent
Edit an existing subagent file by replacing specific code snippets. Supports two modes:
- Workspace file (default): Modify a file in the current workspace.
- Saved skill: Provide
skill_nameto modify a previously saved skill. The skill's code is copied to workspace and modified there.
After modifying, use run_subagent to test — it will automatically run the modified version.
Usage
Modify a workspace file
<action>modify_subagent</action>
<params>
{
"filename": "subagent.py",
"old_content": "exact code to replace",
"new_content": "new code"
}
</params>
Modify a saved skill
<action>modify_subagent</action>
<params>
{
"skill_name": "web_searcher",
"old_content": "exact code to replace",
"new_content": "new code"
}
</params>
You can also specify filename to target a specific file within the saved skill (defaults to the skill's entry_file):
<action>modify_subagent</action>
<params>
{
"skill_name": "web_searcher",
"filename": "helper.py",
"old_content": "exact code to replace",
"new_content": "new code"
}
</params>
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| filename | str | entry_file or "subagent.py" | Name of the file to modify. When used with skill_name, defaults to the skill's entry_file. |
| skill_name | str | "" | (Optional) Name of a saved skill to modify. |
| old_content | str | required | Exact code snippet to find and replace |
| new_content | str | required | New code to replace with |
Returns
On success:
{
"success": True,
"path": "/path/to/file.py",
"message": "Subagent code modified."
}
On failure:
{
"success": False,
"error": "old_content not found in file..."
}
Important Notes
- The
old_contentmust be an exact match of text in the source file - This modifies your SOURCE CODE, not the subagent's output
- After modifying, use
run_subagentto test the changes — it will run the modified version - When modifying a saved skill, use
run_subagentwith the sameskill_nameto test - When to modify vs. create new: Only use
modify_subagenton a saved skill when the skill itself has problems — e.g. it contains hardcoded values, lacks generality, has bugs, or otherwise cannot be reused as-is. If the saved skill is fine but you simply want to borrow ideas or patterns from it for a similar but different task, you shouldview_subagent_codeto study its code, then usecreate_subagentto build a new one. Do NOT modify a working, general-purpose skill just to adapt it to a different task. modify_subagentvs.supersedesinfinish: These serve different purposes:modify_subagentwithskill_name: For small, surgical fixes (bug fixes, selector updates, minor logic changes). The skill name and file name stay the same. Changes are saved back to the original skill directory atfinishtime.create_subagent(new file) +supersedesinfinish: For major rewrites where the architecture, approach, or file name changes significantly. This creates a new skill and removes the old one. Use this whenmodify_subagentwould require replacing most of the code.
Version History
- df92287 Current 2026-07-25 08:38


