strix/strix/tools/load_skill
jinglun010 730230effb fix: tolerate string-encoded skills param for LLM provider compatibility
Some LLM providers (e.g. qwen3.7-max via DashScope OpenAI-compatible
endpoint) serialize array-typed function call parameters as JSON-encoded
strings instead of native JSON arrays. This causes Pydantic validation
to reject the skills parameter before the function body executes,
making every create_agent and load_skill call fail.

Changes:
- Widen skills type annotation: list[str] -> str | list[str]
- Add strict_mode=False to @function_tool decorator
- Parse string inputs in function body (json.loads with comma-split fallback)

Tested with qwen3.7-max: create_agent successfully spawns child agents
that execute 23+ exec_command calls for SQL injection testing.

Closes #770
2026-07-15 14:07:11 +08:00
..
__init__.py Restore load_skill + surface skill catalog in system prompt 2026-05-25 15:02:24 -07:00
tool.py fix: tolerate string-encoded skills param for LLM provider compatibility 2026-07-15 14:07:11 +08:00