self-initiated-triggers
Design internal triggers for sustained user engagement. Use when building habit-forming features, improving retention without notifications, or transitioning users from external prompts to self-motivated engagement.
Best use case
self-initiated-triggers is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Design internal triggers for sustained user engagement. Use when building habit-forming features, improving retention without notifications, or transitioning users from external prompts to self-motivated engagement.
Teams using self-initiated-triggers should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/self-initiated-triggers/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How self-initiated-triggers Compares
| Feature / Agent | self-initiated-triggers | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Design internal triggers for sustained user engagement. Use when building habit-forming features, improving retention without notifications, or transitioning users from external prompts to self-motivated engagement.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Self-Initiated Triggers - From External Prompts to Internal Motivation
Self-Initiated Triggers (Internal Triggers) are emotional states or situations
that prompt users to engage with a product without any external reminder. They
represent the goal state of habit formation - when users think of your product
automatically in response to specific feelings or contexts.
## When to Use This Skill
- Designing for long-term retention
- Reducing dependency on push notifications
- Building sustainable engagement loops
- Understanding user motivation patterns
- Creating products that become "default" solutions
- Reducing user acquisition costs through organic return
## Core Concepts
### External vs. Internal Triggers
```
External Triggers Internal Triggers
(Pushed to user) (Pulled by user)
| |
v v
+-------------+ +-------------+
| - Push | | - Boredom |
| notif | Journey | - Anxiety |
| - Email | -----------> | - FOMO |
| - Ads | | - Loneliness|
| - WOM | | - Curiosity |
+-------------+ +-------------+
| |
v v
Expensive Free
Interruptive Seamless
Declining effect Strengthening
```
### The Trigger-Product Association
```
Emotion/Situation Product Association
| |
v v
"I feel bored" --> "I'll check Instagram"
"I have a question" --> "I'll Google it"
"I feel anxious" --> "I'll check Slack"
"I'm waiting" --> "I'll open TikTok"
```
### Trigger Types
| Trigger | Emotion | Example Products |
| --------------- | ----------------------------------- | ----------------------------- |
| **Negative** | Boredom, anxiety, loneliness, FOMO | Social media, news, messaging |
| **Positive** | Curiosity, excitement, anticipation | Learning apps, games |
| **Situational** | Waiting, commuting, winding down | Podcasts, reading apps |
| **Routine** | Morning, mealtime, bedtime | News, meditation, fitness |
### Building Internal Triggers
```
Phase 1: External Trigger
"We sent you a notification"
|
v
Phase 2: Association Forming
Repeated: Trigger → Action → Reward
|
v
Phase 3: Internal Trigger Emerging
Emotion alone triggers action
|
v
Phase 4: Automatic Habit
No conscious thought needed
```
## Analysis Framework
### Step 1: Identify Target Emotions
Research questions:
- What emotional state precedes product use?
- What are users feeling when they reach for the product?
- What situation or context triggers engagement?
| User Segment | Primary Emotion | Secondary Emotion | Context |
| ------------ | --------------- | ----------------- | ------------ |
| [Segment 1] | [Emotion] | [Emotion] | [When/Where] |
| [Segment 2] | [Emotion] | [Emotion] | [When/Where] |
### Step 2: Map Current Trigger Mix
```
External Triggers Internal Triggers
[_____________________] [_____________________]
80% 20%
Target state:
[_____________________] [_____________________]
30% 70%
```
### Step 3: Design Trigger Strengthening
| Strategy | Implementation |
| ------------------------ | ------------------------------------ |
| **Repeated pairing** | Consistent context → action → reward |
| **Emotional resonance** | Design for target emotion |
| **Ritual creation** | Encourage routine usage |
| **Social reinforcement** | Others validate the behavior |
### Step 4: Measure Trigger Strength
| Metric | Weak Trigger | Strong Trigger |
| -------------------------------- | ------------ | -------------- |
| Return frequency without prompts | Low | High |
| Time to return after absence | Long | Short |
| Usage without notifications | Rare | Common |
| Self-reported "automatic" use | Never | Often |
## Output Template
```markdown
## Internal Trigger Analysis
**Product:** [Name] **Date:** [Date]
### Target Internal Trigger
**Primary emotion:** [Emotion] **Trigger context:** [Situation when emotion
occurs] **Desired association:** "When I feel [emotion], I [product action]"
### Current State
| Engagement Type | % of Sessions |
| ------------------------ | ------------- |
| Push notification driven | [X%] |
| Email driven | [X%] |
| Self-initiated | [X%] |
### User Research Findings
**Interview insight 1:** "[Quote about when/why they open the product]"
**Interview insight 2:** "[Quote about emotional state]"
### Trigger Strengthening Plan
| Strategy | Action | Expected Outcome |
| ------------ | ----------------- | ---------------- |
| [Strategy 1] | [Specific action] | [Metric impact] |
| [Strategy 2] | [Specific action] | [Metric impact] |
### Success Metrics
| Metric | Current | Target | Timeframe |
| --------------------------- | ------- | ------ | --------- |
| Self-initiated sessions | [X%] | [Y%] | [Months] |
| Return without notification | [X%] | [Y%] | [Months] |
```
## Real-World Examples
### Example 1: Twitter/X
**Target emotion**: Boredom + need for stimulation **Association built**: "I
have a spare moment → I'll check Twitter"
**Mechanisms**:
- Variable reward (always new content)
- Quick dopamine hits
- FOMO reinforcement
- Endless scroll removes end point
### Example 2: Slack
**Target emotion**: Anxiety about missing information **Association built**: "I
feel out of the loop → I'll check Slack"
**Mechanisms**:
- @mentions create urgency
- Channel activity visible
- "Unread" counts create incompleteness
- Professional FOMO
### Example 3: Duolingo
**Target emotion**: Guilt + achievement desire **Association built**: "I should
be productive → I'll do a lesson"
**Mechanisms**:
- Streak creates obligation
- Short lessons fit spare moments
- Progress visualization rewards
- Guilt as internal trigger (healthy or not)
## Ethical Considerations
### Healthy vs. Unhealthy Triggers
| Aspect | Healthy | Unhealthy |
| --------------------- | ------------------------ | ------------------------- |
| **Emotion exploited** | Curiosity, growth desire | Anxiety, loneliness, FOMO |
| **User outcome** | Feels better after use | Feels worse or unchanged |
| **Sustainability** | Long-term satisfaction | Short-term with regret |
| **Control** | User feels in control | User feels compelled |
### Design for Wellbeing
- Target positive emotions where possible
- Ensure product delivers on emotional promise
- Provide usage awareness tools
- Allow notification customization
- Design satisfying end points
## Best Practices
### Do
- Research actual emotional triggers (don't assume)
- Design reward to match the emotional need
- Create consistent context-action pairings
- Make first action extremely simple
- Measure self-initiated engagement separately
### Avoid
- Relying solely on external triggers long-term
- Exploiting negative emotions irresponsibly
- Breaking user trust with manipulative patterns
- Ignoring the emotional aftermath of use
- Designing without usage boundaries
## Integration with Other Methods
| Method | Combined Use |
| ----------------------- | ------------------------------------ |
| **Hooked Model** | Internal triggers are the goal state |
| **Fogg Behavior Model** | Trigger is the T in B=MAT |
| **Jobs-to-be-Done** | Emotional jobs are internal triggers |
| **Loss Aversion** | Fear of loss as internal trigger |
## Resources
- [Hooked - Nir Eyal](https://www.nirandfar.com/hooked/)
- [The Power of Habit - Charles Duhigg](https://www.amazon.com/Power-Habit-What-Life-Business/dp/081298160X)
- [Atomic Habits - James Clear](https://jamesclear.com/atomic-habits)Related Skills
what-not-to-do-as-product-manager
Anti-patterns and mistakes to avoid as a product manager. Use when evaluating leadership behaviors, improving team dynamics, reflecting on management practices, or onboarding new product managers.
visual-cues-cta-psychology
Design effective CTAs using visual attention and gaze psychology principles. Use when designing landing pages, button hierarchies, conversion elements, or optimizing user attention flow through interfaces.
vercel-sandbox
Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.
value-realization
Analyze if end users discover clear value. Use when evaluating product concepts, analyzing adoption, or uncertain about direction.
user-story-fundamentals
Capture requirements from user perspective with structured user stories. Use when writing backlog items, defining acceptance criteria, prioritizing features, or communicating requirements between product and development.
typescript-satisfies-operator
Guides proper usage of TypeScript's satisfies operator vs type annotations. Use this skill when deciding between type annotations (colon) and satisfies, validating object shapes while preserving literal types, or troubleshooting type inference issues.
typescript-interface-vs-type
Guides when to use interface vs type in TypeScript. Use this skill when defining object types, extending types, or choosing between interface and type aliases.
typescript-best-practices
Guides TypeScript best practices for type safety, code organization, and maintainability. Use this skill when configuring TypeScript projects, deciding on typing strategies, writing async code, or reviewing TypeScript code quality.
typescript-advanced-types
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.
trust-psychology
Build trust signals that reduce perceived risk and enable user action. Use when designing landing pages, checkout flows, onboarding experiences, or any conversion point where user hesitation is a barrier.
theme-epic-story
Structure product work hierarchically using themes, epics, and stories. Use when organizing backlogs, planning releases, communicating with stakeholders, or breaking down large initiatives into manageable work.
tailwind-v4-configuration
Configure Tailwind CSS v4 with CSS-first approach. Use when installing, migrating from v3, setting up build tools (Vite/PostCSS/CLI), customizing themes with @theme, or configuring plugins.