Connect to any GitHub repo and get a prioritized backlog in seconds. A Python tool fetches the ten most recent open issues and serializes them for the factory node, which classifies each one (P0–P3) with suggested labels and a triage note — up to three running concurrently. A final agent rolls everything into a markdown table grouped by priority.Documentation Index
Fetch the complete documentation index at: https://docs.sirenspec.dev/llms.txt
Use this file to discover all available pages before exploring further.
What it demonstrates
pythontool node fetching live data from an external APIfactorynode iterating over a dynamically-fetched list- Returning a JSON string from a Python tool so
for_eachcan parse it concurrencycontrolling parallel factory instances- Chaining tool → factory → agent in a three-node sequential pipeline
Prerequisites
triage module lives alongside the workflow:
Run it
Workflow
docs/cookbook/github-issues-triage/workflow.yaml
The HTTP tool adapter parses JSON responses into Python objects, which can’t be passed directly to
for_each (it expects a JSON string). The triage.py module handles fetching and returns json.dumps(list) so the factory receives a valid JSON array.How data flows
fetch_issuescallstriage.fetch_issues_as_list(), which fetches issues from the GitHub API and returns a JSON array of formatted strings (one per issue).classify_issuesresolvesfor_eachto that list, spawning one classifier per issue (up to 3 concurrently). Each receives the issue text and returns a JSON triage object.- All classifier outputs are joined at
working.classify_issues.output. write_backlogreads all classifications and produces a prioritized markdown table.
Graph
Next steps
Changelog Annotator
Factory over a static commit list — the self-contained factory showcase.
PR Summarizer
HTTP tool fetching a GitHub diff directly, without a Python wrapper.