Nodes overview
Eighteen node types. Drop them from the palette, or drag a wire off a handle and pick from the wire-drop menu.
Sources
Section titled “Sources”Nodes that start a lane.
| Glyph | Node | Role |
|---|---|---|
| ✎ | Prompt | Free text out · {{param:}} · typed value (text/int/float/bool/json) |
| ❯ | Session | An existing provider session — continue it, or extract from it |
| ⎇ | Subagent run | A child run under a session (inert; a handle for wiring) |
Prompt has no input handle at all.
Artifacts
Section titled “Artifacts”Files and session slices pushed onto the text lane.
| Glyph | Node | Role |
|---|---|---|
| ✦ | Skill | Injects a SKILL.md |
| § | Rules | Injects CLAUDE.md / AGENTS.md / .cursorrules / .cursor/rules/* |
| ≡ | Context · distilled summary | AI-condensed brief of a session |
| ❝ | Context · transcript excerpt | Filtered raw conversation |
| ▤ | Context · files | Manifest of files the session touched |
Skill and rules nodes are pure sources. The three context glyphs are one node type in three kinds.
Transforms
Section titled “Transforms”| Glyph | Node | Role |
|---|---|---|
| ⟨/⟩ | Agent | Runs a provider CLI agent; emits its reply and its session |
| ⇄ | Text → Prompt | Wraps inbound text in a {{input}} template |
| ◷ | Delay | Wall-clock pause on the text lane (no agent) — 1 in · 1 out; good for detached-job demos |
| ⌁ | Custom | Your own node from ~/.config/threadle/nodes — text in, text out · named ports + maxConnections |
Custom node manifests may override the ⌁ glyph and declare named typed ports.
Control flow
Section titled “Control flow”| Glyph | Node | Role |
|---|---|---|
| ∀ | Iterator | Splits text into items; the downstream agent runs once per item |
| ⋈ | Knot | Explicit fan-in — concat / first / majority / synthesize |
| ‡ | Tripwire | Circuit breaker — abort / skip / park |
| ✓ | Approval | Human gate; edit the text (splice) and continue |
| ⇄ | Live handoff | Chat with an agent until Ready, then distill or excerpt and continue |
| Glyph | Node | Role |
|---|---|---|
| ⇤ | Output | Captures result text · render auto/text/markdown/html/svg · resizable |
Output also re-emits its text, so sinks can chain.
Layout
Section titled “Layout”| Glyph | Node | Role |
|---|---|---|
| ▦ | Group frame | Visual frame; links to a saved sub-workflow when extracted |
| ✎ | Note | Sticky annotation |
Executes vs inert
Section titled “Executes vs inert”The runner skips note, group and subagent-run outright — they never have a status beyond idle. A linked group frame is still inert itself, but its wires resolve onto its member nodes before the run.
Everything else executes. Two per-node overrides change that:
| Override | Effect |
|---|---|
| mute | Skipped entirely; downstream nodes starve and are skipped too |
| bypass | Inbound text passes straight through without executing |
Per-node retry (0–10 extra attempts, with backoff) and continue-on-error control what a failure does to the run.
Which nodes require input
Section titled “Which nodes require input”These are flagged before a run if nothing is wired in: output, Text → Prompt, Delay, approval, iterator, knot, tripwire, agent, custom (plus each required named port on a custom node).
Other readiness rules:
| Node | Needs |
|---|---|
| Agent | a model set in the inspector (required for detached runs) |
| Live handoff | an agent on the node, or an inbound session |
| Context | a materialized payload, or a wired session source |
| Skill / Rules | a picked artifact |
All of it surfaces continuously in loose ends.
Edges carry text, session or context, and the canvas colors them accordingly. Invalid node pairs are refused at connect time, as are mismatched value types — a source type must equal the target type, widen int → float, or feed a text target. Handles also have a connection capacity (e.g. Delay is 1 in · 1 out; Knot is multi-in · 1 out; custom named ports default to 1 — see Params & named ports).
A few text-looking pairs are forbidden on purpose: prompt → output, skill → output, rules → output, context → output. Output is for results; convert or run through an agent first.
Detail pages
Section titled “Detail pages”- Prompt, converter & output
- Agents & sessions
- Context nodes
- Skills & rules
- Iterator
- Gates — approval, live handoff, tripwire park
- Frames & sub-workflows
- Knot · Tripwire · Graph & wires