From ask-user
Interact with the user via email. Use whenever you would normally stop and wait for the user: asking questions, reporting results, or requesting next steps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ask-user:ask-userThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Send messages to the user via email and wait for their reply. Blocks until a reply is received (no timeout).
Send messages to the user via email and wait for their reply. Blocks until a reply is received (no timeout).
/ask_user <email-address>
Requires the radas Python package. Use the Python environment specified by the user. If not specified, ask the user (via AskUserQuestion) before activating this skill.
source ~/miniconda3/etc/profile.d/conda.sh && \
conda activate <your-env> && \
python -u -c "<your code here>"
from radas.email import ask_user
answer = ask_user(
to_address="[email protected]",
question="Your message here (plain text or HTML)",
images=None, # Optional: list of base64-encoded PNG strings
attachment_paths=None, # Optional: list of file paths
poll_interval=30, # Seconds between checks (default: 30)
) -> str # Returns user's reply
Once this skill is activated, ask_user() is your ONLY way to communicate with the user. The user is away from the terminal and will not see terminal output.
You need a decision, confirmation, or choice.
answer = ask_user(
to_address="[email protected]",
question="""
<h3>Choose a database:</h3>
<ol>
<li>PostgreSQL</li>
<li>SQLite</li>
<li>MySQL</li>
</ol>
<p>Reply with 1, 2, or 3.</p>
""",
)
You finished a task or hit a milestone. Send results and ask what to do next.
answer = ask_user(
to_address="[email protected]",
question="""
<h3>Task Complete</h3>
<p>I've fixed the authentication bug. Here's what I changed:</p>
<ul>
<li><code>auth.py</code>: Fixed token expiry check</li>
<li><code>test_auth.py</code>: Added regression test (all tests pass)</li>
</ul>
<p>What would you like me to do next?</p>
""",
)
Once activated:
AskUserQuestion or stop expecting the user to read terminal outputask_user() blocks until the user replies — this is expectednpx claudepluginhub yuhangsong/radas-plugins --plugin ask-userSends iMessages for real-time user input and status notifications during Claude Code sessions. Use ask_user to wait for responses on decisions or clarifications; notify_user for non-blocking updates.
Mental model and workflows for e2a (email for AI agents) — send/receive email, HITL approval, agent + domain management. Covers send_email vs reply_to_message threading, pending_approval status, multi-agent disambiguation, custom-domain DNS, and webhook SDK examples.