Skip to content
Back to skills

Send Message

ASecurity

Leave a message for the operator — saved to call log and delivered via the operator's preferred messaging channel

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentssecurity

Security analysis

A100/100

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

Scanned November 11, 2026

npx -y skills add johnalbertini14-glitch/openclaw-skills --skill send-message --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Send Message?

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

Security grade badge for Send Message
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/johnalbertini14-glitch-send-message/badge)](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-send-message)

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: send-message
version: 1.0.0
description: "Leave a message for the operator — saved to call log and delivered via the operator's preferred messaging channel"
metadata: {"amber": {"capabilities": ["act"], "confirmation_required": true, "confirmation_prompt": "Would you like me to leave that message?", "timeout_ms": 5000, "permissions": {"local_binaries": [], "telegram": true, "openclaw_action": true, "network": false}, "function_schema": {"name": "send_message", "description": "Leave a message for the operator. The message will be saved to the call log and sent to the operator via their messaging channel. IMPORTANT: Always confirm with the caller before calling this function — ask 'Would you like me to leave that message?' and only proceed after they confirm.", "parameters": {"type": "object", "properties": {"message": {"type": "string", "description": "The caller's message to leave for the operator", "maxLength": 1000}, "caller_name": {"type": "string", "description": "The caller's name if they provided it", "maxLength": 100}, "callback_number": {"type": "string", "description": "A callback number if the caller provided one", "maxLength": 30}, "urgency": {"type": "string", "enum": ["normal", "urgent"], "description": "Whether the caller indicated this is urgent"}, "confirmed": {"type": "boolean", "description": "Must be true — only set after the caller has explicitly confirmed their message and given permission to send it. The router will reject this call if confirmed is not true."}}, "required": ["message", "confirmed"]}}}}
---

# Send Message

Allows callers to leave a message for the operator. This skill implements the
"leave a message" pattern that is standard in phone-based assistants.

## Flow

1. Caller indicates they want to leave a message
2. Amber confirms: "Would you like me to leave that message?"
3. On confirmation, the message is:
   - **Always** saved to the call log first (audit trail)
   - **Then** delivered to the operator via their configured messaging channel

## Security

- The recipient is determined by the operator's configuration — never by caller input
- No parameter in the schema accepts a destination or recipient
- Confirmation is required before sending (enforced via LLM function description)
- Message content is sanitized (max length, control characters stripped)

## Delivery Failure Handling

- If messaging delivery fails, the call log entry is marked with `delivery_failed`
- The operator's assistant can check for undelivered messages during heartbeat checks
- Amber tells the caller "I've noted your message" — never promises a specific delivery channel

Files in this skill

  • SKILL.md2.6 KB
  • handler.js3 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.