XMTP commands and validation

SkillCommunication

Patterns for handling commands, validating input, and filtering messages in XMTP agents. Use when implementing slash commands, validators, or message filters. Triggers on command handling, input validation, or type guards.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the XMTP commands and validation skill

What this skill tells your AI

The instructions your AI receives, as published by xmtplabs/xmtp-agent-examples in skills/handling-commands/SKILL.md and read by ahel’s review.

Best practices for handling commands, validating input, and filtering messages.

When to apply

Reference these guidelines when:

  • Implementing slash commands
  • Validating hex strings and addresses
  • Filtering message types
  • Using type guards instead of type assertions

Rule categories by priority

PriorityCategoryImpactPrefix
1ValidatorsCRITICALvalidators-
2FiltersHIGHfilters-
3Type GuardsHIGHguards-

Quick reference

Validators (CRITICAL)

  • validators-hex - Use validHex() for hex string validation
  • validators-address - Validate Ethereum addresses

Filters (HIGH)

  • filters-message-types - Filter by message type (SDK 2.0+: use direct imports isText, isReaction, isReply, etc. from @xmtp/agent-sdk; keep filter.fromSelf, filter.hasDefinedContent)
  • filters-sender - Filter out self-messages
  • filters-content - Check for defined content

Type Guards (HIGH)

  • guards-codec - Use usesCodec() instead of type assertions
  • guards-content-type - Use filter helpers for type safety

How to use

Read individual rule files for detailed explanations:

rules/validators-hex.md
rules/filters-message-types.md
rules/guards-codec.md

Signals

GitHub stars
54
Forks
23
Last commit
Feb 2026
Advanced
Catalog kind
skill
Gateway key
handling-commands
Source
github.com/xmtplabs/xmtp-agent-examples