Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ Package metadata lives in [prpm.json](prpm.json). The repo currently publishes `
| [choosing-swarm-patterns](skills/choosing-swarm-patterns/SKILL.md) | 1.1.5 | Pick the right Agent Relay orchestration pattern across the 10 core swarm patterns plus specialized patterns. |
| [writing-agent-relay-workflows](skills/writing-agent-relay-workflows/SKILL.md) | 2.0.0 | **DEPRECATED** - the superseded v1 `@relayflows/core` WorkflowBuilder engine. Use [`writing-relayflows`](skills/writing-relayflows/SKILL.md) for v2; keep this only to maintain an existing v1 workflow. |
| [setting-up-relayfile](skills/setting-up-relayfile/SKILL.md) | 1.1.2 | Set up Relayfile mounts and writeback for provider files through local filesystem access. |
| [setting-up-agent-relay-desktop](skills/setting-up-agent-relay-desktop/SKILL.md) | 1.1.8 | Install and configure Agent Relay Desktop end-to-end from a Codex or Claude session, including headless Linux, device login, registration, webhooks, integrations, and verification. |
| [setting-up-agent-relay-sessions](skills/setting-up-agent-relay-sessions/SKILL.md) | 0.2.7 | Set a person up for live agent-to-agent session handoff end-to-end from a Codex or Claude session: reuse `setting-up-agent-relay-desktop` for the desktop leg, install the agent-sessions cloud MCP before the session starts, confirm the handoff tools loaded, and prove a live round trip with a teammate (or self-verify the roster + own-session read path when no teammate is online yet). |
| [setting-up-agent-relay-desktop](skills/setting-up-agent-relay-desktop/SKILL.md) | 1.1.9 | Install and configure Agent Relay Desktop end-to-end from a Codex or Claude session, including headless Linux, device login, registration, webhooks, integrations, and verification. |
| [setting-up-agent-relay-sessions](skills/setting-up-agent-relay-sessions/SKILL.md) | 0.2.8 | Set a person up for live agent-to-agent session handoff end-to-end from a Codex or Claude session: reuse `setting-up-agent-relay-desktop` for the desktop leg, install the agent-sessions cloud MCP before the session starts, confirm the handoff tools loaded, and prove a live round trip with a teammate (or self-verify the roster + own-session read path when no teammate is online yet). |
| [signing-in-to-agent-relay-cloud](skills/signing-in-to-agent-relay-cloud/SKILL.md) | 0.1.0 | Sign a person in to Agent Relay Cloud through the OAuth device flow from an agent session: device grant, polling, refresh, whoami, and the CLI credential handoff, with no token printed. |
| [setting-up-agent-relay-flows](skills/setting-up-agent-relay-flows/SKILL.md) | 0.1.0 | Choose a catalog flow and repository, connect tools and coding-agent credentials, activate the listener through the direct-source deploy API, and verify it is listening. Builds on `signing-in-to-agent-relay-cloud`. |
| [subscribing-relay-webhooks-and-writebacks](skills/subscribing-relay-webhooks-and-writebacks/SKILL.md) | 0.1.7 | Subscribe a session to GitHub PR and Slack channel events so they are injected, and write back to providers through a Relayfile mount, with the verified steps and known defects. |
Expand Down
4 changes: 2 additions & 2 deletions prpm.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
},
{
"name": "setting-up-agent-relay-desktop",
"version": "1.1.8",
"version": "1.1.9",
"description": "Set up or repair Agent Relay Desktop end-to-end from a running Codex or Claude session on macOS or Linux, including verified installation, headless systemd service, device sign-in, new-session uploads, self-registration, direct delivery, webhooks, GitHub subscriptions, and delivery verification.",
"format": "claude",
"subtype": "skill",
Expand All @@ -113,7 +113,7 @@
},
{
"name": "setting-up-agent-relay-sessions",
"version": "0.2.7",
"version": "0.2.8",
"description": "Get a person set up for live agent-to-agent session handoff on Agent Relay end-to-end from a running Codex or Claude session: verify desktop setup (reusing setting-up-agent-relay-desktop), install the agent-sessions cloud MCP before the session starts, confirm the handoff tools loaded, and prove one live round trip. Use when a human asks an agent to set them up for session handoff or connect their agent to a teammate.",
"format": "claude",
"subtype": "skill",
Expand Down
71 changes: 55 additions & 16 deletions skills/setting-up-agent-relay-desktop/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,18 +184,19 @@ and at least 13.0.0. Find the same user-level npm, mise, or nvm CLI the app
discovers; never run the desktop's `/usr/bin/agent-relay` launcher as a CLI:

```sh
relay_cli=
for candidate in \
"$HOME/.local/bin/agent-relay" \
"$HOME/.npm-global/bin/agent-relay" \
"$HOME/.agentworkforce/relay/bin/agent-relay"
do
if test -x "$candidate" && test "$candidate" != /usr/bin/agent-relay; then
relay_cli=$candidate
break
fi
done
if test -z "$relay_cli"; then
# The installed Agent Relay CLI: user-level npm, mise or nvm, then PATH;
# never the .deb's /usr/bin/agent-relay Desktop launcher. Section 2 and
# section 6 define this identically; change both together.
find_relay_cli() {
for candidate in \
"$HOME/.local/bin/agent-relay" \
"$HOME/.npm-global/bin/agent-relay" \
"$HOME/.agentworkforce/relay/bin/agent-relay"
do
if test -x "$candidate" && test "$candidate" != /usr/bin/agent-relay; then
printf '%s\n' "$candidate"; return
fi
done
for relay_root in \
"$HOME/.local/share/mise/installs/node" \
"$HOME/.nvm/versions/node"
Expand All @@ -204,11 +205,15 @@ if test -z "$relay_cli"; then
candidate=$(find -L "$relay_root" -mindepth 3 -maxdepth 3 \
-path '*/bin/agent-relay' -type f -perm -u+x -print -quit 2>/dev/null)
if test -n "$candidate" && test "$candidate" != /usr/bin/agent-relay; then
relay_cli=$candidate
break
printf '%s\n' "$candidate"; return
fi
done
fi
candidate=$(command -v agent-relay 2>/dev/null || true)
if test -n "$candidate" && test -x "$candidate" && test "$candidate" != /usr/bin/agent-relay; then
printf '%s\n' "$candidate"
fi
}
relay_cli=$(find_relay_cli)
if test -n "$relay_cli"; then
"$relay_cli" --version
"$relay_cli" integration subscribe --help >/dev/null
Expand Down Expand Up @@ -897,6 +902,39 @@ is set:

