Skip to content
Back to skills

Session Handoff Msg

ASecurity

Check a message to another Claude session (ingestion, mobile, homelab, orrery, a subagent) before sending it — refuses leftover placeholders (<ids>, {x}, $VAR, TODO, a bare ALL_CAPS_TOKEN) and any state claim (held, deployed, applied, pushed, approved, verified, green, done …) that has no proof command passing right now. Use before every SendMessage that asks another session to confirm, decide or act, or that tells it what state prod or a job is in.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentspythonbashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add chipi/agentic-ai-homelab --skill session-handoff-msg --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Session Handoff Msg?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Session Handoff Msg
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chipi-session-handoff-msg/badge)](https://www.skillsdirectory.com/skills/chipi-session-handoff-msg)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: session-handoff-msg
description: Check a message to another Claude session (ingestion, mobile, homelab, orrery, a subagent) before sending it — refuses leftover placeholders (<ids>, {x}, $VAR, TODO, a bare ALL_CAPS_TOKEN) and any state claim (held, deployed, applied, pushed, approved, verified, green, done …) that has no proof command passing right now. Use before every SendMessage that asks another session to confirm, decide or act, or that tells it what state prod or a job is in.
---

# session-handoff-msg

Two messages to the ingestion session on 2026-10-17 went out wrong in the same exchange:

1. The episode list was the literal text `BATCH2_IDS`; the ids were never filled in.
2. It said "I am holding it until you answer" while the chain script would still have approved the
   gate. The hold became real only afterwards.

A peer acts on what the message says. A wrong state claim to a peer is the same failure as one to
the operator (truthfulness rules 0.0 and 0.2), and placeholders are how drafts leak out.

## Run

Write the message to a file, then:

```bash
L=~/.claude/skills/session-handoff-msg/scripts/lint_msg.py
python3 $L /tmp/msg.txt \
  --proof "holding=python3 ~/.claude/skills/prod-batch-chain/scripts/batch_chain.py podcast-2332 status | grep -q 'HOLD: yes'" \
  --proof "approved=gh api repos/OWNER/REPO/actions/runs/RUN/approvals -q '.[].state' | grep -qx approved" \
  --allow PROD_SSH_HOST_KEY --not-a-claim done
```

- `SENDABLE` (exit 0): send the printed text with SendMessage, unchanged.
- `REFUSED` (exit 1): fix each line it lists. Do not send a "correction" afterwards instead.
- `--proof WORD='cmd'`: one per state word in the message. The command must exit 0 now. Prove it from
  the system itself (`gh`, `ssh`, a ledger), not from your own earlier message.
- `--allow TOKEN`: a real ALL_CAPS name. Prefer putting it in backticks, which needs no flag.
- `--not-a-claim WORD`: the word is used descriptively ("when it is done, …").

## Tests

`cd scripts && python3 -m unittest test_lint_msg` replays both 2026-10-17 messages; both are refused.

## Not covered

- It cannot tell whether the content is right (the right ids, the right run). It only catches the two
  shapes that went wrong: unfilled placeholders and unproven state.
- A state stated without one of the listed words ("nothing will start") passes. Add the word to
  `STATE_WORDS` when one slips through.

Files in this skill

  • SKILL.md2.4 KB
  • scripts/lint_msg.py3.9 KB
  • scripts/test_lint_msg.py1.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.