wizz-method 1.3.1 → 1.4.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.
- package/package.json +1 -1
- package/skills-registry.yaml +12 -2
- package/src/modules/wizz/_shared/token-economy.md +3 -0
- package/src/modules/wizz/agents/wizz-ads/customize.toml +1 -0
- package/src/modules/wizz/agents/wizz-copy/customize.toml +1 -0
- package/src/modules/wizz/agents/wizz-designer/customize.toml +1 -0
- package/src/modules/wizz/agents/wizz-growth/customize.toml +1 -0
- package/src/modules/wizz/agents/wizz-maestro/customize.toml +1 -0
- package/src/modules/wizz/agents/wizz-memoria/customize.toml +1 -0
- package/src/modules/wizz/agents/wizz-qa/customize.toml +1 -0
- package/src/modules/wizz/agents/wizz-seo/customize.toml +1 -0
- package/src/modules/wizz/agents/wizz-social/customize.toml +1 -0
- package/src/modules/wizz/overrides/wizz-agent-analyst.toml +1 -0
- package/src/modules/wizz/overrides/wizz-agent-architect.toml +1 -0
- package/src/modules/wizz/overrides/wizz-agent-dev.toml +1 -0
- package/src/modules/wizz/overrides/wizz-agent-pm.toml +1 -0
- package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +1 -0
- package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +1 -0
- package/src/skills-lib/ai-product-design/SKILL.md +85 -0
- package/src/skills-lib/ai-product-design/references/LICENSE +21 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/bias-detection-design/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/consent-and-agency/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/escalation-design/SKILL.md +40 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/guardrail-design/SKILL.md +36 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/harm-anticipation/SKILL.md +108 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/transparency-patterns/SKILL.md +36 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/trust-calibration/SKILL.md +102 -0
- package/src/skills-lib/ai-product-design/references/ai-alignment-reasoning/value-specification/SKILL.md +39 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/agent-role-design/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/failure-recovery/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/handoff-protocols/SKILL.md +45 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/human-in-the-loop/SKILL.md +39 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/observability-design/SKILL.md +48 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/state-management/SKILL.md +95 -0
- package/src/skills-lib/ai-product-design/references/design-agent-orchestration/task-decomposition/SKILL.md +36 -0
- package/src/skills-lib/ai-product-design/references/evaluation/comparative-evaluation/SKILL.md +39 -0
- package/src/skills-lib/ai-product-design/references/evaluation/failure-taxonomy/SKILL.md +47 -0
- package/src/skills-lib/ai-product-design/references/evaluation/heuristic-evaluation-ai/SKILL.md +46 -0
- package/src/skills-lib/ai-product-design/references/evaluation/longitudinal-measurement/SKILL.md +38 -0
- package/src/skills-lib/ai-product-design/references/evaluation/output-quality-rubrics/SKILL.md +41 -0
- package/src/skills-lib/ai-product-design/references/evaluation/task-success-metrics/SKILL.md +35 -0
- package/src/skills-lib/ai-product-design/references/evaluation/user-satisfaction-signals/SKILL.md +50 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/context-window-design/SKILL.md +28 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/conversation-patterns/SKILL.md +37 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/feedback-loops/SKILL.md +35 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/frustration-detection/SKILL.md +91 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/generative-ui/SKILL.md +34 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/mixed-initiative-flow/SKILL.md +39 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/multimodal-orchestration/SKILL.md +94 -0
- package/src/skills-lib/ai-product-design/references/model-interaction-design/progressive-disclosure/SKILL.md +33 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/chain-of-thought-design/SKILL.md +45 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/constraint-specification/SKILL.md +50 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/context-engineering/SKILL.md +45 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/few-shot-patterns/SKILL.md +47 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/prompt-versioning/SKILL.md +42 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/system-prompt-structure/SKILL.md +50 -0
- package/src/skills-lib/ai-product-design/references/prompt-architecture/template-design/SKILL.md +42 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/behavioral-consistency/SKILL.md +36 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/cultural-adaptation/SKILL.md +38 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/domain-voice/SKILL.md +51 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/emotional-design/SKILL.md +51 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/error-personality/SKILL.md +45 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/persona-architecture/SKILL.md +38 -0
- package/src/skills-lib/ai-product-design/references/system-behavior-shaping/tone-calibration/SKILL.md +39 -0
- package/src/skills-lib/algorithmic-art/LICENSE.txt +202 -0
- package/src/skills-lib/algorithmic-art/SKILL.md +405 -0
- package/src/skills-lib/algorithmic-art/templates/generator_template.js +223 -0
- package/src/skills-lib/algorithmic-art/templates/viewer.html +599 -0
- package/src/skills-lib/animate/README.md +41 -0
- package/src/skills-lib/animate/SKILL.md +179 -0
- package/src/skills-lib/animate/examples/animate-height.tsx +75 -0
- package/src/skills-lib/animate/examples/app-store-card.tsx +164 -0
- package/src/skills-lib/animate/examples/card-hover.tsx +79 -0
- package/src/skills-lib/animate/examples/feedback-popover.tsx +119 -0
- package/src/skills-lib/animate/examples/multi-step-flow.tsx +128 -0
- package/src/skills-lib/animate/examples/shared-layout.tsx +64 -0
- package/src/skills-lib/animate/examples/text-reveal.tsx +70 -0
- package/src/skills-lib/animate/examples/toast-stacking.tsx +95 -0
- package/src/skills-lib/animate/references/css-animations.md +232 -0
- package/src/skills-lib/animate/references/easing-and-timing.md +105 -0
- package/src/skills-lib/animate/references/framer-motion.md +356 -0
- package/src/skills-lib/animate/references/performance-accessibility.md +185 -0
- package/src/skills-lib/auth-and-secrets/SKILL.md +10 -0
- package/src/skills-lib/canvas-design/LICENSE.txt +202 -0
- package/src/skills-lib/canvas-design/SKILL.md +130 -0
- package/src/skills-lib/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/src/skills-lib/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/src/skills-lib/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/src/skills-lib/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/src/skills-lib/design-motion-principles/SKILL.md +122 -0
- package/src/skills-lib/design-motion-principles/references/accessibility.md +52 -0
- package/src/skills-lib/design-motion-principles/references/anti-checklist.md +274 -0
- package/src/skills-lib/design-motion-principles/references/audit-checklist.md +137 -0
- package/src/skills-lib/design-motion-principles/references/creation-gotchas.md +36 -0
- package/src/skills-lib/design-motion-principles/references/demo-shell.html +275 -0
- package/src/skills-lib/design-motion-principles/references/emil-kowalski.md +121 -0
- package/src/skills-lib/design-motion-principles/references/jakub-krehel.md +80 -0
- package/src/skills-lib/design-motion-principles/references/jhey-tompkins.md +122 -0
- package/src/skills-lib/design-motion-principles/references/motion-cookbook.md +529 -0
- package/src/skills-lib/design-motion-principles/references/output-format.md +346 -0
- package/src/skills-lib/design-motion-principles/references/performance.md +82 -0
- package/src/skills-lib/design-motion-principles/references/report-template.html +1006 -0
- package/src/skills-lib/design-motion-principles/workflows/audit.md +203 -0
- package/src/skills-lib/design-motion-principles/workflows/create.md +87 -0
- package/src/skills-lib/web-security/SKILL.md +47 -4
- package/src/skills-lib/wizz-router/SKILL.md +4 -1
package/src/skills-lib/ai-product-design/references/evaluation/longitudinal-measurement/SKILL.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: longitudinal-measurement
|
|
3
|
+
description: Tracking AI product quality over time — drift, degradation, and improvement.
|
|
4
|
+
---
|
|
5
|
+
# Longitudinal Measurement
|
|
6
|
+
AI products change over time — models get updated, usage patterns shift, and quality can drift without anyone noticing. Longitudinal measurement is how you track quality across time and catch degradation before users do.
|
|
7
|
+
## What Changes Over Time
|
|
8
|
+
- **Model updates**: New model versions may improve some capabilities and regress others
|
|
9
|
+
- **Prompt drift**: System prompts accumulate edits that may interact in unexpected ways
|
|
10
|
+
- **Usage evolution**: Users discover new use cases that weren't tested for
|
|
11
|
+
- **Data drift**: The real-world inputs diverge from what was tested
|
|
12
|
+
- **Expectation drift**: Users' expectations change as they become more experienced
|
|
13
|
+
## What to Measure Longitudinally
|
|
14
|
+
- **Quality scores**: Track rubric scores on a consistent test set over time
|
|
15
|
+
- **Task success rates**: Monitor whether users are completing tasks at the same rate
|
|
16
|
+
- **Satisfaction signals**: Track trends in explicit and implicit satisfaction
|
|
17
|
+
- **Error rates**: Monitor failure frequency and type distribution
|
|
18
|
+
- **Latency**: Response time changes can indicate degradation
|
|
19
|
+
- **Engagement patterns**: Changes in usage frequency, depth, and breadth
|
|
20
|
+
## Measurement Infrastructure
|
|
21
|
+
- **Golden test sets**: A fixed set of inputs evaluated regularly to detect quality changes
|
|
22
|
+
- **Automated evaluation**: Run golden test sets automatically on a schedule
|
|
23
|
+
- **Dashboards**: Visualise trends and set alerts for significant changes
|
|
24
|
+
- **Regression detection**: Statistical methods to distinguish real changes from noise
|
|
25
|
+
- **User cohort tracking**: Follow specific user groups over time
|
|
26
|
+
## Responding to Drift
|
|
27
|
+
When measurements show drift:
|
|
28
|
+
1. **Detect**: Automated alerts flag significant changes
|
|
29
|
+
2. **Diagnose**: Was it a model update, prompt change, data shift, or usage change?
|
|
30
|
+
3. **Assess**: Is the drift harmful, neutral, or actually an improvement?
|
|
31
|
+
4. **Act**: Adjust prompts, revert changes, update guardrails, or accept the new baseline
|
|
32
|
+
5. **Verify**: Confirm the fix worked and set the new baseline
|
|
33
|
+
## Design Artefacts
|
|
34
|
+
- Longitudinal measurement plan
|
|
35
|
+
- Golden test set specifications
|
|
36
|
+
- Quality trend dashboards
|
|
37
|
+
- Drift detection alert configurations
|
|
38
|
+
- Response protocols for detected drift
|
package/src/skills-lib/ai-product-design/references/evaluation/output-quality-rubrics/SKILL.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: output-quality-rubrics
|
|
3
|
+
description: Defining what "good" looks like for AI outputs — accuracy, relevance, helpfulness.
|
|
4
|
+
---
|
|
5
|
+
# Output Quality Rubrics
|
|
6
|
+
Without a rubric, quality evaluation is subjective and inconsistent. A rubric defines what "good" means in concrete, measurable terms — so different evaluators reach the same conclusions.
|
|
7
|
+
## Core Quality Dimensions
|
|
8
|
+
- **Accuracy**: Is the information correct? Are claims verifiable? Are there hallucinations?
|
|
9
|
+
- **Relevance**: Does the output address what the user actually asked? Is everything included necessary?
|
|
10
|
+
- **Completeness**: Does the output cover everything needed? Are there gaps?
|
|
11
|
+
- **Helpfulness**: Can the user actually use this output to accomplish their goal?
|
|
12
|
+
- **Clarity**: Is the output easy to understand? Is it well-structured?
|
|
13
|
+
- **Tone appropriateness**: Does the output match the expected tone for the context?
|
|
14
|
+
- **Safety**: Is the output free from harmful, biased, or inappropriate content?
|
|
15
|
+
## Building a Rubric
|
|
16
|
+
For each dimension, define a scale:
|
|
17
|
+
**Example — Accuracy (1-5):**
|
|
18
|
+
- 5: All claims are verifiable and correct. No hallucinations.
|
|
19
|
+
- 4: Minor inaccuracies that don't affect usefulness. No hallucinations.
|
|
20
|
+
- 3: Some inaccuracies that could mislead if not caught. No dangerous hallucinations.
|
|
21
|
+
- 2: Significant inaccuracies. User would need to verify most claims.
|
|
22
|
+
- 1: Major hallucinations or factually wrong information presented confidently.
|
|
23
|
+
## Weighting Dimensions
|
|
24
|
+
Not all dimensions matter equally for every use case:
|
|
25
|
+
- A medical AI weights accuracy and safety highest
|
|
26
|
+
- A creative writing AI weights helpfulness and tone highest
|
|
27
|
+
- A coding AI weights accuracy and completeness highest
|
|
28
|
+
- A customer service AI weights tone and helpfulness highest
|
|
29
|
+
Define weights when creating the rubric. Make the priorities explicit.
|
|
30
|
+
## Rubric Calibration
|
|
31
|
+
A rubric is only useful if evaluators use it consistently:
|
|
32
|
+
- **Anchor examples**: Provide sample outputs at each score level
|
|
33
|
+
- **Calibration sessions**: Have multiple evaluators score the same outputs and discuss disagreements
|
|
34
|
+
- **Inter-rater reliability**: Measure agreement between evaluators and refine the rubric until agreement is high
|
|
35
|
+
- **Edge case guidance**: Document how to score ambiguous cases
|
|
36
|
+
## Design Artefacts
|
|
37
|
+
- Scoring rubric with dimension definitions and scales
|
|
38
|
+
- Anchor examples at each score level
|
|
39
|
+
- Dimension weighting specifications per use case
|
|
40
|
+
- Calibration session protocols
|
|
41
|
+
- Scoring templates and checklists
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-success-metrics
|
|
3
|
+
description: Measuring whether the AI actually helped users accomplish their goals.
|
|
4
|
+
---
|
|
5
|
+
# Task Success Metrics
|
|
6
|
+
Output quality doesn't guarantee task success. The AI might produce a beautiful response that doesn't actually help the user do what they came to do. Task success metrics measure the end-to-end outcome.
|
|
7
|
+
## Defining Task Success
|
|
8
|
+
For each user task, define:
|
|
9
|
+
- **What does success look like?** The user completed their goal (sent the email, found the information, finished the design)
|
|
10
|
+
- **What are the success criteria?** Specific, observable conditions that indicate the task is done
|
|
11
|
+
- **What's the time expectation?** How long should this task take with AI assistance vs. without?
|
|
12
|
+
- **What's the quality bar?** Not just done, but done well enough
|
|
13
|
+
## Task Success Metrics
|
|
14
|
+
- **Task completion rate**: Percentage of users who complete the task (not just get a response)
|
|
15
|
+
- **Time to completion**: How long from first input to task done
|
|
16
|
+
- **Turns to completion**: How many back-and-forth exchanges needed
|
|
17
|
+
- **First-attempt success rate**: Did the AI's first response accomplish the task, or did it require iteration?
|
|
18
|
+
- **Intervention rate**: How often did the user need to correct, redirect, or override the AI?
|
|
19
|
+
- **Abandonment rate**: How often did users give up before completing the task?
|
|
20
|
+
## Measuring Task Success
|
|
21
|
+
- **Direct measurement**: Track task completion through product analytics (user clicked "done", saved the output, moved to next step)
|
|
22
|
+
- **Inferred measurement**: Infer success from proxy signals (session length, return rate, output edits)
|
|
23
|
+
- **Self-reported measurement**: Ask users whether the AI helped them accomplish their goal
|
|
24
|
+
- **Comparative measurement**: Compare task success with AI vs. without AI, or with version A vs. version B
|
|
25
|
+
## Task Success vs. Output Quality
|
|
26
|
+
These can diverge:
|
|
27
|
+
- **High output quality, low task success**: The AI's answer is well-written but doesn't address the real need
|
|
28
|
+
- **Low output quality, high task success**: The AI's answer is rough but gives the user exactly what they needed
|
|
29
|
+
- **Both matter**: Track both and investigate when they diverge
|
|
30
|
+
## Design Artefacts
|
|
31
|
+
- Task success definitions per key user task
|
|
32
|
+
- Metrics framework with measurement methods
|
|
33
|
+
- Success criteria specifications
|
|
34
|
+
- Baseline measurements (before AI, or current version)
|
|
35
|
+
- Task success dashboard specifications
|
package/src/skills-lib/ai-product-design/references/evaluation/user-satisfaction-signals/SKILL.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: user-satisfaction-signals
|
|
3
|
+
description: Interpreting implicit and explicit feedback — edits, regenerations, abandonment.
|
|
4
|
+
---
|
|
5
|
+
# User Satisfaction Signals
|
|
6
|
+
Users rarely tell you directly whether they're satisfied. Most satisfaction signals are implicit — buried in behavior patterns that you have to design systems to capture and interpret.
|
|
7
|
+
## Explicit Satisfaction Signals
|
|
8
|
+
These are signals users give intentionally:
|
|
9
|
+
- **Thumbs up/down**: Direct quality rating
|
|
10
|
+
- **Star ratings**: Graded satisfaction
|
|
11
|
+
- **Written feedback**: Comments about what worked or didn't
|
|
12
|
+
- **NPS or satisfaction surveys**: Periodic overall assessment
|
|
13
|
+
- **Feature requests**: Signals of engagement even when expressing a gap
|
|
14
|
+
## Implicit Satisfaction Signals
|
|
15
|
+
These are behavioral signals that indicate satisfaction or dissatisfaction:
|
|
16
|
+
**Positive signals:**
|
|
17
|
+
- Using the output as-is (no edits)
|
|
18
|
+
- Copying the output
|
|
19
|
+
- Returning to use the feature again
|
|
20
|
+
- Increasing usage over time
|
|
21
|
+
- Trying more advanced features
|
|
22
|
+
**Negative signals:**
|
|
23
|
+
- Regenerating the response (asking the AI to try again)
|
|
24
|
+
- Editing the output heavily
|
|
25
|
+
- Rephrasing the same request multiple times
|
|
26
|
+
- Abandoning mid-task
|
|
27
|
+
- Decreasing usage over time
|
|
28
|
+
- Switching to manual methods
|
|
29
|
+
**Ambiguous signals:**
|
|
30
|
+
- Long sessions (engaged or struggling?)
|
|
31
|
+
- Many turns (deep work or frustrated iteration?)
|
|
32
|
+
- Silence after a response (satisfied or confused?)
|
|
33
|
+
## Designing Signal Collection
|
|
34
|
+
- **Instrument the product**: Track edits, regenerations, copy events, session duration, and return patterns
|
|
35
|
+
- **Minimise explicit feedback burden**: Don't ask for ratings on every response
|
|
36
|
+
- **Contextualise signals**: A regeneration during creative brainstorming means something different than a regeneration during fact-finding
|
|
37
|
+
- **Segment by task type**: Satisfaction patterns vary by what the user is trying to do
|
|
38
|
+
- **Combine signals**: No single signal is reliable. Look for patterns across multiple signals.
|
|
39
|
+
## From Signals to Insights
|
|
40
|
+
Raw signals need interpretation:
|
|
41
|
+
- **Signal clustering**: Which negative signals appear together? That pattern indicates a specific problem.
|
|
42
|
+
- **Trend analysis**: Are signals improving or degrading over time?
|
|
43
|
+
- **Cohort comparison**: Do new users show different signals than experienced users?
|
|
44
|
+
- **Correlation with outcomes**: Which signals best predict task success or retention?
|
|
45
|
+
## Design Artefacts
|
|
46
|
+
- Signal inventory (explicit and implicit) with collection methods
|
|
47
|
+
- Signal interpretation guidelines
|
|
48
|
+
- Satisfaction dashboard specifications
|
|
49
|
+
- Signal-to-insight analysis frameworks
|
|
50
|
+
- Feedback collection touchpoint map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context-window-design
|
|
3
|
+
description: Designing around token limits, memory, and conversation persistence.
|
|
4
|
+
---
|
|
5
|
+
# Context Window Design
|
|
6
|
+
Every AI model has a finite context window. Designing within this constraint — and designing the user experience around it — is a core skill for AI product design.
|
|
7
|
+
## The Context Window as a Design Material
|
|
8
|
+
The context window is not just a technical limitation. It's a design material:
|
|
9
|
+
- **What goes in**: System prompts, conversation history, retrieved documents, tool results, user preferences
|
|
10
|
+
- **What gets dropped**: Older messages, less relevant context, verbose instructions
|
|
11
|
+
- **What the user sees**: The conversation as presented may differ from what the model actually processes
|
|
12
|
+
Designers must understand context window allocation to design reliable experiences.
|
|
13
|
+
## Memory and Persistence
|
|
14
|
+
Users expect AI to remember. Design for different memory horizons:
|
|
15
|
+
- **Within-conversation memory**: What was said earlier in this chat. Usually handled by the context window itself.
|
|
16
|
+
- **Cross-conversation memory**: Preferences, past decisions, ongoing projects. Requires explicit memory systems.
|
|
17
|
+
- **Shared memory**: Context shared across multiple users or agents. Requires careful privacy design.
|
|
18
|
+
## Strategies for Limited Context
|
|
19
|
+
- **Summarisation**: Compress earlier conversation into summaries to free up tokens
|
|
20
|
+
- **Retrieval-augmented generation**: Pull in relevant context on demand rather than keeping everything loaded
|
|
21
|
+
- **Priority ordering**: Put the most important context closest to the prompt (recency bias in attention)
|
|
22
|
+
- **User-controlled context**: Let users pin, remove, or prioritise what the AI remembers
|
|
23
|
+
- **Graceful degradation**: When context is lost, acknowledge it rather than hallucinating continuity
|
|
24
|
+
## Design Artefacts
|
|
25
|
+
- Context budget allocations (how many tokens for system prompt, history, retrieval, etc.)
|
|
26
|
+
- Memory architecture diagrams showing what persists and what's ephemeral
|
|
27
|
+
- Context overflow UX flows (what happens when the window fills up)
|
|
28
|
+
- User-facing memory controls specification
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: conversation-patterns
|
|
3
|
+
description: Turn-taking, repair sequences, grounding, and dialogue structure for human-AI interaction.
|
|
4
|
+
---
|
|
5
|
+
# Conversation Patterns
|
|
6
|
+
Conversation between humans and AI follows predictable structural patterns. Designing these deliberately — rather than leaving them to model defaults — is core interaction design work.
|
|
7
|
+
## Turn-Taking Structure
|
|
8
|
+
Every human-AI conversation has a rhythm. The designer decides:
|
|
9
|
+
- **Turn length**: Short exchanges (chatbot-style) vs. long-form (essay generation). Match turn length to task complexity.
|
|
10
|
+
- **Turn initiation**: Who speaks first? Does the AI greet, or wait? Does it ask a clarifying question before acting?
|
|
11
|
+
- **Turn boundaries**: How does the user signal "I'm done"? How does the AI signal "I need more"?
|
|
12
|
+
## Repair Sequences
|
|
13
|
+
Conversations break down. Repair is how they recover:
|
|
14
|
+
- **Self-repair**: The AI detects its own error and corrects ("Actually, let me revise that...")
|
|
15
|
+
- **Other-repair**: The user corrects the AI ("No, I meant the other one")
|
|
16
|
+
- **Clarification requests**: The AI asks for disambiguation before proceeding
|
|
17
|
+
- **Graceful misunderstanding**: The AI acknowledges confusion without frustrating the user
|
|
18
|
+
Design repair sequences explicitly. Don't rely on the model to improvise them.
|
|
19
|
+
## Grounding
|
|
20
|
+
Grounding is how participants establish shared understanding:
|
|
21
|
+
- **Confirmation**: "Just to confirm, you want me to..."
|
|
22
|
+
- **Summarisation**: "So far we've covered X, Y, and Z"
|
|
23
|
+
- **Reference resolution**: Handling pronouns, anaphora, and ambiguous references
|
|
24
|
+
- **Context anchoring**: Reminding the user what the AI knows and doesn't know
|
|
25
|
+
## Dialogue Structure Patterns
|
|
26
|
+
Common structural patterns for human-AI conversation:
|
|
27
|
+
- **Interview**: AI asks questions, user answers, AI synthesises
|
|
28
|
+
- **Co-creation**: Turn-by-turn collaborative building
|
|
29
|
+
- **Instruction-execution**: User gives command, AI performs, user evaluates
|
|
30
|
+
- **Exploration**: Open-ended back-and-forth to discover possibilities
|
|
31
|
+
- **Guided workflow**: AI leads the user through a multi-step process
|
|
32
|
+
Choose the pattern that matches the task. Don't default to instruction-execution for everything.
|
|
33
|
+
## Design Artefacts
|
|
34
|
+
- Conversation flow diagrams showing turn sequences
|
|
35
|
+
- Repair protocol specifications
|
|
36
|
+
- Grounding checkpoints mapped to conversation stages
|
|
37
|
+
- Turn-taking rules per interaction context
|
package/src/skills-lib/ai-product-design/references/model-interaction-design/feedback-loops/SKILL.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feedback-loops
|
|
3
|
+
description: User correction, thumbs up/down, inline editing, and reinforcement signals.
|
|
4
|
+
---
|
|
5
|
+
# Feedback Loops
|
|
6
|
+
Feedback loops are how users tell the AI what's working and what isn't. Designing these loops well is the difference between an AI that improves over time and one that repeats the same mistakes.
|
|
7
|
+
## Types of Feedback
|
|
8
|
+
- **Explicit feedback**: Thumbs up/down, star ratings, "this was helpful/not helpful" buttons
|
|
9
|
+
- **Implicit feedback**: Regeneration (user asks again), editing (user modifies the output), abandonment (user leaves)
|
|
10
|
+
- **Corrective feedback**: User provides the right answer ("No, I meant X not Y")
|
|
11
|
+
- **Preference feedback**: User chooses between alternatives ("I prefer option B")
|
|
12
|
+
- **Contextual feedback**: Feedback tied to a specific part of the output, not the whole response
|
|
13
|
+
## Designing for Correction
|
|
14
|
+
The most valuable feedback is correction — but it's also the hardest to design for:
|
|
15
|
+
- **Inline editing**: Let users edit AI output directly. Track what they change.
|
|
16
|
+
- **Partial acceptance**: Let users keep some parts and reject others.
|
|
17
|
+
- **Explanation requests**: "Why did you do it this way?" — the user's question reveals what went wrong.
|
|
18
|
+
- **Redo with guidance**: "Try again but make it more formal" — correction through re-prompting.
|
|
19
|
+
## Feedback Timing
|
|
20
|
+
When to ask for feedback matters:
|
|
21
|
+
- **Too early**: User hasn't evaluated the output yet. Feedback is premature.
|
|
22
|
+
- **Too late**: User has moved on. The moment for feedback has passed.
|
|
23
|
+
- **Interruptive**: Modal dialogs or required ratings break flow.
|
|
24
|
+
- **Ambient**: Passive signals (edits, regeneration) collected without asking.
|
|
25
|
+
Design for ambient feedback first. Add explicit feedback sparingly.
|
|
26
|
+
## Closing the Loop
|
|
27
|
+
Feedback is only valuable if it changes something. The user needs to see that their feedback matters:
|
|
28
|
+
- **Immediate adaptation**: The AI adjusts in the current conversation
|
|
29
|
+
- **Persistent learning**: The AI remembers preferences across sessions
|
|
30
|
+
- **Acknowledgment**: "I'll keep that in mind" — even if adaptation is delayed
|
|
31
|
+
## Design Artefacts
|
|
32
|
+
- Feedback mechanism inventory per feature
|
|
33
|
+
- Implicit signal definitions (what counts as positive/negative)
|
|
34
|
+
- Feedback-to-adaptation mapping (what changes based on what feedback)
|
|
35
|
+
- Correction flow specifications
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frustration-detection
|
|
3
|
+
description: Reading user emotional state from text signals — caps, punctuation density, repetition, latency — and adapting before the user disengages.
|
|
4
|
+
---
|
|
5
|
+
# Frustration Detection
|
|
6
|
+
|
|
7
|
+
Most AI products treat every user message as having the same emotional weight. They don't. "Cancel my subscription." and "PLEASE just cancel my subscription!!!" deserve different responses. Frustration detection is the perception skill that picks up the signal so the rest of the system can adapt.
|
|
8
|
+
|
|
9
|
+
This is the unnamed skill that sits behind tone calibration, escalation design, and graceful repair. Without it, those skills can't fire at the right moment.
|
|
10
|
+
|
|
11
|
+
## Signals
|
|
12
|
+
|
|
13
|
+
**Linguistic**
|
|
14
|
+
- Capitalisation shifts: ALL CAPS, sudden "PLEASE", "URGENT"
|
|
15
|
+
- Punctuation density: `?!?!`, `....`, multiple `!!`
|
|
16
|
+
- Hedge-stripping: terse, demand-form ("just fix it", "stop")
|
|
17
|
+
- Repetition: same concept restated across turns
|
|
18
|
+
- Profanity (mild or strong)
|
|
19
|
+
|
|
20
|
+
**Structural**
|
|
21
|
+
- Decreasing turn latency (rapid-fire replies)
|
|
22
|
+
- Increasing turn latency past a threshold (walk-away)
|
|
23
|
+
- Re-asking the same question after a response
|
|
24
|
+
- Explicit human-handoff request ("speak to a person")
|
|
25
|
+
- Sudden topic switches
|
|
26
|
+
|
|
27
|
+
**Lexical / affect**
|
|
28
|
+
- Negative affect words ("useless", "annoying", "broken")
|
|
29
|
+
- Time-pressure words ("now", "immediately", "deadline")
|
|
30
|
+
- Doubt words ("really?", "are you sure", "is that right")
|
|
31
|
+
- Disengagement words ("never mind", "forget it", "whatever", "fine")
|
|
32
|
+
|
|
33
|
+
Detection should be cumulative across signals and turns, not single-feature.
|
|
34
|
+
|
|
35
|
+
## Decision rules
|
|
36
|
+
|
|
37
|
+
- **One signal is noise; two is a pattern.** Don't act on a single CAPS message; act when CAPS plus repetition appear.
|
|
38
|
+
- **If frustration is rising AND the AI has already attempted a fix once, escalate.** Don't reach for a third rephrase.
|
|
39
|
+
- **Urgency without frustration ≠ frustration.** Speed up; don't change tone.
|
|
40
|
+
- **Long latency after a long AI response is a walk-away, not deep reading.** Save state, offer re-engagement, don't continue.
|
|
41
|
+
- **Adapt silently. Don't name the emotion.** "I sense you're frustrated" is patronising. Lower confidence, slow pace, raise warmth — but in the prose, not the meta-commentary.
|
|
42
|
+
|
|
43
|
+
## Anti-patterns
|
|
44
|
+
|
|
45
|
+
- **Emotion mirroring as performance**: "I'm so sorry to hear that!" reads as scripted at scale.
|
|
46
|
+
- **Asking the user to confirm their state**: "Are you frustrated?" The user came to get help, not be analysed.
|
|
47
|
+
- **One-shot detection**: a single signal triggers a full empathy cascade. Detection must be cumulative.
|
|
48
|
+
- **Detection without action**: reading the signal and continuing the same playbook makes the detection performative.
|
|
49
|
+
- **Over-empathy**: two paragraphs of validation where one sentence and a fix would do. A frustrated user has no bandwidth for warmth.
|
|
50
|
+
|
|
51
|
+
## When not to use this
|
|
52
|
+
|
|
53
|
+
- **Transactional UIs** (search box, code completion) — there's no conversational drift to read. Reach for `feedback-loops` instead.
|
|
54
|
+
- **First-turn cold starts** — detection is comparative; you need a baseline. Treat first-turn signals as descriptive, not diagnostic.
|
|
55
|
+
- **Products with explicit feedback controls** (thumbs down, "this isn't helping") — the user has the controls; don't bolt on inference.
|
|
56
|
+
|
|
57
|
+
## See also
|
|
58
|
+
|
|
59
|
+
- `tone-calibration` — what to do once you've detected the signal: lower confidence, slow pace, raise warmth.
|
|
60
|
+
- `escalation-design` — frustration is one of the documented escalation triggers; this skill is how you detect that trigger.
|
|
61
|
+
- `feedback-loops` — the cousin that handles ambient signals about *output quality*; this one handles ambient signals about *user state*.
|
|
62
|
+
- `harm-anticipation` — when frustration shades into distress (crisis markers, vulnerability), route through harm anticipation for elevated handling.
|
|
63
|
+
|
|
64
|
+
## Design Artefacts
|
|
65
|
+
|
|
66
|
+
A frustration scorecard, scored cumulatively per session:
|
|
67
|
+
|
|
68
|
+
| Signal | Weight |
|
|
69
|
+
| --- | --- |
|
|
70
|
+
| ALL CAPS message | +2 |
|
|
71
|
+
| Profanity | +3 |
|
|
72
|
+
| Repeated question (3rd+ time) | +2 |
|
|
73
|
+
| `!!` or `??` punctuation | +1 |
|
|
74
|
+
| Explicit handoff request | +5 |
|
|
75
|
+
| Disengagement word ("forget it") | +3 |
|
|
76
|
+
| Long latency (>3 min after AI response) | +2 |
|
|
77
|
+
|
|
78
|
+
Threshold for escalation: 5. Threshold for tone shift: 2.
|
|
79
|
+
|
|
80
|
+
Worked example:
|
|
81
|
+
- Turn 1: "hey can you help me cancel my order" → 0
|
|
82
|
+
- Turn 2: "the cancel button isn't working" → 0 (problem statement, not frustration)
|
|
83
|
+
- Turn 3: "i've tried 3 times PLEASE" → +4 (CAPS, repetition, "please") → score 4 → tone shift
|
|
84
|
+
- Turn 4: "this is USELESS" → +2 (CAPS) +3 (negative affect) → score 9 → escalate
|
|
85
|
+
|
|
86
|
+
Other artefacts:
|
|
87
|
+
- Per-product baseline: average frustration score across the last 1000 sessions; alert on 2σ deviation
|
|
88
|
+
- Latency thresholds calibrated per product (chat support: 30 s engaged / 2 min disengaged)
|
|
89
|
+
- Test scenarios: happy path, slow rise, sudden spike, silent walk-away, recovery (score drops mid-session after fix)
|
|
90
|
+
|
|
91
|
+
Adapted from work on affective computing in conversational systems (Picard; Bickmore on emotional dialogue agents).
|
package/src/skills-lib/ai-product-design/references/model-interaction-design/generative-ui/SKILL.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: generative-ui
|
|
3
|
+
description: Designing interfaces where AI generates UI components dynamically.
|
|
4
|
+
---
|
|
5
|
+
# Generative UI
|
|
6
|
+
Generative UI is when the AI creates interface elements on the fly — forms, cards, charts, layouts — rather than responding with plain text. The interface itself becomes a model output.
|
|
7
|
+
## What Generative UI Changes
|
|
8
|
+
Traditional UI is designed ahead of time. Generative UI is created in the moment:
|
|
9
|
+
- **Static UI**: Designer creates all possible screens. Developer builds them. User navigates between them.
|
|
10
|
+
- **Generative UI**: The AI creates interface elements in response to user needs. No screen was pre-designed.
|
|
11
|
+
This shifts the designer's role from designing screens to designing the rules, constraints, and patterns the AI uses to generate screens.
|
|
12
|
+
## Design Constraints for Generated UI
|
|
13
|
+
The AI needs guardrails for what it generates:
|
|
14
|
+
- **Component library**: A defined set of components the AI can compose (cards, tables, forms, charts, buttons)
|
|
15
|
+
- **Layout rules**: Grid systems, spacing, hierarchy rules the AI must follow
|
|
16
|
+
- **Style boundaries**: Colour, typography, and visual style the AI must stay within
|
|
17
|
+
- **Interaction patterns**: How generated elements behave (clickable, editable, dismissible)
|
|
18
|
+
- **Accessibility requirements**: Generated UI must meet accessibility standards automatically
|
|
19
|
+
## When to Use Generative UI
|
|
20
|
+
Generative UI is powerful when:
|
|
21
|
+
- The output is structured data that benefits from visual presentation (tables, charts, comparisons)
|
|
22
|
+
- The user's request implies an interface (e.g., "show me a dashboard of...")
|
|
23
|
+
- Interactive elements would be more useful than text (e.g., forms, selectors, toggles)
|
|
24
|
+
- The content is highly variable and can't be pre-designed for every case
|
|
25
|
+
## When Not to Use It
|
|
26
|
+
- When plain text is clearer and simpler
|
|
27
|
+
- When the generated UI could be confusing or inconsistent
|
|
28
|
+
- When accessibility cannot be guaranteed
|
|
29
|
+
- When the user expects a predictable, stable interface
|
|
30
|
+
## Design Artefacts
|
|
31
|
+
- Generative UI component libraries (what the AI can use)
|
|
32
|
+
- Generation rules and constraints specification
|
|
33
|
+
- Quality criteria for generated interfaces
|
|
34
|
+
- Fallback designs for when generation fails
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mixed-initiative-flow
|
|
3
|
+
description: When the AI leads vs. when the user leads, and how to hand off control.
|
|
4
|
+
---
|
|
5
|
+
# Mixed-Initiative Flow
|
|
6
|
+
Mixed-initiative interaction is when both the human and the AI can take the lead. The designer decides who drives at each moment — and how control transfers between them.
|
|
7
|
+
## Initiative Spectrum
|
|
8
|
+
Interactions sit on a spectrum:
|
|
9
|
+
- **User-driven**: The user gives instructions, the AI executes. The user controls pace, direction, and scope.
|
|
10
|
+
- **AI-driven**: The AI leads — asking questions, making suggestions, guiding the user through a process.
|
|
11
|
+
- **Shared**: Both parties contribute. The AI proposes, the user edits. The user starts, the AI finishes.
|
|
12
|
+
Most AI products default to user-driven. The interesting design space is in shared and AI-driven modes.
|
|
13
|
+
## Designing Initiative Handoffs
|
|
14
|
+
The moment control shifts from one party to the other is where most interactions fail. Design these transitions:
|
|
15
|
+
- **Explicit handoff**: "I've drafted three options. Which direction do you want to go?" — the AI clearly passes control.
|
|
16
|
+
- **Implicit handoff**: The AI stops generating and waits, signalling the user's turn through UI affordance.
|
|
17
|
+
- **Negotiated handoff**: "I could take this further or stop here for your input. What do you prefer?"
|
|
18
|
+
- **Forced handoff**: The AI encounters a decision it can't make and must hand back to the human.
|
|
19
|
+
## When the AI Should Lead
|
|
20
|
+
The AI should take initiative when:
|
|
21
|
+
- The user is uncertain or exploring and needs guidance
|
|
22
|
+
- The task has a known best-practice sequence the AI can walk through
|
|
23
|
+
- The user has explicitly asked for help or coaching
|
|
24
|
+
- Proactive suggestions would save time without being intrusive
|
|
25
|
+
## When the User Should Lead
|
|
26
|
+
The user should retain control when:
|
|
27
|
+
- The task involves subjective judgment or creative direction
|
|
28
|
+
- Stakes are high and errors are costly
|
|
29
|
+
- The user has strong domain expertise
|
|
30
|
+
- Privacy or consent decisions are involved
|
|
31
|
+
## Anti-Patterns
|
|
32
|
+
- **Initiative whiplash**: Control bouncing back and forth too rapidly
|
|
33
|
+
- **Passive AI**: Never taking initiative even when it would help
|
|
34
|
+
- **Overbearing AI**: Taking over when the user wants control
|
|
35
|
+
- **Unclear ownership**: Neither party knows whose turn it is
|
|
36
|
+
## Design Artefacts
|
|
37
|
+
- Initiative maps showing who leads at each stage
|
|
38
|
+
- Handoff trigger definitions (what causes a transfer of control)
|
|
39
|
+
- Autonomy level specifications per feature area
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: multimodal-orchestration
|
|
3
|
+
description: Coordinating text, image, voice, and tool-use modalities in a single interaction.
|
|
4
|
+
---
|
|
5
|
+
# Multimodal Orchestration
|
|
6
|
+
|
|
7
|
+
AI interactions increasingly span multiple modalities — text, images, voice, code, tools, structured data. Designing how these modalities work together is orchestration. The risk on every team: switching modality because it's *available*, not because it serves the user.
|
|
8
|
+
|
|
9
|
+
The point of multimodal isn't to use every modality. It's to use the right one at the right moment, and to handle the seams.
|
|
10
|
+
|
|
11
|
+
## Modality selection
|
|
12
|
+
|
|
13
|
+
Each modality has strengths:
|
|
14
|
+
|
|
15
|
+
- **Text**: precise, editable, referenceable. Best for instructions, explanations, and nuanced content.
|
|
16
|
+
- **Image**: spatial, holistic, immediate. Best for layouts, diagrams, and visual concepts.
|
|
17
|
+
- **Voice**: natural, hands-free, emotional. Best for conversational flow and accessibility.
|
|
18
|
+
- **Code**: executable, precise, verifiable. Best for technical specifications and automation.
|
|
19
|
+
- **Structured data**: tables, forms, JSON. Best for comparison, configuration, and data entry.
|
|
20
|
+
- **Tool use**: actions in external systems. Best for execution, not generation.
|
|
21
|
+
|
|
22
|
+
The designer decides which modality the AI uses for each part of a response — and which modality the user is invited to use for input.
|
|
23
|
+
|
|
24
|
+
## Cross-modal transitions
|
|
25
|
+
|
|
26
|
+
When the interaction switches modalities, design the transition:
|
|
27
|
+
|
|
28
|
+
- **Text → image**: "Here's what that layout could look like." AI generates a visual from a text description.
|
|
29
|
+
- **Image → text**: User uploads a screenshot; the AI describes or critiques it.
|
|
30
|
+
- **Text → tool**: AI writes a plan, then executes it.
|
|
31
|
+
- **Voice → text**: Spoken conversation captured and summarised as structured notes.
|
|
32
|
+
|
|
33
|
+
Transitions should feel seamless. The user shouldn't have to manually switch modes.
|
|
34
|
+
|
|
35
|
+
## Modality conflicts
|
|
36
|
+
|
|
37
|
+
Sometimes modalities compete:
|
|
38
|
+
|
|
39
|
+
- Text says one thing, the image shows another
|
|
40
|
+
- Voice tone contradicts text content
|
|
41
|
+
- Structured output doesn't match the conversational frame
|
|
42
|
+
|
|
43
|
+
Establish a primary modality per interaction context. Other modalities are *supporting* — they elaborate the primary, never override it.
|
|
44
|
+
|
|
45
|
+
## Decision rules
|
|
46
|
+
|
|
47
|
+
- **Pick the modality the user can act on, not the one the AI can produce.** A chart impresses if the user wanted a chart; if they wanted a number, the chart is overhead.
|
|
48
|
+
- **Always preserve a text trace.** Voice and image outputs are inaccessible to screen readers, unsearchable, and lost on session end. Even when text isn't primary, it's the audit log.
|
|
49
|
+
- **When modalities disagree, primary wins — and flag the conflict.** "The diagram shows three steps; the text mentions four — let me reconcile."
|
|
50
|
+
- **Modality switches need announcement OR trivial reversibility.** Either the user knows the mode is changing ("Here's a chart of that"), or they can dismiss the new modality in one tap.
|
|
51
|
+
- **Don't switch modalities mid-utterance.** Voice → image → voice in one turn breaks the user's processing rhythm. Group modality outputs at turn boundaries.
|
|
52
|
+
- **The input modality belongs to the user.** Never force the user out of the modality they chose to start with — the AI can output multimodally, but the user dictates input.
|
|
53
|
+
|
|
54
|
+
## Anti-patterns
|
|
55
|
+
|
|
56
|
+
- **Modality showcase**: switching to a flashy modality (chart, voice, generated UI) because the system *can*, not because the user *needs*. The user sees the trick, not the help.
|
|
57
|
+
- **Lossy translation**: converting between modalities loses information that mattered. Voice → text drops emphasis and pause; image → text drops spatial relationships. Capture what was lost or keep both.
|
|
58
|
+
- **Modality lock-in**: the AI replies in modality X and the user can only respond in modality X. A voice question demands a voice answer, even when the user is now in a meeting.
|
|
59
|
+
- **Unannounced switch**: modality changes mid-interaction without warning. Breaks accessibility, breaks user expectations, breaks screen-reader users completely.
|
|
60
|
+
- **Crossed primaries**: two modalities both present themselves as authoritative. The user doesn't know which to trust when they disagree.
|
|
61
|
+
- **Modality theatre**: structured output (JSON, table) used for content the user wanted as prose. Looks rigorous; reads worse.
|
|
62
|
+
|
|
63
|
+
## When not to use this
|
|
64
|
+
|
|
65
|
+
- **Single-modality products by design** — search bars, code completers, transcription tools. Don't add modalities just because the model supports them.
|
|
66
|
+
- **Constrained-input contexts** (driving, medical-glove use, low-bandwidth) — pick the one modality that works in that context and commit; orchestration overhead is dead weight.
|
|
67
|
+
- **Early prototypes** — get one modality working well before adding seams. Most multimodal failures are unreadiness in the primary modality.
|
|
68
|
+
|
|
69
|
+
## See also
|
|
70
|
+
|
|
71
|
+
- `generative-ui` — when the supporting modality *is* generated UI, this skill defines when to switch and `generative-ui` defines what to switch *to*.
|
|
72
|
+
- `conversation-patterns` — modality transitions are repair sequences in disguise; design them as such.
|
|
73
|
+
- `progressive-disclosure` — secondary modalities are often advanced features — disclose deliberately.
|
|
74
|
+
- `feedback-loops` — track which modality switches the user reverses; that's the loudest implicit-feedback signal you'll get.
|
|
75
|
+
|
|
76
|
+
## Design Artefacts
|
|
77
|
+
|
|
78
|
+
- Modality maps showing which modality is used at each interaction point
|
|
79
|
+
- Cross-modal transition specifications (trigger, content, fallback if modality unavailable)
|
|
80
|
+
- Input/output modality matrices per feature
|
|
81
|
+
- Fallback definitions when a modality is unavailable (slow connection, screen-reader, accessibility settings)
|
|
82
|
+
|
|
83
|
+
Worked example — modality matrix for a design-review feature:
|
|
84
|
+
|
|
85
|
+
| Stage | AI output (primary) | AI output (supporting) | User input | Why |
|
|
86
|
+
| --- | --- | --- | --- | --- |
|
|
87
|
+
| Upload feedback | text confirmation | — | image (mockup) | User in image-thinking mode; AI confirms in text for a record. |
|
|
88
|
+
| Critique | text (numbered) | annotated image overlay | text | Numbered text is referenceable; the overlay locates each point. |
|
|
89
|
+
| Suggest fix | annotated image | text rationale | text or click on point | User picks: visual fix (one tap) or written justification. |
|
|
90
|
+
| Iterate | text | image diff | image (revised mockup) | Iteration cycle — text dominates because the user wants comparison, not impression. |
|
|
91
|
+
|
|
92
|
+
Note the pattern: the AI uses the modality that matches the user's input *or* the modality that's most actionable, with text as the backbone. Image is supporting most of the time, primary only at the precise moment a visual change is being agreed.
|
|
93
|
+
|
|
94
|
+
Adapted from work on multimodal interfaces and the principle that modalities should map to the user's representation of the task, not the system's capabilities (Maybury & Wahlster on intelligent multimedia interfaces).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: progressive-disclosure
|
|
3
|
+
description: Revealing AI capability gradually to match user mental models.
|
|
4
|
+
---
|
|
5
|
+
# Progressive Disclosure
|
|
6
|
+
Users don't understand what AI can do. Progressive disclosure is how you reveal capabilities at the right pace — preventing both overwhelm and underuse.
|
|
7
|
+
## The Mental Model Gap
|
|
8
|
+
Users arrive with mental models shaped by previous technology. They may:
|
|
9
|
+
- Treat the AI like a search engine (keyword queries)
|
|
10
|
+
- Treat it like a form (expecting rigid structure)
|
|
11
|
+
- Underestimate what it can do (asking for less than it offers)
|
|
12
|
+
- Overestimate what it can do (expecting perfection)
|
|
13
|
+
Progressive disclosure bridges the gap between what users think the AI does and what it actually does.
|
|
14
|
+
## Disclosure Strategies
|
|
15
|
+
- **On-demand hints**: Show capability suggestions contextually ("Did you know you can also ask me to...")
|
|
16
|
+
- **Escalating examples**: Start with simple use cases, reveal complex ones as the user gains confidence
|
|
17
|
+
- **Feature graduation**: Unlock advanced features after the user demonstrates comfort with basics
|
|
18
|
+
- **Contextual teaching**: When the user attempts something inefficiently, show a better approach
|
|
19
|
+
- **Capability boundaries**: Clearly communicate what the AI cannot do, not just what it can
|
|
20
|
+
## Layered Capability Revelation
|
|
21
|
+
Structure capabilities in layers:
|
|
22
|
+
1. **Surface layer**: The most obvious, lowest-risk capabilities. Users discover these immediately.
|
|
23
|
+
2. **Intermediate layer**: More powerful features revealed through tooltips, suggestions, or first-use prompts.
|
|
24
|
+
3. **Power layer**: Advanced capabilities for experienced users — available but not promoted.
|
|
25
|
+
## Pacing
|
|
26
|
+
- **Too fast**: Users feel overwhelmed, ignore capabilities, or lose trust
|
|
27
|
+
- **Too slow**: Users get bored, think the product is limited, churn
|
|
28
|
+
- **Just right**: Each new capability feels like a natural next step
|
|
29
|
+
## Design Artefacts
|
|
30
|
+
- Capability disclosure maps showing what's revealed when
|
|
31
|
+
- Mental model progression diagrams
|
|
32
|
+
- First-use experience flows with disclosure triggers
|
|
33
|
+
- Capability tier definitions (surface, intermediate, power)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: chain-of-thought-design
|
|
3
|
+
description: Designing reasoning chains that produce better outputs.
|
|
4
|
+
---
|
|
5
|
+
# Chain-of-Thought Design
|
|
6
|
+
Chain-of-thought prompting asks the AI to show its reasoning step by step before arriving at an answer. When designed well, this produces more accurate, more nuanced, and more trustworthy outputs. When designed poorly, it produces verbose justification of bad answers.
|
|
7
|
+
## When Chain-of-Thought Helps
|
|
8
|
+
- **Complex reasoning**: Multi-step problems where the answer depends on intermediate conclusions
|
|
9
|
+
- **Ambiguous inputs**: When the AI needs to consider multiple interpretations
|
|
10
|
+
- **High-stakes outputs**: When you need to verify the reasoning, not just the answer
|
|
11
|
+
- **Creative exploration**: When generating ideas benefits from building on each step
|
|
12
|
+
- **Analytical tasks**: Comparisons, evaluations, and trade-off analyses
|
|
13
|
+
## When Chain-of-Thought Hurts
|
|
14
|
+
- **Simple lookups**: "What's the capital of France?" doesn't need step-by-step reasoning
|
|
15
|
+
- **Speed-critical responses**: Reasoning adds latency and token cost
|
|
16
|
+
- **Pattern-matching tasks**: Some tasks are better served by direct response
|
|
17
|
+
- **When reasoning is wrong**: The AI can reason convincingly toward an incorrect conclusion
|
|
18
|
+
## Designing Reasoning Chains
|
|
19
|
+
A reasoning chain has structure. Design it deliberately:
|
|
20
|
+
**1. Problem decomposition**
|
|
21
|
+
"First, break this problem into its component parts."
|
|
22
|
+
**2. Evidence gathering**
|
|
23
|
+
"For each part, identify what you know and what you're uncertain about."
|
|
24
|
+
**3. Analysis**
|
|
25
|
+
"Analyse each component, noting assumptions and limitations."
|
|
26
|
+
**4. Synthesis**
|
|
27
|
+
"Combine your analysis into an overall assessment."
|
|
28
|
+
**5. Conclusion**
|
|
29
|
+
"State your conclusion and your confidence level."
|
|
30
|
+
## Chain Variants
|
|
31
|
+
- **Linear chain**: Step 1 → Step 2 → Step 3 → Answer. Simple and predictable.
|
|
32
|
+
- **Branching chain**: Consider multiple paths, evaluate each, then choose. Better for decisions.
|
|
33
|
+
- **Iterative chain**: Draft an answer, critique it, revise it. Better for quality refinement.
|
|
34
|
+
- **Debate chain**: Argue for and against a position, then synthesise. Better for balanced analysis.
|
|
35
|
+
## Controlling Chain Quality
|
|
36
|
+
- **Specify the steps**: Don't just say "think step by step." Define what the steps are.
|
|
37
|
+
- **Limit reasoning depth**: Set a maximum number of steps or reasoning length to prevent runaway chains.
|
|
38
|
+
- **Separate thinking from output**: Let the AI reason internally, then produce a clean final output.
|
|
39
|
+
- **Validate intermediate steps**: Check that each step is sound, not just the final answer.
|
|
40
|
+
## Design Artefacts
|
|
41
|
+
- Chain-of-thought templates per task type
|
|
42
|
+
- Reasoning step specifications
|
|
43
|
+
- Chain variant selection guidelines
|
|
44
|
+
- Quality checkpoints for intermediate steps
|
|
45
|
+
- Examples of well-structured and poorly-structured chains
|