Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

In App Messaging

ASecurity

Design in-app messages — tooltips, modals, banners, and onboarding flows that guide without annoying.

2 stars
0 votes
0 copies
0 views
Added 9/29/2026
ai-agentsrustgo

Works with

cli

Security Analysis

A100/100

Scanned 9/29/2026

$npx -y skills add aicodedecode/awesome-muse-skills --skill in-app-messaging --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of In App Messaging?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for In App Messaging
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aicodedecode-in-app-messaging/badge)](https://www.skillsdirectory.com/skills/aicodedecode-in-app-messaging)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: in-app-messaging
description: Design in-app messages — tooltips, modals, banners, and onboarding flows that guide without annoying.
category: enterprise-communication
---

## Overview

In-app messages (tooltips, modals, banners, slideouts, checklists) guide users inside your product: onboarding, feature announcements, and contextual help. This skill covers designing in-app messaging that helps without harassing — targeting, timing, copy, and measurement.


In-app messages — modals, banners, tooltips, and guides shown inside your product — reach users when they are most engaged: while using the app. Unlike push or email, they require no opt-in and cannot be missed by active users. The skill is using this captive attention for onboarding, feature discovery, and critical announcements without disrupting the core experience.
## When to use

- Designing product onboarding flows
- Announcing features in-app
- Reducing support tickets with contextual help
- Improving feature adoption
- Writing tooltip and modal copy
- Fixing "users don't discover our features" problems

- Onboarding new users to key features
- Announcing features or pricing changes
- Driving adoption of underused capabilities
- Reducing churn with targeted interventions
- Promoting new pricing or plans
- Collecting in-context user feedback
## Core concepts

**Message types.** Tooltips (contextual, anchored to UI — best for first-run guidance), modals (interruptive — reserve for critical actions), banners (persistent but dismissible — good for announcements), slideouts (attention without full interruption), checklists (onboarding progress), and empty states (teaching moments disguised as design).

**Targeting.** Show to the right users: new vs. returning, by role, by plan, by behavior (hasn't used feature X), by lifecycle stage. Untargeted messages annoy everyone; targeted messages feel helpful.

**Timing and triggers.** Event-based (after completing action Y, show tip for Z), time-based (day 3 of trial), and frequency caps (max X messages per session/week). Never show more than one interruptive message per session. Respect "don't show again."

**Copy.** Short (under 140 characters for tooltips), action-oriented ("Try bulk edit →"), benefit-led (what's in it for them), and skippable. Every message needs a clear dismiss — trapped users resent the product.

**Onboarding flows.** Progressive disclosure: teach in context as users encounter features, not in a 10-step tour upfront. Checklists with progress motivate completion. Celebrate first value moments ("You sent your first campaign!").

**Announcement strategy.** In-app for feature launches: banner for awareness → tooltip for the how → modal only for major changes requiring action. Pair with changelog/email for users who missed it.


**Message types and intrusiveness ladder.** Tooltips (least intrusive — contextual hints) → banners (persistent but dismissible) → slideouts → modals (most intrusive — block interaction). Match intrusiveness to importance: tooltips for tips, modals only for critical actions (required migrations, major announcements). Overusing modals trains users to dismiss everything unread.

**Targeting and timing.** Show messages based on behavior (used feature X 3 times but never tried Y), lifecycle stage, and session context — never show onboarding to power users or feature promos to users mid-critical-task. Frequency caps per user per week; dismissal should suppress repeats intelligently (dismissed ≠ never show again, but wait and vary).

**Onboarding design.** Checklists beat tours: 3–5 concrete tasks with progress indicators outperform passive walkthroughs. Trigger guidance at the moment of need (empty states, first feature use) rather than upfront. Measure activation lift per message — onboarding theater without metrics is just interruption.

**Behavioral triggers.** Session count, feature usage depth, milestone achievements, inactivity windows, and error encounters.
Trigger messages on behavior, not on schedules — "used exports 5 times, never tried scheduled exports" beats "day 14 drip email."
Build a trigger library; reuse across campaigns instead of reinventing.
**Survey and feedback patterns.** NPS/CSAT prompts (timed after value moments, not at login), feature-request capture, and micro-surveys (one question, contextual).
Response rates for in-context micro-surveys run 10–30x email surveys.
Always close the loop: "you asked, we built" messages turn feedback into loyalty.
## Practical workflow

1. **Audit current messages.** Inventory every in-app message: trigger, audience, copy, dismiss rate. Kill the ignored and the annoying — they're training users to dismiss everything.
2. **Define the messaging system.** Message types and when each is appropriate, targeting rules, frequency caps, visual standards, and copy guidelines. Document it — consistency matters.
3. **Design key flows.** Onboarding (first-run → first value), feature announcements (launch calendar tied to releases), and contextual help (top support drivers → in-context tips). Wireframe each flow's sequence.
4. **Write tight copy.** Every message: one idea, benefit-led, clear CTA or dismiss. Test with 5 users — confusion here is cheap to fix now, expensive later.
5. **Implement targeting and caps.** Audience rules, trigger events, frequency caps (global + per-message), and "don't show again" persistence. QA every trigger path.
6. **Measure.** View rate, CTA click rate, dismiss rate, feature adoption lift (exposed vs. control), support ticket impact, and NPS correlation. High dismiss rates = wrong targeting or bad copy.

**Message quality checklist:** targeted to relevant users? → triggered at the right moment? → under 140 chars? → benefit clear? → easy dismiss? → doesn't stack with other messages? → accessible (keyboard, screen reader)?


**Feature announcement playbook:** segment (who benefits?) → message (what changed, why it matters, one CTA) → format (tooltip for minor, modal for major) → timing (next relevant session, not immediately at login) → measure (feature adoption in exposed vs. control cohort) → iterate. Announce benefits, not features — "find anything instantly" beats "we added global search."

**QA checklist:** test on target devices and screen sizes → verify targeting logic with test users → check dark mode and accessibility (contrast, screen readers, keyboard dismissal) → confirm analytics fire → review copy for tone and clarity. In-app messages are product UI — hold them to product quality bars.

**Churn intervention playbook:** detect risk signals (usage drop, support tickets, failed payments) → segment by value and reason → deploy targeted messages (education for confusion, offers for price sensitivity, human outreach for enterprise) → measure save rate → refine triggers.
Intervene early — once users decide to leave, messages rarely reverse it.
## Common pitfalls

- **Tour overload.** 12-step product tours on first login. Progressive, contextual guidance beats upfront dumps.
- **Modal abuse.** Interrupting for non-critical news. Modals are for actions users must take, not announcements.
- **No frequency caps.** Five popups per session. Users learn to dismiss blindly — then miss the important one.
- **Untargeted blasts.** Showing admin features to end users. Target or annoy.
- **No dismiss option.** Trapping users. Always escapable, always remembers the choice.
- **Stale messages.** Launch announcements from 6 months ago still showing. Expire messages; review quarterly.
- **Measuring views, not outcomes.** Celebrating impressions while feature adoption flatlines. Measure behavior change.
- **Modal abuse.** Every announcement as a blocking modal. Users develop banner blindness for your most important messages.
- **No targeting.** Showing the same messages to new and veteran users. Irrelevant messages erode trust in all future messages.
- **Skipping measurement.** Shipping messages without control groups. Without measurement, you cannot distinguish helpful guidance from annoying interruption.
- **Interrupting critical workflows.** Popups during checkout or data entry. Suppress all non-critical messages during high-stakes flows — timing is respect.
- **No frequency governance.** Five teams each sending "just one message." Centralize governance with per-user weekly caps.

Attribution

aicodedecodeaicodedecode
View sourceSee grades on GitHubMore from aicodedecode →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →