Skip to main content
skill CX Codex

zeigarnik-effect — Claude Code skill: progress states and return hooks

A skill for designing progress bars, saved drafts and reminders about unfinished steps. It gives the agent a framework for using incompleteness as a motivational signal.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Owl-Listener/designer-skills --skill zeigarnik-effect -a claude-code
Open on GitHub

What zeigarnik-effect does

The skill teaches the agent Bluma Zeigarnik's finding: people remember interrupted and uncompleted tasks better than finished ones. An open loop stays in working memory and pulls toward completion. The design takeaway is blunt — incompleteness motivates only when a visible endpoint exists.

From there it covers where to apply the idea: progress bars in multi-step flows, draft resumption, onboarding re-entry, checklists and profile completion meters. A section on interruption handling says state must save automatically, the resume path must be obvious, and context must come back exactly as the user left it. Another section lists the failure modes — too many competing open loops, or nudges for tasks the user has genuinely abandoned.

Worth installing if you build onboarding, carts or learning tools and want the agent to propose concrete copy and steps instead of generic advice. The skill points to peak-end-rule for the emotional shape of an ending, and that is a separate skill you install on its own.

What it helps with

  • design a progress bar for a multi-step onboarding flow
  • write a reminder for an abandoned draft
  • add autosave when a flow gets interrupted
  • build a profile completion checklist
  • check whether return copy reads as guilt-tripping

Example prompts for the agent

  • Help me design progress for a five-step onboarding flow using the Zeigarnik principle
  • Write reminder copy for an unfinished profile setup that doesn't guilt the user
  • How should I preserve state when someone abandons checkout halfway through?

How to install zeigarnik-effect

1Skills CLI (Vercel)

npx skills add Owl-Listener/designer-skills --skill zeigarnik-effect -a claude-code

2Manually: put the files in place

~/.claude/skills/zeigarnik-effect/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/zeigarnik-effect/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about zeigarnik-effect

How do I install zeigarnik-effect in Claude?

Run npx skills add Owl-Listener/designer-skills --skill zeigarnik-effect -a claude-code. The skill lands at ~/.claude/skills/zeigarnik-effect/SKILL.md.

What does zeigarnik-effect do?

It gives the agent a framework for progress indicators, interruption handling and re-engagement with unfinished tasks. Inside are the principle itself, application examples and the cases where the effect backfires.

How is zeigarnik-effect different from peak-end-rule?

zeigarnik-effect handles unfinished states and the pull to return to them, while peak-end-rule covers the emotional shape of the ending. A full flow needs both skills.

Source text

SKILL.md · MIT
---
name: zeigarnik-effect
description: Apply the Zeigarnik Effect — incomplete tasks stay mentally active. Use when designing progress indicators, saved drafts, and return hooks. For the emotional shape of the ending, use `peak-end-rule`.
---
# Zeigarnik Effect

You are an expert in task completion psychology and motivational design.

## What You Do

You apply the Zeigarnik Effect to design progress states, interruption handling, and re-engagement patterns that use incompleteness as a motivational signal — without abusing it.

## The Principle

Bluma Zeigarnik observed that people remember uncompleted or interrupted tasks better than completed ones. Unfinished tasks occupy open loops in working memory — the brain keeps returning to them because the tension of incompleteness is unresolved.

**Design implication**: incompleteness is a motivational state. Progress that is started but not finished creates a pull toward completion.

## Applications

### Progress indicators and multi-step flows

Showing a user how far they have come — and that a defined, finite distance remains — is more motivating than showing neither:
- Progress bars on profile completion, course modules, or setup flows activate the Zeigarnik loop
- "You're 60% done" is more compelling than "complete your profile" without a completion signal
- Named steps with clear endpoints give working memory something concrete to hold and return to

### Re-engagement touchpoints

"You left something in your cart" works because the Zeigarnik loop is already open — the user started a task and did not finish it. The re-engagement surfaces a real cognitive state:
- **Draft resumption**: "You have an unsaved draft" keeps an open loop visible
- **Onboarding re-entry**: "You're one step away from completing setup" references the specific uncompleted state
- **Abandoned flow recovery**: showing the exact step where the user stopped is more effective than a generic call to action

### Interruption handling

If a flow can be interrupted mid-completion, the product must:
1. Save state automatically, without requiring the user to act
2. Signal clearly that the task can be resumed exactly where it was left
3. Restore context completely on return — the user's mental model of "where I was" must match the actual state

### Checklists and completion meters

Checklists make open loops explicit and visible. Each unchecked item maintains a Zeigarnik loop; completing items provides resolution. This is the mechanism behind:
- Onboarding checklists
- Profile completion meters and nudges
- Achievement and progress systems in productivity and learning tools

## When the Zeigarnik Effect Creates Problems

- **Too many open loops simultaneously**: more than two or three competing incomplete states overwhelm rather than motivate
- **Re-engagement for low-priority tasks**: prompts for tasks the user has implicitly abandoned read as manipulation, not helpfulness
- **Incomplete states that cannot be completed**: showing a progress bar with no clear completion path creates frustration rather than motivation

## Best Practices

- Surface one or two open loops at a time; more is noise
- Always provide a clear path to completion when referencing an unfinished task — incomplete without a route is anxiety, not motivation
- Design autosave first; progress motivation only works if state is reliably preserved
- Use incompleteness honestly — only surface it for tasks the user has genuinely started
- Test re-engagement copy for tone; Zeigarnik-driven messages should feel like helpful reminders, not guilt

© Owl-Listener · MIT · Owl-Listener/designer-skills

Similar skills

Everything for Design →

From the same set111

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor