You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: escape pipes inside inline code in markdown tables (#31)
Three table cells in writing-agent-relay-workflows/SKILL.md had unescaped
`|` characters inside backticked inline code (`bash | bash | bash`,
`cmd1 | cmd2`). GitHub-flavored Markdown still parses pipes as column
delimiters even inside backticks, which broke the column counts on those
rows. Escape them as `\|`.
Flagged by CodeRabbit and Devin Review on AgentWorkforce/relay#829.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: skills/writing-agent-relay-workflows/SKILL.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ Before writing the workflow, decide *how the agents will coordinate*. The relay
28
28
| Shape | What it is | Use when |
29
29
|---|---|---|
30
30
|**Conversation** (chat-native) | Interactive agents share a channel; messages, `@-mentions`, and ambient awareness drive coordination. Lead and workers spawn in parallel and self-organize. The relay is the coordination layer, not just transport. | Multi-file work, peer review loops, cross-agent feedback, dynamic re-planning, multi-PR coordination, anything with a human-in-the-loop escape, swarms where workers pick up each other's output. |
31
-
|**Pipeline** (one-shot DAG) | Each step runs as a one-shot subprocess (`claude -p`, `codex exec`); steps hand off via `{{steps.X.output}}` text injection. No agents are alive at the same time; no chat happens. | Linear, well-specified transformations; deterministic data passing; no review loop expected; the work could be expressed as a `bash | bash | bash` pipe. |
31
+
|**Pipeline** (one-shot DAG) | Each step runs as a one-shot subprocess (`claude -p`, `codex exec`); steps hand off via `{{steps.X.output}}` text injection. No agents are alive at the same time; no chat happens. | Linear, well-specified transformations; deterministic data passing; no review loop expected; the work could be expressed as a `bash \| bash \| bash` pipe. |
32
32
33
33
**Default to Conversation for any non-trivial work.** Pipeline DAGs are simpler to reason about but they do not exercise the relay primitive — they are a Unix pipe with extra steps. If you would happily write the same task as a single shell pipeline, pipeline-shape is fine. Otherwise, you almost certainly want a Conversation shape.
34
34
@@ -979,7 +979,7 @@ Edit files as assigned. Report completion. Fix issues from feedback.`,
979
979
| Simple edits, well-specified | One-shot DAG with `preset: 'worker'`|
980
980
| Cross-agent review feedback loop | Interactive team |
981
981
| Independent tasks, no coordination | Fan-out with non-interactive workers |
982
-
| Anything where the answer to "could this be `cmd1 | cmd2`?" is *no*| Interactive team |
982
+
| Anything where the answer to "could this be `cmd1 \| cmd2`?" is *no*| Interactive team |
983
983
984
984
### Chat-Native Coordination Recipes
985
985
@@ -1276,7 +1276,7 @@ When you set `.pattern('supervisor')` (or `hub-spoke`, `fan-out`), the runner au
1276
1276
1277
1277
| Mistake | Fix |
1278
1278
|---------|-----|
1279
-
| Treating relay as transport, not as a coordination layer (every step is `preset: 'worker'`, every handoff is `{{steps.X.output}}`) | Default to **Conversation shape** for non-trivial work — interactive agents on a shared channel. Pipeline-shape is only correct when the work could be expressed as a `bash | bash | bash` pipe. |
1279
+
| Treating relay as transport, not as a coordination layer (every step is `preset: 'worker'`, every handoff is `{{steps.X.output}}`) | Default to **Conversation shape** for non-trivial work — interactive agents on a shared channel. Pipeline-shape is only correct when the work could be expressed as a `bash \| bash \| bash` pipe. |
1280
1280
| Interactive agents on a channel whose task strings don't tell them to talk to each other | Pick a [Chat-Native Coordination Recipe](#chat-native-coordination-recipes) (Q/A, Broadcast/Ack, Peer Review, Standup, Hand-Off) and bake it into the task prompt — otherwise you're paying for a chat substrate you're not using |
1281
1281
| All workflows run sequentially | Group independent workflows into parallel waves (4-7x speedup) |
1282
1282
| Every step depends on the previous one | Only add `dependsOn` when there's a real data dependency |
0 commit comments