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).
pipelines-and-componentsBuild, connect, run, serialize, debug, and extend Haystack Pipeline, AsyncPipeline, SuperComponent, and custom @component workflows.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when the task is about Haystack orchestration rather than a specific model, retriever, agent, or repository-maintenance command.
Pipeline and AsyncPipeline graphs with add_component(), connect(), run(), run_async(), and run_async_generator().@component classes, define input and output sockets, validate socket names/types, or debug component contract errors.max_runs_per_component, inspect intermediate outputs with include_outputs_from, and diagnose blocked or over-running graphs.to_dict(), from_dict(), dumps(), loads(), dump(), and load().SuperComponent wrappers.../generation-and-model-components/SKILL.md.../retrieval-and-rag/SKILL.md.agents-tools-and-hitl sibling when present.repo-development sibling when present.references/api-reference.md for concrete constructor signatures, component contracts, connection rules, and serialization APIs.references/workflows.md for build/debug/async/loop/super-component recipes.references/troubleshooting.md when imports, optional integrations, sockets, serialization, snapshots, or runtime execution fail.scripts/pipeline_smoke_check.py in any environment with haystack-ai installed to verify the public APIs this sub-skill relies on.from haystack import Pipeline, component
@component
class Uppercase:
@component.output_types(text=str)
def run(self, text: str) -> dict[str, str]:
return {"text": text.upper()}
pipe = Pipeline(max_runs_per_component=5)
pipe.add_component("upper", Uppercase())
result = pipe.run({"upper": {"text": "haystack"}})
assert result["upper"]["text"] == "HAYSTACK"