From jot
You are the foreground claude that received a `/plate` prompt. The hook passed this prompt through because it requires your interaction capabilities (AskUserQuestion, tool use).
How this skill is triggered — by the user, by Claude, or both
Slash command
/jot:plateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are the foreground claude that received a `/plate` prompt. The hook passed this prompt through because it requires your interaction capabilities (AskUserQuestion, tool use).
DESIGN.mdIMPLEMENTATION.mdREADME.mdscripts/assets/permissions.default.jsonscripts/assets/permissions.default.json.sha256scripts/branch-snapshot.shscripts/branch-snapshot.v2.shscripts/done.shscripts/drop.shscripts/list-paused-plates.shscripts/next.shscripts/paths.shscripts/plate-orchestrator.shscripts/plate-session-start.shscripts/plate-worker-end.shscripts/plate-worker-start.shscripts/plate-worker-stop.shscripts/plate.shscripts/prompts/bg-agent.mdscripts/prompts/drift-judge.mdYou are the foreground claude that received a /plate prompt. The hook passed this prompt through because it requires your interaction capabilities (AskUserQuestion, tool use).
Check the user's prompt:
/plate --done → follow the Done section below/plate (no flag) → follow the Parent Selection section belowThe user wants to finalize their plate stack — replay all stacked plates as sequential commits.
Read the command context file the hook dropped:
.plate/pending-command.json
It contains:
session_id — your current session ID ($SID)plate_scripts_dir — absolute path to the plate scripts directory ($SCRIPTS)python_dir — absolute path to the plate python directory ($PYDIR)plate_plugin_root — absolute path to the plugin root ($PLUGIN_ROOT)If the file is missing, reply: plate: no command context — rerun /plate --done and stop.
Run:
INSTANCE_FILE=".plate/instances/<session_id>.json" python3 <python_dir>/check_live_children.py
If the output is yes, delegated children are still open. Call AskUserQuestion:
Delegated children are still open. How do you want to proceed?["Cancel — do not finalize", "Orphan children — finalize anyway", "Keep links — finalize and preserve child references"]If the user picks Cancel, reply plate --done cancelled and stop. Otherwise proceed.
Export the plugin environment, then run the done script:
export CLAUDE_PLUGIN_ROOT=<plate_plugin_root>
export CLAUDE_PLUGIN_DATA=~/.claude/plugins/data/plate-jot-dev
bash <plate_scripts_dir>/done.sh <session_id>
The script prints a commit summary and resume pointer. Relay this output to the user verbatim.
Delete .plate/pending-command.json.
You are the foreground claude that received a /plate prompt. The hook has determined this is a new session in a repo where other plate instances already exist ("path 3" in the design). You must present a parent-selection dropdown before pushing.
Read the pending registration file the hook dropped for you:
.plate/pending-registration.json
It contains:
session_id — your current session ID (call this $SID)transcript_path — path to your conversation transcript ($TP)cwd — absolute working directory ($CWD)plate_scripts_dir — absolute path to the plate plugin's scripts/ directory ($SCRIPTS)Do NOT use $CLAUDE_PLUGIN_ROOT or any bash env variable to locate plate scripts. The user may have other plugins loaded that set that variable to a different plugin's path. Always use plate_scripts_dir from the registration JSON.
Run this bash command (substituting the actual path from the registration JSON):
bash <plate_scripts_dir>/list-paused-plates.sh
Each output row is pipe-delimited: convoID|plateID|label|synopsis|pushed_at.
If output is EMPTY (no paused plates anywhere):
bash <plate_scripts_dir>/register-parent.sh <session_id> nonebash <plate_scripts_dir>/push.sh <session_id> <transcript_path> <cwd>.plate/pending-registration.jsonplate registered + pushed (top-level)If output has 1+ rows:
AskUserQuestion:
<label> → "<synopsis>" (paused at <pushed_at>)Top-level (no parent) as the first optionAskUserQuestion with:
ParentPick a parent plate (or top-level)convoID and plateID from the row they picked (or pass none "" for top-level).bash <plate_scripts_dir>/register-parent.sh <session_id> <parent_convo> <parent_plate>bash <plate_scripts_dir>/push.sh <session_id> <transcript_path> <cwd>.plate/pending-registration.jsonplate registered + pushed: <synopsis>AskUserQuestion step when paused plates exist — the user must explicitly choose.plate: no registration context — rerun /plate and stop.plate_scripts_dir from the registration JSON. Do not trust $CLAUDE_PLUGIN_ROOT in the shell env — it may point at a different plugin.CLAUDE_PLUGIN_ROOT=<plate_plugin_root> and CLAUDE_PLUGIN_DATA=~/.claude/plugins/data/plate-jot-dev (or the appropriate plate data dir) so the script can find its lib + python helpers. Use plate_plugin_root from the registration JSON.npx claudepluginhub matkatmusic/jot --plugin jotGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.