ccg-workflow 1.8.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/cli.mjs +1 -1
  2. package/dist/index.d.mts +1 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.mjs +1 -1
  5. package/dist/shared/{ccg-workflow.B1RHp04H.mjs → ccg-workflow.iK6lgCG3.mjs} +204 -6
  6. package/package.json +1 -1
  7. package/templates/commands/agents/team-architect.md +97 -0
  8. package/templates/commands/agents/team-qa.md +121 -0
  9. package/templates/commands/agents/team-reviewer.md +112 -0
  10. package/templates/output-styles/abyss-command.md +56 -0
  11. package/templates/output-styles/abyss-concise.md +89 -0
  12. package/templates/output-styles/abyss-ritual.md +70 -0
  13. package/templates/rules/ccg-skill-routing.md +83 -0
  14. package/templates/skills/domains/ai/SKILL.md +34 -0
  15. package/templates/skills/domains/ai/agent-dev.md +242 -0
  16. package/templates/skills/domains/ai/llm-security.md +288 -0
  17. package/templates/skills/domains/ai/prompt-and-eval.md +279 -0
  18. package/templates/skills/domains/ai/rag-system.md +542 -0
  19. package/templates/skills/domains/architecture/SKILL.md +42 -0
  20. package/templates/skills/domains/architecture/api-design.md +225 -0
  21. package/templates/skills/domains/architecture/caching.md +299 -0
  22. package/templates/skills/domains/architecture/cloud-native.md +285 -0
  23. package/templates/skills/domains/architecture/message-queue.md +329 -0
  24. package/templates/skills/domains/architecture/security-arch.md +297 -0
  25. package/templates/skills/domains/data-engineering/SKILL.md +207 -0
  26. package/templates/skills/domains/development/SKILL.md +46 -0
  27. package/templates/skills/domains/development/cpp.md +246 -0
  28. package/templates/skills/domains/development/go.md +323 -0
  29. package/templates/skills/domains/development/java.md +277 -0
  30. package/templates/skills/domains/development/python.md +288 -0
  31. package/templates/skills/domains/development/rust.md +313 -0
  32. package/templates/skills/domains/development/shell.md +313 -0
  33. package/templates/skills/domains/development/typescript.md +277 -0
  34. package/templates/skills/domains/devops/SKILL.md +39 -0
  35. package/templates/skills/domains/devops/cost-optimization.md +272 -0
  36. package/templates/skills/domains/devops/database.md +217 -0
  37. package/templates/skills/domains/devops/devsecops.md +198 -0
  38. package/templates/skills/domains/devops/git-workflow.md +181 -0
  39. package/templates/skills/domains/devops/observability.md +280 -0
  40. package/templates/skills/domains/devops/performance.md +336 -0
  41. package/templates/skills/domains/devops/testing.md +283 -0
  42. package/templates/skills/domains/frontend-design/SKILL.md +242 -0
  43. package/templates/skills/domains/frontend-design/agents/openai.yaml +4 -0
  44. package/templates/skills/domains/frontend-design/claymorphism/SKILL.md +119 -0
  45. package/templates/skills/domains/frontend-design/claymorphism/references/tokens.css +52 -0
  46. package/templates/skills/domains/frontend-design/component-patterns.md +202 -0
  47. package/templates/skills/domains/frontend-design/engineering.md +287 -0
  48. package/templates/skills/domains/frontend-design/glassmorphism/SKILL.md +140 -0
  49. package/templates/skills/domains/frontend-design/glassmorphism/references/tokens.css +32 -0
  50. package/templates/skills/domains/frontend-design/liquid-glass/SKILL.md +137 -0
  51. package/templates/skills/domains/frontend-design/liquid-glass/references/tokens.css +81 -0
  52. package/templates/skills/domains/frontend-design/neubrutalism/SKILL.md +143 -0
  53. package/templates/skills/domains/frontend-design/neubrutalism/references/tokens.css +44 -0
  54. package/templates/skills/domains/frontend-design/reference/color-and-contrast.md +132 -0
  55. package/templates/skills/domains/frontend-design/reference/interaction-design.md +195 -0
  56. package/templates/skills/domains/frontend-design/reference/motion-design.md +99 -0
  57. package/templates/skills/domains/frontend-design/reference/responsive-design.md +114 -0
  58. package/templates/skills/domains/frontend-design/reference/spatial-design.md +100 -0
  59. package/templates/skills/domains/frontend-design/reference/typography.md +133 -0
  60. package/templates/skills/domains/frontend-design/reference/ux-writing.md +107 -0
  61. package/templates/skills/domains/frontend-design/state-management.md +680 -0
  62. package/templates/skills/domains/frontend-design/ui-aesthetics.md +110 -0
  63. package/templates/skills/domains/frontend-design/ux-principles.md +156 -0
  64. package/templates/skills/domains/infrastructure/SKILL.md +200 -0
  65. package/templates/skills/domains/mobile/SKILL.md +224 -0
  66. package/templates/skills/domains/orchestration/SKILL.md +29 -0
  67. package/templates/skills/domains/orchestration/multi-agent.md +263 -0
  68. package/templates/skills/domains/security/SKILL.md +72 -0
  69. package/templates/skills/domains/security/blue-team.md +436 -0
  70. package/templates/skills/domains/security/code-audit.md +265 -0
  71. package/templates/skills/domains/security/pentest.md +226 -0
  72. package/templates/skills/domains/security/red-team.md +374 -0
  73. package/templates/skills/domains/security/threat-intel.md +372 -0
  74. package/templates/skills/domains/security/vuln-research.md +369 -0
  75. package/templates/skills/impeccable/adapt/SKILL.md +199 -0
  76. package/templates/skills/impeccable/animate/SKILL.md +174 -0
  77. package/templates/skills/impeccable/arrange/SKILL.md +124 -0
  78. package/templates/skills/impeccable/audit/SKILL.md +147 -0
  79. package/templates/skills/impeccable/bolder/SKILL.md +116 -0
  80. package/templates/skills/impeccable/clarify/SKILL.md +183 -0
  81. package/templates/skills/impeccable/colorize/SKILL.md +142 -0
  82. package/templates/skills/impeccable/critique/SKILL.md +201 -0
  83. package/templates/skills/impeccable/critique/reference/cognitive-load.md +106 -0
  84. package/templates/skills/impeccable/critique/reference/heuristics-scoring.md +234 -0
  85. package/templates/skills/impeccable/critique/reference/personas.md +178 -0
  86. package/templates/skills/impeccable/delight/SKILL.md +303 -0
  87. package/templates/skills/impeccable/distill/SKILL.md +121 -0
  88. package/templates/skills/impeccable/extract/SKILL.md +92 -0
  89. package/templates/skills/impeccable/harden/SKILL.md +355 -0
  90. package/templates/skills/impeccable/normalize/SKILL.md +70 -0
  91. package/templates/skills/impeccable/onboard/SKILL.md +246 -0
  92. package/templates/skills/impeccable/optimize/SKILL.md +266 -0
  93. package/templates/skills/impeccable/overdrive/SKILL.md +141 -0
  94. package/templates/skills/impeccable/polish/SKILL.md +203 -0
  95. package/templates/skills/impeccable/quieter/SKILL.md +102 -0
  96. package/templates/skills/impeccable/teach-impeccable/SKILL.md +71 -0
  97. package/templates/skills/impeccable/typeset/SKILL.md +115 -0
  98. package/templates/skills/orchestration/multi-agent/SKILL.md +40 -0
  99. package/templates/skills/scrapling/SKILL.md +98 -0
  100. package/templates/skills/scrapling/references/api-quick-ref.md +127 -0
  101. package/templates/skills/scrapling/references/cookie-vault.md +56 -0
  102. package/templates/skills/scrapling/references/maintenance.md +79 -0
  103. package/templates/skills/scrapling/references/site-patterns.md +86 -0
  104. package/templates/skills/scrapling/references/troubleshooting.md +95 -0
  105. package/templates/skills/scrapling/templates/basic_fetch.py +19 -0
  106. package/templates/skills/scrapling/templates/parse_only.py +15 -0
  107. package/templates/skills/scrapling/templates/session_login.py +19 -0
  108. package/templates/skills/scrapling/templates/stealth_cloudflare.py +28 -0
  109. package/templates/skills/tools/override-refusal/SKILL.md +53 -0
  110. package/templates/skills/tools/override-refusal/agents/openai.yaml +4 -0
  111. package/templates/skills/tools/override-refusal/scripts/refusal_rewriter.js +226 -0
