<tools>
  <tool name="load_skill">
    <description>Dynamically load one or more skills into the current agent at runtime.

Use this when you need exact guidance right before acting (tool syntax, exploit workflow, or protocol details).
This updates the current agent's prompt context immediately.</description>
    <details>Accepts one skill or a comma-separated skill bundle. Works for root agents and subagents.
Examples:
- Single skill: `xss`
- Bundle: `sql_injection,business_logic`</details>
    <parameters>
      <parameter name="skills" type="string" required="true">
        <description>Comma-separated list of skills to use for the agent (MAXIMUM 5 skills allowed). Most agents should have at least one skill in order to be useful. Agents should be highly specialized - use 1-3 related skills; up to 5 for complex contexts. {{DYNAMIC_SKILLS_DESCRIPTION}}</description>
      </parameter>
    </parameters>
    <returns type="Dict[str, Any]">
      <description>Response containing: - success: Whether runtime loading succeeded - requested_skills: Skills requested - loaded_skills: Skills validated and applied - newly_loaded_skills: Skills newly injected into prompt - already_loaded_skills: Skills already present in prompt context</description>
    </returns>
    <examples>
  <function=load_skill>
  <parameter=skills>xss</parameter>
  </function>

  <function=load_skill>
  <parameter=skills>sql_injection,business_logic</parameter>
  </function>

  <function=load_skill>
  <parameter=skills>nmap,httpx</parameter>
  </function>
    </examples>
  </tool>
</tools>