```sh
pull_glob='/github/repos/OWNER/REPO/pulls/NUMBER/**'
# Shell variables do not survive between tool calls: when relay_cli is unset
# here, find the installed CLI again with section 2's helper, so an installed
# CLI is not replaced by the npx fallback.
# The installed Agent Relay CLI: user-level npm, mise or nvm, then PATH;
# never the .deb's /usr/bin/agent-relay Desktop launcher. Section 2 and
# section 6 define this identically; change both together.
find_relay_cli() {
for candidate in \
"$HOME/.local/bin/agent-relay" \
"$HOME/.npm-global/bin/agent-relay" \
"$HOME/.agentworkforce/relay/bin/agent-relay"
do
if test -x "$candidate" && test "$candidate" != /usr/bin/agent-relay; then
printf '%s\n' "$candidate"; return
fi
done
for relay_root in \
"$HOME/.local/share/mise/installs/node" \
"$HOME/.nvm/versions/node"
do
test -d "$relay_root" || continue
candidate=$(find -L "$relay_root" -mindepth 3 -maxdepth 3 \
-path '*/bin/agent-relay' -type f -perm -u+x -print -quit 2>/dev/null)
if test -n "$candidate" && test "$candidate" != /usr/bin/agent-relay; then
printf '%s\n' "$candidate"; return
fi
done
candidate=$(command -v agent-relay 2>/dev/null || true)
if test -n "$candidate" && test -x "$candidate" && test "$candidate" != /usr/bin/agent-relay; then
printf '%s\n' "$candidate"
fi
}
test -n "${relay_cli:-}" || relay_cli=$(find_relay_cli)
relay_cli_major=
if test -n "${relay_cli:-}"; then
relay_cli_major=$("$relay_cli" --version 2>/dev/null | sed -n 's/^[^0-9]*\([0-9][0-9]*\)\..*/\1/p' | sed -n '1p')
Expand All @@ -915,7 +953,8 @@ else
fi
```

Use the `relay_cli` found in section 2, never a bare `agent-relay`: on a
Use the `relay_cli` found in section 2 (re-discovered above when this runs in
a new shell), never a bare `agent-relay`: on a
`.deb` host `/usr/bin/agent-relay` is the Desktop launcher, and `PATH` may
resolve to it or to a different, older CLI than the one whose version was
checked.
Expand Down
10 changes: 6 additions & 4 deletions skills/setting-up-agent-relay-sessions/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,14 @@ relay_cli_version=
if test -n "$relay_cli"; then
relay_cli_version=$("$relay_cli" --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
fi
# Gate only these optional checks on 13.x; keep relay_cli itself, which
# setting-up-agent-relay-desktop section 6 uses with its own version handling.
Comment thread
khaliqgant marked this conversation as resolved.
Resolved
Comment thread
khaliqgant marked this conversation as resolved.
Resolved
Comment thread
khaliqgant marked this conversation as resolved.
Resolved
relay_cli_checks=
case "$relay_cli_version" in
13.*) ;;
*) test -n "$relay_cli" && printf 'agent-relay %s is not 13.x; read the workspace from /setup/status instead.\n' "${relay_cli_version:-unknown}" >&2
relay_cli= ;;
13.*) relay_cli_checks=1 ;;
*) test -n "$relay_cli" && printf 'agent-relay %s is not 13.x; read the workspace from /setup/status instead.\n' "${relay_cli_version:-unknown}" >&2 ;;
esac
if test -n "$relay_cli"; then
if test -n "$relay_cli_checks"; then
"$relay_cli" cloud whoami # signed in, and as whom
"$relay_cli" workspace active # the active Cloud workspace (keys stay masked)
"$relay_cli" cloud workspaces # every workspace this login can use, with ids
Expand Down