send
Skill6 starsChanged 13 days agoApache-2.0View on GitHub
Emit a message or event to an external system with policy enforcement and approval gates. Use when publishing messages, calling APIs, sending notifications, or triggering external workflows. REQUIRES EXPLICIT APPROVAL.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- stakeme-team/arc-agent-kittheir own version, first seen Nov 8, 2026
- ahmetenesdur/starkfitheir own version, first seen Oct 25, 2026
- jorranMLGN/phone-droptheir own version, first seen Oct 20, 2026
- jaimsh/meta-whatsapptheir own version, first seen Apr 8, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- ahmetenesdur/starkfi★ 2same name
- jorranMLGN/phone-drop★ 2same name
- jaimsh/meta-whatsapp★ 0same name
- stakeme-team/arc-agent-kit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository42 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- attributeSkill
- auditSkill
- gap-analysis-workflowSkill
- checkpointSkill
- classifySkill
- compareSkill
- constrainSkill
- critiqueSkill
- debug-workflowSkill
- decomposeSkill
- delegateSkill
- detectSkill
- digital-twin-bootstrapSkill
- digital-twin-sync-workflowSkill
- discover-capabilitiesSkill
- discoverSkill
- executeSkill
- explainSkill
- generateSkill
- groundSkill
- inquireSkill
- integrateSkill
- invokeSkill
- measureSkill
- mutateSkill
- observeSkill
- persistSkill
- perspective-validationSkill
- planSkill
- predictSkill
- recallSkill
- receiveSkill
- retrieveSkill
- rollbackSkill
- searchSkill
- simulateSkill
- stateSkill
- synchronizeSkill
- transformSkill
- transitionSkill
- verifySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
24 rules. 0 are common, 22 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
22
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 57
All policy constraints verified before sending
- Distinctive: line 78
Check the approval is valid and recent
- Distinctive: line 87
Validate destination: Ensure target is permitted
- Distinctive: line 88
Check destination against allowlist if defined
- Distinctive: line 89
Verify destination format matches protocol
- Distinctive: line 93
Check rate limits have not been exceeded
- Distinctive: line 94
Verify message size within bounds
- Distinctive: line 100
Add required headers/metadata
- Distinctive: line 105
Use appropriate protocol handler
- Distinctive: line 111
Check response status/acknowledgment
- Distinctive: line 118
When it was sent
- Distinctive: line 280
Verification tools: Read (for logs), Bash (for health checks)
- Distinctive: line 290
NEVER send without explicit user approval (CRITICAL)
- Distinctive: line 291
NEVER send without a valid checkpoint reference
- Distinctive: line 292
ALWAYS validate destination against policy before sending
- Distinctive: line 293
ALWAYS log what was sent for audit (sanitize sensitive data)
- Distinctive: line 294
DO NOT retry indefinitely - respect retry limits
- Distinctive: line 296
If approval token is missing, REQUEST approval before proceeding
- Distinctive: line 297
Never send credentials, API keys, or secrets in payloads
- Distinctive: line 300
Before any send operation, the user must explicitly approve:
- Very specific: line 321
NEVER send without constrain check (policy bypass)
- Very specific: line 322
NEVER send without checkpoint (no state recovery)
- Distinctive: line 323
NEVER send without explicit approval (unauthorized action)
- Distinctive: line 324
NEVER retry failed sends indefinitely (resource exhaustion)
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Intent
Send a message, event, or payload to an external destination with full policy enforcement, approval gates, and audit trail. This capability handles external side effects that cannot be undone.
CRITICAL: This capability requires explicit user approval before execution.
Success criteria:
- Message delivered to destination successfully
- All policy constraints verified before sending
- Approval gate passed (explicit user confirmation)
- Complete audit trail of what was sent
- Delivery confirmation obtained where possible
Compatible schemas:
schemas/output_schema.yaml
Inputs
| Parameter | Required | Type | Description |
destination | Yes | string | Target endpoint, queue, API, or address |
payload | Yes | any | Data to send |
protocol | No | string | Communication protocol (http, grpc, smtp, amqp, etc.) |
Inputs not listed here are outside the capability's contract: a workflow step that binds them gets W604 (STANDARD v1.1 §5.5).
Procedure
- Verify approval: Confirm explicit user approval exists
- Check the approval is valid and recent
- BLOCK send if approval is missing or expired
- Log approval verification for audit
- Verify checkpoint: Confirm recovery point exists
- Validate that a checkpoint was created before this send
- BLOCK send if checkpoint is missing
- External sends are irreversible - checkpoint is for state recovery
- Validate destination: Ensure target is permitted
- Check destination against allowlist if defined
- Verify destination format matches protocol
- Block sends to disallowed destinations
- Apply constraints: Enforce policy limits
- Check rate limits have not been exceeded
- Verify message size within bounds
- Validate message format against schema
- Apply
constraincapability rules
- Prepare payload: Format message for transmission
- Serialize according to protocol requirements
- Add required headers/metadata
- Generate message ID for tracking
- Record payload summary (not full content if sensitive)
- Execute send: Transmit to destination
- Use appropriate protocol handler
- Capture response or confirmation
- Handle timeouts gracefully
- Retry according to policy if configured
- Verify delivery: Confirm successful transmission
- Check response status/acknowledgment
- Log delivery confirmation
- Capture any error responses
- Audit trail: Record complete send operation
- What was sent (summary, not sensitive content)
- Where it was sent
- When it was sent
- Delivery status
- Approval reference
Output Contract
Return a structured object:
sent: boolean # true when the transport accepted the message (delivery.status sent or queued)
response: any # Recipient's response or delivery receipt, if any
timestamp: string # ISO 8601 date-time of send
message:
destination: string # Where message was sent
payload_type: string # Type of content sent
payload_summary: string # Non-sensitive summary of payload
message_id: string | null # Tracking ID if available
delivery:
status: sent | queued | failed # Delivery outcome
retry_count: integer # Number of retry attempts
response_code: integer | null # HTTP status or protocol response
error: string | null # Error message if failed
constraints_applied:
- constraint: string # What constraint was checked
enforced: boolean # Whether it passed
details: string | null # Additional context
approval:
token: string # Approval token used
timestamp: string # When approval was given
scope: string # What was approved
confidence: 0..1 # Confidence in successful delivery
evidence_anchors: ["log:timestamp", "api:response"]
assumptions: [] # Explicit assumptionsField Definitions
| Field | Type | Description |
sent | boolean | Whether the message was sent (accepted by the transport) |
response | any | Recipient's response or delivery receipt, or null |
timestamp | string | ISO 8601 date-time of send |
message | object | Details of what was sent (destination, payload type, non-sensitive summary, message ID) |
delivery | object | Outcome of send operation |
constraints_applied | array | Policy checks performed |
approval | object | Approval gate information |
confidence | number | 0.0-1.0 based on delivery confirmation |
evidence_anchors | array | Logs, responses, confirmations |
assumptions | array | Explicit assumptions (e.g., "network stable") |
Examples
Example 1: API Webhook Notification
Input:
destination: "https://api.partner.com/webhooks/order-updates"
payload:
event: "order.completed"
order_id: "ORD-12345"
timestamp: "2024-01-15T10:30:00Z"
customer_notified: true
protocol: "http"Approval and the checkpoint come from the workflow (an approved step after a checkpoint step), not from inputs. A preceding constrain step enforces the policy: at most 100 sends per hour, to api.partner.com only.
Output:
sent: true
response:
received: true
timestamp: "2024-01-15T10:30:15Z"
message:
destination: "https://api.partner.com/webhooks/order-updates"
payload_type: "order.completed event"
payload_summary: "Order completion notification for ORD-12345"
message_id: "msg-abc123"
delivery:
status: sent
retry_count: 0
response_code: 200
error: null
constraints_applied:
- constraint: "rate_limit: 100/hour"
enforced: true
details: "Current rate: 45/hour"
- constraint: "allowed_domains"
enforced: true
details: "api.partner.com is in allowlist"
approval:
token: "approve-send-2024-01-15-001"
timestamp: "2024-01-15T10:30:00Z"
scope: "Send order notification to partner API"
confidence: 0.95
evidence_anchors:
- "log:2024-01-15T10:30:15Z:send-success"
- "api:response:200-OK"
assumptions:
- "Partner API is available and processing webhooks"Evidence pattern: HTTP response code and body confirmation, timestamped log entry.
Example 2: Email Notification (with failure)
Input:
destination: "smtp://mail.company.com:587"
payload:
to: "user@example.com"
subject: "Action Required: Review pending"
body: "You have 3 items awaiting review..."
protocol: "smtp"Output:
sent: false
response: null
timestamp: "2024-01-15T11:00:05Z"
message:
destination: "smtp://mail.company.com:587"
payload_type: "email"
payload_summary: "Email to user@example.com regarding pending review"
message_id: null
delivery:
status: failed
retry_count: 3
response_code: null
error: "Connection timeout after 30s - SMTP server unreachable"
constraints_applied:
- constraint: "recipient_validation"
enforced: true
details: "Email format valid"
approval:
token: "approve-email-2024-01-15-002"
timestamp: "2024-01-15T11:00:00Z"
scope: "Send review notification email"
confidence: 0.0
evidence_anchors:
- "log:2024-01-15T11:00:05Z:smtp-timeout"
- "error:connection-refused"
assumptions:
- "SMTP server should be available on port 587"
next_actions:
- "Verify SMTP server status"
- "Check network connectivity"
- "Retry with backup mail server if available"Verification
- Approval token is valid and not expired
- Checkpoint reference exists
- Destination passes policy validation
- All constraints were checked before send
- Delivery status is accurately reported
- Audit trail is complete
Verification tools: Read (for logs), Bash (for health checks)
Safety Constraints
mutation: truerequires_checkpoint: truerequires_approval: truerisk: high
Capability-specific rules:
- NEVER send without explicit user approval (CRITICAL)
- NEVER send without a valid checkpoint reference
- ALWAYS validate destination against policy before sending
- ALWAYS log what was sent for audit (sanitize sensitive data)
- DO NOT retry indefinitely - respect retry limits
- BLOCK sends to destinations not in allowlist when list is defined
- If approval token is missing, REQUEST approval before proceeding
- Never send credentials, API keys, or secrets in payloads
APPROVAL GATE REQUIREMENT: Before any send operation, the user must explicitly approve:
- What will be sent (summary)
- Where it will be sent (destination)
- Why it is being sent (context)
The approval must be captured with a token that is recorded in this operation's audit trail.
Composition Patterns
Commonly follows:
constrain- Apply policy limits before sending (REQUIRED)checkpoint- Create recovery point before external send (REQUIRED)plan- Sends are typically part of a larger plantransform- Format data before sending
Commonly precedes:
audit- Record what was sent for complianceverify- Confirm delivery where possiblereceive- May expect response from destination
Anti-patterns:
- NEVER send without
constraincheck (policy bypass) - NEVER send without
checkpoint(no state recovery) - NEVER send without explicit approval (unauthorized action)
- NEVER retry failed sends indefinitely (resource exhaustion)
Workflow references:
- See
reference/composition_patterns.md#anti-patternsfor send safety rules - See
reference/composition_patterns.md#digital-twin-sync-loopfor send in sync context
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

