mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-07-10 01:18:29 +00:00
Default empty skills_tool calls to list, accept legacy method as a deprecated action alias, and warn when malformed SKILL.md frontmatter causes a skill to be skipped. Update the helper/tool DOX notes and focused regressions.
3.1 KiB
3.1 KiB
skills_tool.py DOX
Purpose
- Own the
skills_tool.pyagent tool. - This module searches, loads, and lists Agent Zero skills for the agent.
- Keep this file-level DOX profile synchronized with
skills_tool.pybecause this directory is intentionally flat.
Ownership
skills_tool.pyowns the runtime implementation.skills_tool.py.dox.mdowns durable notes about responsibilities, contracts, side effects, and verification for that implementation.- Classes:
SkillsTool(Tool)get_log_object(self)async before_execution(self, **kwargs)async execute(self, **kwargs) -> Response_visible_skill_loaded(self, skill_name: str) -> bool
- Top-level functions:
max_loaded_skills() -> int- Notable constants/configuration names:
DATA_NAME_LOADED_SKILLS.
Runtime Contracts
- Tool modules must define
helpers.tool.Toolsubclasses and returnhelpers.tool.Responsefromexecute(...). - Update this file whenever tool arguments, output shape,
break_loopbehavior, intervention handling, prompt instructions, or side effects change. SkillsToolis aTool.SkillsTooldefinesexecute(...).- Loading a skill appends the full skill body as a normal tool-result history message with
skill_instructionsmetadata containing name, path, source, and content visibility. - Loaded skill IDs are stored in chat-wide context data.
- Duplicate loads omit the full body when the same skill name remains visible in model history.
- Missing or empty
actiondefaults tolist, and legacymethodis accepted as a deprecated alias whenactionis absent. - Observed side-effect areas: filesystem reads, filesystem deletion, settings/state persistence, chat history persistence.
- Imported dependency areas include:
__future__,helpers,helpers.print_style,helpers.tool,pathlib,typing.
Key Concepts
- Important called helpers/classes observed in the source:
str.strip.lower.replace,skill_name.strip,super.get_log_object,self._normalize_skill_name,self.get_log_object,skills_helper.list_skills,join,skills_helper.search_skills,skills_helper.find_skill,skills_helper.load_skill_for_agent,skills_helper.add_loaded_skill_name,skills_helper.skill_instruction_name,skill.path.resolve,Path,resolved.read_text,skill_name.startswith,skill_name.endswith,self._current_action,self.agent.context.log.log,Response,strip,target.is_absolute. - Keep request/response, tool, or helper semantics documented here at the same time as source changes.
Work Guidance
- Keep tool output concise, model-readable, and safe for history persistence.
- Coordinate argument or behavior changes with prompt tool instructions and skill guidance.
- Respect intervention flow for long-running, external, or user-visible operations.
Verification
- Run targeted tool and prompt-contract tests for changed behavior; smoke-test agent execution when no focused test exists.
- Related tests observed by source search:
tests/test_document_query_plugin.pytests/test_tool_action_contracts.py
Child DOX Index
No child DOX files.