relay
Skill396 starsChanged 6 months agoMITView on GitHub
Write a handoff/continuity note for the NEXT Sutando session. Captures what was just in flight, what to check first, what might go wrong, and implicit context the structured snapshot doesn't carry. Drained into session-state.md by src/session-handoff.sh.
25 other projects use a version of this.
Adopted by
Most recently taken up by
- chrisliu298/relaytheir own version, first seen Nov 8, 2026
- hyperdreamer/pi-webuitheir own version, first seen Nov 8, 2026
- gao-xh/multi-agent-protocoltheir own version, first seen Nov 1, 2026
- theyoungastronauts/polaristheir own version, first seen Nov 1, 2026
- jaskirat1616/grok-skillstheir own version, first seen Nov 1, 2026
- luci-efe/skillstheir own version, first seen Nov 1, 2026
Other versions25 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 25
- jmfederico/pi-web★ 931same name
- gavishap/omnia-vault★ 53same name
- jaskirat1616/grok-skills★ 22same name
- bekhruztbx/ai-creative-team★ 18same name
- mhlaghari/stuntman★ 16same name
- hyperdreamer/pi-webui★ 9same name
- chrisliu298/relay★ 6same name
- gao-xh/multi-agent-protocol★ 4same name
- theyoungastronauts/polaris★ 4same name
- zommuter/dotclaude-skills★ 4same name
15 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository73 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-activitySkill
- agent-registrySkill
- agent-room-opsSkill
- answer-formatSkill
- audio-transcribeSkill
- bee-actionsSkill
- bot2bot-postSkill
- call-diagnosticsSkill
- claude-codexSkill
- claude-geminiSkill
- claude-piSkill
- claude-routerSkill
- collaboration-intelligenceSkill
- connect-appsSkill
- context-dropSkill
- context-reconstructSkill
- db-browserSkill
- deal-finderSkill
- doc-ingestSkill
- electron-overlay-dimmingSkill
- email-findSkill
- engine-conflict-resolveSkill
- gemini-ttsSkill
- image-generationSkill
- import-claude-contextSkill
- local-workspace-serverSkill
- macos-toolsSkill
- macos-useSkill
- make-viral-videoSkill
- marketplaceSkill
- media-transcriptSkill
- meeting-prepSkill
- meeting-schedulerSkill
- mention-gateSkill
- model-switchSkill
- morning-briefingSkill
- ms365-connectSkill
- observeSkill
- obsidian-vaultSkill
- openai-ttsSkill
- open-sutando-refSkill
- overlay-appsSkill
- phone-conversationSkill
- proactive-loopSkill
- pr-shepherd-contractSkill
- quota-trackerSkill
- regression-searchSkill
- releaseSkill
- report-feedbackSkill
- review-preflightSkill
- room-collabSkill
- schedule-cronsSkill
- screen-companionSkill
- screen-recordSkill
- self-diagnoseSkill
- self-upgradeSkill
- session-recapSkill
- skill-usage-reportSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 20 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 42
Write a narrative note (~150–300 words typical, no fixed schema) covering:
- Very specific: line 49
Don't write things that are already in the structured snapshot (recent commits, open PRs, pending-questions tail).
- Distinctive: line 57
Write a narrative note (markdown formatting) as described above.
- Distinctive: line 69
If the session was genuinely uneventful (read-only, no decisions, no in-flight work), say so explicitly: "No new work this session.
- Distinctive: line 74
No quality-gate (refuse-on-thin-note): Always write whatever the LLM produces.
“Common” is measured: kept by at least 6 in 10 of the 20 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Relay
Pass the baton to the next Sutando session. Where session-handoff.sh writes structured facts (recent commits, open PRs, pending Qs), /relay writes the narrative continuity — what you were just working on, what should be checked first, what might break and how to detect it.
Usage: /relay (writes a new relay file) or /relay --append (appends to the most recent unprocessed relay file rather than creating a new one).
Why this exists
src/session-handoff.sh pulls together the structured state for the next session — system status, recent commits, open PRs, pending questions, tasks, conversation tail, quota, repo stats — and writes it to session-state.md. But "I was about to land PR #X and Mini's review said Y matters most" isn't captured by git log, gh pr list, or pending-questions.md tail. The next session reads structured facts but has to RE-INFER the continuity, which costs context and frequently misses the load-bearing decision.
The relay note encodes intent + judgment — the thing only the LLM that lived through the session can write.
Folder layout
Mirrors Sutando's existing tasks/ and results/ convention:
workspace/relay/
├── relay-{YYYYMMDD}T{HHMMSS}Z.md # pending relay notes (drained into session-state.md, then archived)
└── processed/
└── relay-{YYYYMMDD}T{HHMMSS}Z.md # already drained; kept for audit- File naming:
relay-$(date -u +%Y%m%dT%H%M%SZ).md— UTC ISO basic form, e.g.relay-20260904T030402Z.md. Do not use the epoch form.session-handoff.shdrains withfind ... -name 'relay-*.md' | sort, which is LEXICOGRAPHIC: everyrelay-17…/relay-18…epoch name sorts before everyrelay-2026…ISO name regardless of when it was written, so a single epoch-named note lands out of order among ISO ones. This file documented the epoch form while every note written since 2026-08-30 used ISO; the doc was the stale half. - Multiple files allowed:
/relayalways creates a NEW file by default.--appendappends to the LATEST unprocessedrelay-*.mdinstead of creating a new one. - Consumption:
src/session-handoff.shreads ALL unprocessedrelay-*.mdfiles in sorted order, appends them tosession-state.mdunder## Relay Notes (from prior sessions), thenmvs each one toprocessed/— but only after confirming its### <basename>header landed in the written file, so an interrupt cannot retire an uncaptured note. - Cleanup: kept indefinitely on local disk. Tiny files (~200-500 bytes each); a year of relay notes is < 1 MB. Sync via the workspace-sync engine (
scripts/sync-workspace.sh) for fleet visibility — the legacysync-memory.shflow is deprecated in v0.3.0 and removed in v0.4.0.
What to write
Write a narrative note (~150–300 words typical, no fixed schema) covering:
- What I was just working on — the active PR / thread / decision in flight. Be specific. ("PR #1429 just merged; was about to start the relay skill PR.")
- What to check FIRST in the next session — concrete first action. ("Pull origin; verify the relay skill SKILL.md lints clean; ping owner on quality-gate decision.")
- What might go wrong + recovery — known failure modes + how to detect them. ("If session-state.md has no
## Relay Notessection, the relay/ dir is probably orphaned; checkls workspace/relay/.") - Implicit context — the why-behind-the-what, decisions that haven't been committed yet, things you'd want a colleague to know if they walked in cold.
Don't write things that are already in the structured snapshot (recent commits, open PRs, pending-questions tail). session-state.md already carries those. Relay's value is the things the structured snapshot can't reach.
Steps
- Resolve
WORKSPACE="$(bash scripts/sutando-config.sh workspace)". mkdir -p "$WORKSPACE/relay" "$WORKSPACE/relay/processed"(idempotent).- If
--append: find the latest unprocessed file vials -t "$WORKSPACE/relay/"relay-*.md 2>/dev/null | head -1. If none, fall through to new-file mode. If found, append to it (with a---separator + timestamp header). - Otherwise (new file): generate filename
relay-$(date -u +%Y%m%dT%H%M%SZ).mdunder$WORKSPACE/relay/— UTC ISO basic form, never$(date +%s); see File naming above for why the drain's lexicographic sort makes the two unmixable. - Write a narrative note (markdown formatting) as described above.
- Save to the resolved path.
- Print "Relay note written to
<path>" with the absolute path. Mention briefly what's in it.
Quality bar
A good relay note is the difference between the next session starting at full speed vs. spending its first 5–10 minutes re-inferring state. Write something useful, not "I did stuff."
Bad: "Worked on some PRs. Ended session."
Good: "PR #1429 (import-UX) merged at 06:21Z; owner asked to start relay-skill PR next. Lucy's nit on stderr-parity landed pre-merge (commit 0ca0c89). Open thread: catchup PID-stamp variant — local edits applied to repo/skills/, NOT committed; owner is doing E2E test. If they greenlight, PR off staging-workspace-revamp with ~25-line diff in 2 SKILL.md files."
If the session was genuinely uneventful (read-only, no decisions, no in-flight work), say so explicitly: "No new work this session; previous relay note still valid." (Still write the file so the next session has a current heartbeat to read.)
Phase 1 scope
- Manual-invocation only. Auto-refresh (writing/updating from
/proactive-loop) deferred to Phase 2 once we see how owners actually use the manual path. - No quality-gate (refuse-on-thin-note). Always write whatever the LLM produces. Quality-gate deferred to Phase 2 pending observation.
- Read-side lives in
src/session-handoff.sh— see its relay-drain block for the read-then-archive flow.
Phase 2 ideas (NOT in scope)
- Auto-refresh from
/proactive-loop: ifworkspace/relay/relay-*.mdis mtime-stale (> 30 min) AND substantive work has happened since, write a fresh relay note as part of the loop. - Quality-gate: refuse to write if the LLM can't list any of [active work / first action / known risk]. Could add
--skipflag for genuine no-op sessions. - Hook integration: PreCompact hook could prompt the LLM to write a relay note before compaction discards context.
Where it lives
workspace/relay/relay-{YYYYMMDD}T{HHMMSS}Z.md (pending) + workspace/relay/processed/relay-{YYYYMMDD}T{HHMMSS}Z.md (drained by session-handoff). Workspace-root parallel to build_log.md + pending-questions.md + tasks/. Owner-readable; both LLM and human can cat it cleanly.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

