Skip to content

docs: document async tools, deserialization allowlist, and SkillToolset - #11877

Merged
julian-risch merged 5 commits into
mainfrom
docs/v3-simple-doc-updates-5
Jul 9, 2026
Merged

docs: document async tools, deserialization allowlist, and SkillToolset#11877
julian-risch merged 5 commits into
mainfrom
docs/v3-simple-doc-updates-5

Conversation

@julian-risch

@julian-risch julian-risch commented Jul 5, 2026

Copy link
Copy Markdown
Member

Related Issues

Proposed Changes:

  • feat: Add support for async functions inside of Tool #11426Tool docs: the dataclass listing now includes async_function, and a new "Async Tools" section covers @tool on async def, the invoke/invoke_async interaction , and cross-linked notes on ComponentTool and PipelineTool. The PipelineTool page also drops its mention of AsyncPipeline.
  • feat!: Gate pipeline deserialization through a module allowlist #11432 — new "Deserialization Security" section on the Serializing Pipelines page: the trusted-module allowlist and its defaults, the blocked dangerous builtins, the three ways to extend the allowlist (allowed_modules kwarg, allow_deserialization_module, HAYSTACK_DESERIALIZATION_ALLOWLIST env var), pattern-matching rules (prefix match by default; fnmatch only for wildcards other than a trailing .*, so "mypkg" and "mypkg.*" behave identically — matching _module_matches and MIGRATION.md), the unsafe=True escape hatch, and the nested init_parameters validation with its "may surface pre-existing YAML bugs" caveat.
  • feat: Add SkillsToolset to enable Haystack's Agent to read Skills #11459/feat: Adding ImageContent and FileContent support to read_skill_file in SkillsToolset #11681 — new SkillToolset page: discovery concept, two tools, the SKILL.md format with filesystem layout, FileSystemSkillStore and the SkillStore protocol for custom backends, the one-toolset-per-Agent limitation, and multimodal skill assets. Added to the sidebar after SearchableToolset; the API reference cell deep-links to /reference/tools-api#skilltoolset.

How did you test it?

  • Tested against the v3: async @tool routing and invoke_async fallback, ToolInvocationError from sync invoke on async-only tools, DeserializationError for untrusted modules, the allowed_modules/unsafe kwargs and allow_deserialization_module import path, and a full SkillToolset round trip over a temporary skills directory.

Notes for the reviewer

Checklist

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
haystack-docs Ready Ready Preview, Comment Jul 9, 2026 2:23pm

Request Review


`SkillToolset` lets an [`Agent`](../pipeline-components/agents-1/agent.mdx) use skills through *progressive disclosure*, similar to how coding assistants like Claude Code expose skills: the model first sees only each skill's name and description, loads the full instructions when a task calls for them, and fetches bundled files only when the instructions reference them. This keeps the context small even with many detailed skills.

The toolset exposes two tools:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth adding a note how users can enable executing scripts bundled with tools. E.g. Include their own custom bash tool or script execution tool alongside the SkillsToolset.

Otherwise by default SkillsToolset only supports reading skill files and not executing anything.

@sjrl
sjrl changed the base branch from v3 to main July 8, 2026 13:21
Explain that load_skill/read_skill_file are read-only and that users
must provide their own execution tool alongside the toolset to run
scripts bundled with skills. Addresses review feedback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e mentions, deep-link SkillToolset API reference

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@julian-risch
julian-risch marked this pull request as ready for review July 9, 2026 14:30
@julian-risch
julian-risch requested a review from a team as a code owner July 9, 2026 14:30
@julian-risch
julian-risch requested review from sjrl and removed request for a team July 9, 2026 14:30

@sjrl sjrl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@julian-risch
julian-risch merged commit f8a8095 into main Jul 9, 2026
21 checks passed
@julian-risch
julian-risch deleted the docs/v3-simple-doc-updates-5 branch July 9, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants