robot-interaction
The robot-interaction Claude Code skill enables bidirectional communication between an AI agent and a human operator via Telegram during orchestrated workflows. It provides two modes: non-blocking progress updates for status notifications and milestones, and blocking human.interact calls for critical decisions requiring human input with timeout fallbacks. Use blocking interaction for ambiguous requirements, irreversible actions, and scope conflicts that cannot be resolved from existing context, while reserving progress updates for phase transitions and informational messages.
git clone --depth 1 https://github.com/mikeyobrien/ralph-orchestrator /tmp/robot-interaction && cp -r /tmp/robot-interaction/crates/ralph-core/data/robot-interaction- ~/.claude/skills/robot-interactionrobot-interaction-skill.md
# Human Interaction (RObot) A human is available via Telegram. You can ask blocking questions or send non-blocking progress updates. **Hard rule:** Do NOT send `progress` and `human.interact` in the same turn. If you need to ask, include the status in the question and skip the progress update. ## Progress updates (non-blocking) Send one-way notifications — the loop does NOT block: ```bash ralph tools interact progress "All tests passing — starting integration phase" ``` Use for: phase transitions, milestone completions, status updates, FYI messages. ## Asking questions (blocking) Emit `human.interact` with your question — the loop blocks until the human replies or timeout: ```bash ralph emit "human.interact" "Decision needed: [1 sentence]. Options: (A) ... (B) ... Default if no response: [what you'll do]" ``` Always include: 1. The specific decision (1 sentence) 2. 2-3 concrete options with trade-offs 3. What you'll do if no response (timeout fallback) The human may also send proactive guidance at any time (appears as `## ROBOT GUIDANCE` in your prompt). ## When to ask (blocking) - Ambiguous requirements that can't be resolved from context - Irreversible or high-risk decisions (deleting data, public-facing changes) - Conflicting signals where you need a tiebreaker - Scope questions (should I also do X?) ## When NOT to ask - Routine implementation decisions you can make yourself - Status updates — use `ralph tools interact progress` instead - Anything you can figure out from specs, code, or existing context - Rephrasing a question already asked this session ## Rules - One question at a time — batch related concerns into a single message - After receiving a response, act on it — don't re-ask - If guidance contradicts your plan, follow the guidance - Prefer `progress` for FYI messages; reserve `human.interact` for decisions that need input
Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Acts as a Technical Implementation Partner and TDD Coach — following existing patterns, avoiding over-engineering, and producing idiomatic, modern code.
Generates structured .code-task.md files from descriptions or PDD implementation plans. Auto-detects input type, creates properly formatted tasks with Given-When-Then acceptance criteria.
Use when testing Ralph's hat collection presets, validating preset configurations, or auditing the preset library for bugs and UX issues.
Lists all code tasks in the repository with their status, dates, and metadata. Useful for getting an overview of pending work or finding specific tasks.
Transforms a rough idea into a detailed design document with implementation plan. Follows Prompt-Driven Development — iterative requirements clarification, research, design, and planning.
Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.
Use when creating animated demos (GIFs) for pull requests or documentation. Covers terminal recording with asciinema and conversion to GIF/SVG for GitHub embedding.
Introspect, explain, and improve Ralph Orchestrator using its published llms.txt doc map. Use this skill whenever the user asks questions about Ralph's behavior, wants to understand how a Ralph internal works (event loop, hats, memories, tasks, backends, presets), debug an unfamiliar failure mode, or propose a code change to the ralph-orchestrator repo. The skill teaches the agent to discover authoritative answers from the live docs via llms.txt before guessing, and to scope improvements through the published architecture rather than the local checkout alone.