Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Apply flow theory to diagnose optimal experience conditions and design environments that balance challenge and skill for sustained engagement. Use this skill when the user needs to explain why users disengage from tasks, optimize task difficulty for peak performance, design learning progressions or gamification systems, or when they ask 'why do people lose focus', 'how to design for engagement', or 'what conditions produce peak performance'.
.claude/skills/asgard-ai-platform-grad-flow/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -32% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -4% | 0% |
Flow theory (Csikszentmihalyi, 1990) describes a psychological state of complete absorption in an activity where a person's skills are fully engaged by a commensurate challenge. Flow occurs in a narrow channel between anxiety (challenge exceeds skill) and boredom (skill exceeds challenge), requiring clear goals, immediate feedback, and a perceived skill-challenge balance.
IRON LAW: Flow occurs ONLY when perceived challenge matches
perceived skill — too easy breeds boredom, too hard breeds
anxiety. Both dimensions are SUBJECTIVE perceptions, not
objective measurements.Key assumptions:
Plot the target activity on the experience quadrant:
High Challenge
|
Anxiety | FLOW
|
------+----------
|
Apathy | Boredom
|
Low Skill ——————— High SkillCheck the three necessary conditions:
Common blockers: interruptions, ambiguous goals, delayed feedback, fixed difficulty (no adaptive scaling), multitasking, self-consciousness, external evaluation pressure.
markdown## Flow Analysis: [Context] ### Current State Diagnosis - Perceived skill level: [Low/Medium/High] - Perceived challenge level: [Low/Medium/High] - Current experience zone: [Flow/Anxiety/Boredom/Apathy] ### Precondition Check | Condition | Status | Evidence | |-----------|--------|----------| | Clear goals | [Met/Unmet] | [observation] | | Immediate feedback | [Met/Unmet] | [observation] | | Skill-challenge match | [Met/Unmet] | [observation] | ### Flow Blockers - [Blocker and its impact] ### Design Recommendations 1. [Challenge calibration change] 2. [Feedback mechanism improvement] 3. [Environmental modification]
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 18,997 | 13,497 | -29% | 1 | 1 | 0% | 3,063 | 3,176 | +4% | 0 | 0 | — |
case-02 | fail→pass | 21,478 | 15,756 | -27% | 1 | 1 | 0% | 3,419 | 3,695 | +8% | 0 | 0 | — |
case-03 | fail→pass | 31,422 | 14,843 | -53% | 1 | 1 | 0% | 5,023 | 3,391 | -32% | 0 | 0 | — |
case-04 | fail→pass | 19,480 | 16,602 | -15% | 1 | 1 | 0% | 2,937 | 3,204 | +9% | 0 | 0 | — |
case-05 | fail→fail | 17,166 | 18,461 | +8% | 1 | 1 | 0% | 2,518 | 3,771 | +50% | 0 | 0 | — |
case-06 | fail→pass | 20,853 | 12,020 | -42% | 1 | 1 | 0% | 3,146 | 3,005 | -4% | 0 | 0 | — |
case-07 | fail→pass | 22,913 | 14,969 | -35% | 1 | 1 | 0% | 3,681 | 3,339 | -9% | 0 | 0 | — |
case-08 | pass→pass | 13,106 | 11,796 | -10% | 1 | 1 | 0% | 2,169 | 2,883 | +33% | 0 | 0 | — |
case-09 | pass→pass | 12,569 | 14,179 | +13% | 1 | 1 | 0% | 2,066 | 3,373 | +63% | 0 | 0 | — |
case-10 | pass→pass | 7,791 | 6,963 | -11% | 1 | 1 | 0% | 1,256 | 2,090 | +66% | 0 | 0 | — |
case-11 | pass→pass | 10,166 | 11,667 | +15% | 1 | 1 | 0% | 1,595 | 2,785 | +75% | 0 | 0 | — |
case-12 | pass→pass | 17,561 | 13,496 | -23% | 1 | 1 | 0% | 2,826 | 3,332 | +18% | 0 | 0 | — |
case-13 | pass→pass | 17,549 | 20,496 | +17% | 1 | 1 | 0% | 2,377 | 3,776 | +59% | 0 | 0 | — |
case-14 | pass→pass | 15,311 | 9,565 | -38% | 1 | 1 | 0% | 2,222 | 2,594 | +17% | 0 | 0 | — |
case-15 | pass→pass | 15,606 | 13,976 | -10% | 1 | 1 | 0% | 2,393 | 3,110 | +30% | 0 | 0 | — |
case-16 | pass→pass | 16,366 | 12,872 | -21% | 1 | 1 | 0% | 2,410 | 3,232 | +34% | 0 | 0 | — |
case-17 | fail→pass | 10,414 | 8,211 | -21% | 1 | 1 | 0% | 1,562 | 2,370 | +52% | 0 | 0 | — |
case-18 | pass→pass | 14,582 | 12,869 | -12% | 1 | 1 | 0% | 2,223 | 2,993 | +35% | 0 | 0 | — |
case-19 | pass→pass | 15,788 | 13,480 | -15% | 1 | 1 | 0% | 2,492 | 3,030 | +22% | 0 | 0 | — |
case-20 | pass→pass | 15,975 | 15,524 | -3% | 1 | 1 | 0% | 2,513 | 3,452 | +37% | 0 | 0 | — |
case-21 | fail→pass | 6,857 | 9,266 | +35% | 1 | 1 | 0% | 1,124 | 2,565 | +128% | 0 | 0 | — |
case-22 | fail→fail | 8,719 | 11,657 | +34% | 1 | 1 | 0% | 1,460 | 2,867 | +96% | 0 | 0 | — |
case-23 | pass→pass | 9,694 | 8,495 | -12% | 1 | 1 | 0% | 1,708 | 2,513 | +47% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +35 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.