brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
agents-tools-and-hitlBuild Haystack agents and tool ecosystems with Tool, Toolset, ComponentTool, PipelineTool, ToolInvoker, optional MCP/OpenAPI connectors, state, breakpoints, snapshots, and human-in-the-loop confirmation.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when a task asks for Haystack Agent loops, tool definitions, tool catalogs, tool execution, external tool connectors, human approval before tool execution, or agent debugging with tool breakpoints and snapshots.
Tool objects from Python functions with @tool, create_tool_from_function, or explicit JSON schema.Tool, Toolset, SearchableToolset, ComponentTool, or PipelineTool to an Agent, chat generator, or ToolInvoker.Agent state via state_schema, inputs_from_state, outputs_to_state, and outputs_to_string.BlockingConfirmationStrategy, policies, console UIs, or custom async strategies.ToolInvoker, AgentBreakpoint, ToolBreakpoint, snapshots, and resume flows.../pipelines-and-components/SKILL.md.../generation-and-model-components/SKILL.md.../retrieval-and-rag/SKILL.md.Agent for the full loop: chat generator -> tool call -> tool execution -> state update -> next message.ToolInvoker when the application already controls chat-generator calls and only needs to execute prepared ToolCalls.Annotated[..., "description"], Literal[...], and docstrings so LLM-visible schemas are useful.Toolset, ToolInvoker, and agent setup.ComponentTool for one Haystack component and PipelineTool for a whole pipeline. Create tools from non-pipeline component instances; components already added to a pipeline cannot be wrapped by ComponentTool.state_schema on Agent plus inputs_from_state and outputs_to_state on tools when tool calls need shared memory.confirmation_strategies={"tool_name": strategy} or tuple keys for shared strategies.scripts/tool_schema_smoke_check.py before adding provider-specific chat generators.references/api-reference.md: public imports, constructors, parameters, return shapes, state, HITL, connectors, and breakpoints.references/workflows.md: implementation recipes for function tools, component/pipeline tools, manual invocation, HITL, external tools, state, and debugging.references/troubleshooting.md: import/install, optional dependency, credential/backend, schema, state, ToolInvoker, HITL, snapshot, and connector failure modes.scripts/tool_schema_smoke_check.py: deterministic offline check for function schema generation, Toolset, ToolInvoker, and state input/output mappings.SearchableToolset for large catalogs so the model does not see dozens of irrelevant tools at once.max_agent_steps, meaningful exit_conditions, and raise_on_tool_invocation_failure=False when the model should recover from tool errors.