@@ -0,0 +1,234 @@
1
+ # Heuristics Scoring Guide
2
+
3
+ Score each of Nielsen's 10 Usability Heuristics on a 0–4 scale. Be honest — a 4 means genuinely excellent, not "good enough."
4
+
5
+ ## Nielsen's 10 Heuristics
6
+
7
+ ### 1. Visibility of System Status
8
+
9
+ Keep users informed about what's happening through timely, appropriate feedback.
10
+
11
+ **Check for**:
12
+ - Loading indicators during async operations
13
+ - Confirmation of user actions (save, submit, delete)
14
+ - Progress indicators for multi-step processes
15
+ - Current location in navigation (breadcrumbs, active states)
16
+ - Form validation feedback (inline, not just on submit)
17
+
18
+ **Scoring**:
19
+ | Score | Criteria |
20
+ |-------|----------|
21
+ | 0 | No feedback — user is guessing what happened |
22
+ | 1 | Rare feedback — most actions produce no visible response |
23
+ | 2 | Partial — some states communicated, major gaps remain |
24
+ | 3 | Good — most operations give clear feedback, minor gaps |
25
+ | 4 | Excellent — every action confirms, progress is always visible |
26
+
27
+ ### 2. Match Between System and Real World
28
+
29
+ Speak the user's language. Follow real-world conventions. Information appears in natural, logical order.
30
+
31
+ **Check for**:
32
+ - Familiar terminology (no unexplained jargon)
33
+ - Logical information order matching user expectations
34
+ - Recognizable icons and metaphors
35
+ - Domain-appropriate language for the target audience
36
+ - Natural reading flow (left-to-right, top-to-bottom priority)
37
+
38
+ **Scoring**:
39
+ | Score | Criteria |
40
+ |-------|----------|
41
+ | 0 | Pure tech jargon, alien to users |
42
+ | 1 | Mostly confusing — requires domain expertise to navigate |
43
+ | 2 | Mixed — some plain language, some jargon leaks through |
44
+ | 3 | Mostly natural — occasional term needs context |
45
+ | 4 | Speaks the user's language fluently throughout |
46
+
47
+ ### 3. User Control and Freedom
48
+
49
+ Users need a clear "emergency exit" from unwanted states without extended dialogue.
50
+
51
+ **Check for**:
52
+ - Undo/redo functionality
53
+ - Cancel buttons on forms and modals
54
+ - Clear navigation back to safety (home, previous)
55
+ - Easy way to clear filters, search, selections
56
+ - Escape from long or multi-step processes
57
+
58
+ **Scoring**:
59
+ | Score | Criteria |
60
+ |-------|----------|
61
+ | 0 | Users get trapped — no way out without refreshing |
62
+ | 1 | Difficult exits — must find obscure paths to escape |
63
+ | 2 | Some exits — main flows have escape, edge cases don't |
64
+ | 3 | Good control — users can exit and undo most actions |
65
+ | 4 | Full control — undo, cancel, back, and escape everywhere |
66
+
67
+ ### 4. Consistency and Standards
68
+
69
+ Users shouldn't wonder whether different words, situations, or actions mean the same thing.
70
+
71
+ **Check for**:
72
+ - Consistent terminology throughout the interface
73
+ - Same actions produce same results everywhere
74
+ - Platform conventions followed (standard UI patterns)
75
+ - Visual consistency (colors, typography, spacing, components)
76
+ - Consistent interaction patterns (same gesture = same behavior)
77
+
78
+ **Scoring**:
79
+ | Score | Criteria |
80
+ |-------|----------|
81
+ | 0 | Inconsistent everywhere — feels like different products stitched together |
82
+ | 1 | Many inconsistencies — similar things look/behave differently |
83
+ | 2 | Partially consistent — main flows match, details diverge |
84
+ | 3 | Mostly consistent — occasional deviation, nothing confusing |
85
+ | 4 | Fully consistent — cohesive system, predictable behavior |
86
+
87
+ ### 5. Error Prevention
88
+
89
+ Better than good error messages is a design that prevents problems in the first place.
90
+
91
+ **Check for**:
92
+ - Confirmation before destructive actions (delete, overwrite)
93
+ - Constraints preventing invalid input (date pickers, dropdowns)
94
+ - Smart defaults that reduce errors
95
+ - Clear labels that prevent misunderstanding
96
+ - Autosave and draft recovery
97
+
98
+ **Scoring**:
99
+ | Score | Criteria |
100
+ |-------|----------|
101
+ | 0 | Errors easy to make — no guardrails anywhere |
102
+ | 1 | Few safeguards — some inputs validated, most aren't |
103
+ | 2 | Partial prevention — common errors caught, edge cases slip |
104
+ | 3 | Good prevention — most error paths blocked proactively |
105
+ | 4 | Excellent — errors nearly impossible through smart constraints |
106
+
107
+ ### 6. Recognition Rather Than Recall
108
+
109
+ Minimize memory load. Make objects, actions, and options visible or easily retrievable.
110
+
111
+ **Check for**:
112
+ - Visible options (not buried in hidden menus)
113
+ - Contextual help when needed (tooltips, inline hints)
114
+ - Recent items and history
115
+ - Autocomplete and suggestions
116
+ - Labels on icons (not icon-only navigation)
117
+
118
+ **Scoring**:
119
+ | Score | Criteria |
120
+ |-------|----------|
121
+ | 0 | Heavy memorization — users must remember paths and commands |
122
+ | 1 | Mostly recall — many hidden features, few visible cues |
123
+ | 2 | Some aids — main actions visible, secondary features hidden |
124
+ | 3 | Good recognition — most things discoverable, few memory demands |
125
+ | 4 | Everything discoverable — users never need to memorize |
126
+
127
+ ### 7. Flexibility and Efficiency of Use
128
+
129
+ Accelerators — invisible to novices — speed up expert interaction.
130
+
131
+ **Check for**:
132
+ - Keyboard shortcuts for common actions
133
+ - Customizable interface elements
134
+ - Recent items and favorites
135
+ - Bulk/batch actions
136
+ - Power user features that don't complicate the basics
137
+
138
+ **Scoring**:
139
+ | Score | Criteria |
140
+ |-------|----------|
141
+ | 0 | One rigid path — no shortcuts or alternatives |
142
+ | 1 | Limited flexibility — few alternatives to the main path |
143
+ | 2 | Some shortcuts — basic keyboard support, limited bulk actions |
144
+ | 3 | Good accelerators — keyboard nav, some customization |
145
+ | 4 | Highly flexible — multiple paths, power features, customizable |
146
+
147
+ ### 8. Aesthetic and Minimalist Design
148
+
149
+ Interfaces should not contain irrelevant or rarely needed information. Every element should serve a purpose.
150
+
151
+ **Check for**:
152
+ - Only necessary information visible at each step
153
+ - Clear visual hierarchy directing attention
154
+ - Purposeful use of color and emphasis
155
+ - No decorative clutter competing for attention
156
+ - Focused, uncluttered layouts
157
+
158
+ **Scoring**:
159
+ | Score | Criteria |
160
+ |-------|----------|
161
+ | 0 | Overwhelming — everything competes for attention equally |
162
+ | 1 | Cluttered — too much noise, hard to find what matters |
163
+ | 2 | Some clutter — main content clear, periphery noisy |
164
+ | 3 | Mostly clean — focused design, minor visual noise |
165
+ | 4 | Perfectly minimal — every element earns its pixel |
166
+
167
+ ### 9. Help Users Recognize, Diagnose, and Recover from Errors
168
+
169
+ Error messages should use plain language, precisely indicate the problem, and constructively suggest a solution.
170
+
171
+ **Check for**:
172
+ - Plain language error messages (no error codes for users)
173
+ - Specific problem identification ("Email is missing @" not "Invalid input")
174
+ - Actionable recovery suggestions
175
+ - Errors displayed near the source of the problem
176
+ - Non-blocking error handling (don't wipe the form)
177
+
178
+ **Scoring**:
179
+ | Score | Criteria |
180
+ |-------|----------|
181
+ | 0 | Cryptic errors — codes, jargon, or no message at all |
182
+ | 1 | Vague errors — "Something went wrong" with no guidance |
183
+ | 2 | Clear but unhelpful — names the problem but not the fix |
184
+ | 3 | Clear with suggestions — identifies problem and offers next steps |
185
+ | 4 | Perfect recovery — pinpoints issue, suggests fix, preserves user work |
186
+
187
+ ### 10. Help and Documentation
188
+
189
+ Even if the system is usable without docs, help should be easy to find, task-focused, and concise.
190
+
191
+ **Check for**:
192
+ - Searchable help or documentation
193
+ - Contextual help (tooltips, inline hints, guided tours)
194
+ - Task-focused organization (not feature-organized)
195
+ - Concise, scannable content
196
+ - Easy access without leaving current context
197
+
198
+ **Scoring**:
199
+ | Score | Criteria |
200
+ |-------|----------|
201
+ | 0 | No help available anywhere |
202
+ | 1 | Help exists but hard to find or irrelevant |
203
+ | 2 | Basic help — FAQ or docs exist, not contextual |
204
+ | 3 | Good documentation — searchable, mostly task-focused |
205
+ | 4 | Excellent contextual help — right info at the right moment |
206
+
207
+ ---
208
+
209
+ ## Score Summary
210
+
211
+ **Total possible**: 40 points (10 heuristics × 4 max)
212
+
213
+ | Score Range | Rating | What It Means |
214
+ |-------------|--------|---------------|
215
+ | 36–40 | Excellent | Minor polish only — ship it |
216
+ | 28–35 | Good | Address weak areas, solid foundation |
217
+ | 20–27 | Acceptable | Significant improvements needed before users are happy |
218
+ | 12–19 | Poor | Major UX overhaul required — core experience broken |
219
+ | 0–11 | Critical | Redesign needed — unusable in current state |
220
+
221
+ ---
222
+
223
+ ## Issue Severity (P0–P3)
224
+
225
+ Tag each individual issue found during scoring with a priority level:
226
+
227
+ | Priority | Name | Description | Action |
228
+ |----------|------|-------------|--------|
229
+ | **P0** | Blocking | Prevents task completion entirely | Fix immediately — this is a showstopper |
230
+ | **P1** | Major | Causes significant difficulty or confusion | Fix before release |
231
+ | **P2** | Minor | Annoyance, but workaround exists | Fix in next pass |
232
+ | **P3** | Polish | Nice-to-fix, no real user impact | Fix if time permits |
233
+
234
+ **Tip**: If you're unsure between two levels, ask: "Would a user contact support about this?" If yes, it's at least P1.
@@ -0,0 +1,178 @@
1
+ # Persona-Based Design Testing
2
+
3
+ Test the interface through the eyes of 5 distinct user archetypes. Each persona exposes different failure modes that a single "design director" perspective would miss.
4
+
5
+ **How to use**: Select 2–3 personas most relevant to the interface being critiqued. Walk through the primary user action as each persona. Report specific red flags — not generic concerns.
6
+
7
+ ---
8
+
9
+ ## 1. Impatient Power User — "Alex"
10
+
11
+ **Profile**: Expert with similar products. Expects efficiency, hates hand-holding. Will find shortcuts or leave.
12
+
13
+ **Behaviors**:
14
+ - Skips all onboarding and instructions
15
+ - Looks for keyboard shortcuts immediately
16
+ - Tries to bulk-select, batch-edit, and automate
17
+ - Gets frustrated by required steps that feel unnecessary
18
+ - Abandons if anything feels slow or patronizing
19
+
20
+ **Test Questions**:
21
+ - Can Alex complete the core task in under 60 seconds?
22
+ - Are there keyboard shortcuts for common actions?
23
+ - Can onboarding be skipped entirely?
24
+ - Do modals have keyboard dismiss (Esc)?
25
+ - Is there a "power user" path (shortcuts, bulk actions)?
26
+
27
+ **Red Flags** (report these specifically):
28
+ - Forced tutorials or unskippable onboarding
29
+ - No keyboard navigation for primary actions
30
+ - Slow animations that can't be skipped
31
+ - One-item-at-a-time workflows where batch would be natural
32
+ - Redundant confirmation steps for low-risk actions
33
+
34
+ ---
35
+
36
+ ## 2. Confused First-Timer — "Jordan"
37
+
38
+ **Profile**: Never used this type of product. Needs guidance at every step. Will abandon rather than figure it out.
39
+
40
+ **Behaviors**:
41
+ - Reads all instructions carefully
42
+ - Hesitates before clicking anything unfamiliar
43
+ - Looks for help or support constantly
44
+ - Misunderstands jargon and abbreviations
45
+ - Takes the most literal interpretation of any label
46
+
47
+ **Test Questions**:
48
+ - Is the first action obviously clear within 5 seconds?
49
+ - Are all icons labeled with text?
50
+ - Is there contextual help at decision points?
51
+ - Does terminology assume prior knowledge?
52
+ - Is there a clear "back" or "undo" at every step?
53
+
54
+ **Red Flags** (report these specifically):
55
+ - Icon-only navigation with no labels
56
+ - Technical jargon without explanation
57
+ - No visible help option or guidance
58
+ - Ambiguous next steps after completing an action
59
+ - No confirmation that an action succeeded
60
+
61
+ ---
62
+
63
+ ## 3. Accessibility-Dependent User — "Sam"
64
+
65
+ **Profile**: Uses screen reader (VoiceOver/NVDA), keyboard-only navigation. May have low vision, motor impairment, or cognitive differences.
66
+
67
+ **Behaviors**:
68
+ - Tabs through the interface linearly
69
+ - Relies on ARIA labels and heading structure
70
+ - Cannot see hover states or visual-only indicators
71
+ - Needs adequate color contrast (4.5:1 minimum)
72
+ - May use browser zoom up to 200%
73
+
74
+ **Test Questions**:
75
+ - Can the entire primary flow be completed keyboard-only?
76
+ - Are all interactive elements focusable with visible focus indicators?
77
+ - Do images have meaningful alt text?
78
+ - Is color contrast WCAG AA compliant (4.5:1 for text)?
79
+ - Does the screen reader announce state changes (loading, success, errors)?
80
+
81
+ **Red Flags** (report these specifically):
82
+ - Click-only interactions with no keyboard alternative
83
+ - Missing or invisible focus indicators
84
+ - Meaning conveyed by color alone (red = error, green = success)
85
+ - Unlabeled form fields or buttons
86
+ - Time-limited actions without extension option
87
+ - Custom components that break screen reader flow
88
+
89
+ ---
90
+
91
+ ## 4. Deliberate Stress Tester — "Riley"
92
+
93
+ **Profile**: Methodical user who pushes interfaces beyond the happy path. Tests edge cases, tries unexpected inputs, and probes for gaps in the experience.
94
+
95
+ **Behaviors**:
96
+ - Tests edge cases intentionally (empty states, long strings, special characters)
97
+ - Submits forms with unexpected data (emoji, RTL text, very long values)
98
+ - Tries to break workflows by navigating backwards, refreshing mid-flow, or opening in multiple tabs
99
+ - Looks for inconsistencies between what the UI promises and what actually happens
100
+ - Documents problems methodically
101
+
102
+ **Test Questions**:
103
+ - What happens at the edges (0 items, 1000 items, very long text)?
104
+ - Do error states recover gracefully or leave the UI in a broken state?
105
+ - What happens on refresh mid-workflow? Is state preserved?
106
+ - Are there features that appear to work but produce broken results?
107
+ - How does the UI handle unexpected input (emoji, special chars, paste from Excel)?
108
+
109
+ **Red Flags** (report these specifically):
110
+ - Features that appear to work but silently fail or produce wrong results
111
+ - Error handling that exposes technical details or leaves UI in a broken state
112
+ - Empty states that show nothing useful ("No results" with no guidance)
113
+ - Workflows that lose user data on refresh or navigation
114
+ - Inconsistent behavior between similar interactions in different parts of the UI
115
+
116
+ ---
117
+
118
+ ## 5. Distracted Mobile User — "Casey"
119
+
120
+ **Profile**: Using phone one-handed on the go. Frequently interrupted. Possibly on a slow connection.
121
+
122
+ **Behaviors**:
123
+ - Uses thumb only — prefers bottom-of-screen actions
124
+ - Gets interrupted mid-flow and returns later
125
+ - Switches between apps frequently
126
+ - Has limited attention span and low patience
127
+ - Types as little as possible, prefers taps and selections
128
+
129
+ **Test Questions**:
130
+ - Are primary actions in the thumb zone (bottom half of screen)?
131
+ - Is state preserved if the user leaves and returns?
132
+ - Does it work on slow connections (3G)?
133
+ - Can forms leverage autocomplete and smart defaults?
134
+ - Are touch targets at least 44×44pt?
135
+
136
+ **Red Flags** (report these specifically):
137
+ - Important actions positioned at the top of the screen (unreachable by thumb)
138
+ - No state persistence — progress lost on tab switch or interruption
139
+ - Large text inputs required where selection would work
140
+ - Heavy assets loading on every page (no lazy loading)
141
+ - Tiny tap targets or targets too close together
142
+
143
+ ---
144
+
145
+ ## Selecting Personas
146
+
147
+ Choose personas based on the interface type:
148
+
149
+ | Interface Type | Primary Personas | Why |
150
+ |---------------|-----------------|-----|
151
+ | Landing page / marketing | Jordan, Riley, Casey | First impressions, trust, mobile |
152
+ | Dashboard / admin | Alex, Sam | Power users, accessibility |
153
+ | E-commerce / checkout | Casey, Riley, Jordan | Mobile, edge cases, clarity |
154
+ | Onboarding flow | Jordan, Casey | Confusion, interruption |
155
+ | Data-heavy / analytics | Alex, Sam | Efficiency, keyboard nav |
156
+ | Form-heavy / wizard | Jordan, Sam, Casey | Clarity, accessibility, mobile |
157
+
158
+ ---
159
+
160
+ ## Project-Specific Personas
161
+
162
+ If `{{config_file}}` contains a `## Design Context` section (generated by `teach-impeccable`), derive 1–2 additional personas from the audience and brand information:
163
+
164
+ 1. Read the target audience description
165
+ 2. Identify the primary user archetype not covered by the 5 predefined personas
166
+ 3. Create a persona following this template:
167
+
168
+ ```
169
+ ### [Role] — "[Name]"
170
+
171
+ **Profile**: [2-3 key characteristics derived from Design Context]
172
+
173
+ **Behaviors**: [3-4 specific behaviors based on the described audience]
174
+
175
+ **Red Flags**: [3-4 things that would alienate this specific user type]
176
+ ```
177
+
178
+ Only generate project-specific personas when real Design Context data is available. Don't invent audience details — use the 5 predefined personas when no context exists.