sent-templates — Claude Code skill: what it does, how to install
Inspects, discovers, and removes existing Sent message templates via MCP tools. Useful for checking template review statuses or cleaning up obsolete records.
npx skills add sentdm/sent-plugin --skill sent-templates -a claude-codeWhat sent-templates does
This skill operates on existing Sent records through templates.list, templates.get, templates.get_by_name, and templates.delete. When searching by name, it detects collisions across languages or channels and prompts to pick the exact entry. Summaries avoid echoing body text, focusing instead on identifiers, channels, categories, and approval states.
Connection relies on OAuth 2.1 and PKCE without exposing credentials. Destructive actions require preflight verification: the agent fetches the target record, outputs a preview with the active organization and Sender Profile, then waits for immediate confirmation. Automatic retries on delete errors are blocked.
Template creation lies outside this tool. Draft content creation hands off to waba-template-author, while UI-based workflows delegate to template-builder-ui.
What it helps with
- locate approved templates by name or exact ID
- inspect delivery channels, languages, and approval statuses
- delete outdated templates with mandatory target pre-fetching
- list template records using Sender Profile filters
Example prompts for the agent
- Find the approval status and channel for the shipping_update template
- Show a paginated list of templates under the active Sender Profile
- Delete template tmpl_98765 after showing the verification preview
How to install sent-templates
1Skills CLI (Vercel)
npx skills add sentdm/sent-plugin --skill sent-templates -a claude-code2Manually: put the files in place
~/.claude/skills/sent-templates/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/sent-templates/
1Skills CLI (Vercel)
npx skills add sentdm/sent-plugin --skill sent-templates -a codex2Manually: put the files in place
.agents/skills/sent-templates/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add sentdm/sent-plugin --skill sent-templates -a cursor2Manually: put the files in place
.cursor/skills/sent-templates/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install sentdm/sent-plugin sent-templates2Manually: put the files in place
.github/skills/sent-templates/SKILL.md1Skills CLI (Vercel)
npx skills add sentdm/sent-plugin --skill sent-templates -a gemini-cli2Platform CLI
gemini skills install https://github.com/sentdm/sent-plugin --path skills/sent-templatesManually: put the files in place
.devin/skills/sent-templates/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add sentdm/sent-plugin --skill sent-templates -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about sent-templates
How to install sent-templates in Claude Code?
Run npx skills add sentdm/sent-plugin --skill sent-templates -a claude-code. The skill configuration installs into ~/.claude/skills/sent-templates/SKILL.md.
What does the sent-templates skill do?
It discovers, views, and deletes existing Sent message templates using Sent MCP tools. The tool reports parameters such as categories, languages, and review states.
Does sent-templates support creating new WhatsApp templates?
No, it only inspects and removes existing templates. Drafting WhatsApp messages requires waba-template-author, and interface building requires template-builder-ui.
Source text
SKILL.md · MIT
--- name: sent-templates description: Lists, finds by name or ID, inspects, or deletes existing Sent templates with the Sent MCP tools. Use when a user asks to browse templates, find an approved template, check template language, channel, category, or status, retrieve a template record, or delete a template. Use waba-template-author to write WhatsApp content and template-builder-ui to design template interfaces. --- # Sent Templates Operate existing template records with `templates.list`, `templates.get`, `templates.get_by_name`, and `templates.delete`. ## Establish connection and scope Use client-managed OAuth 2.1/PKCE and never request or expose credentials. Surface the active organization and Sender Profile before deletion; use `sent-account-readiness` if the connection context does not expose both. Avoid repeating template body text or sample data unnecessarily. Prefer template identifiers, names, languages, channels, categories, and statuses in summaries. An organization grant may select an owned Sender Profile with the tool schema's optional `profileId`; omit it to act as the authenticated account. Validate ownership with `sender_profiles.list` or `sender_profiles.get`, and use the same selector for preflight reads, mutations, and follow-up reads. Profile grants cannot use this selector. Reauthorize for a different organization or a profile outside the grant. Never invent scope fields or request credentials. ## Find and inspect templates - Use `templates.list` for filtered discovery and pagination. - Use `templates.get` for an exact template identifier. - Use `templates.get_by_name` when the user supplies a name. If a name can match more than one language, channel, or scope, present the candidates and resolve one exact record before continuing. These tools inspect existing records. For authoring or classification, hand off to `waba-template-author`; for a tenant-facing creation experience, hand off to `template-builder-ui`. ## Delete a template 1. Resolve the request to one exact template. 2. Fetch that target first with `templates.get` or `templates.get_by_name`. Never delete from a guessed identifier, broad filter, or stale list result. 3. Show a delete preview with the selected organization, Sender Profile, exact template identifier, name, language, channel, category, and status. State that deletion is destructive; do not repeat its body. 4. Ask for explicit confirmation to delete this exact target. Earlier or general approval is not sufficient. 5. Call `templates.delete` immediately after confirmation. A change to target, scope, or record invalidates confirmation. Never call `templates.delete` without fetching the target and obtaining explicit confirmation immediately before the call. Treat every retry as a new mutation: refetch the target, show a fresh preview, and obtain new explicit confirmation. If the result is ambiguous, re-read the target when possible. Report uncertainty and do not retry automatically.
© sentdm · MIT · sentdm/sent-plugin