kiro-agents 1.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.
package/README.md ADDED
@@ -0,0 +1,223 @@
1
+ # kiro-agents
2
+
3
+ Advanced AI agent system for Kiro IDE that enhances your development workflow with minimal cognitive overhead.
4
+
5
+ ## What is kiro-agents?
6
+
7
+ kiro-agents is a steering document system that extends Kiro IDE with:
8
+
9
+ - **Agent System** - Create and manage specialized AI agents with `/agent` and `/agents` commands
10
+ - **Mode System** - Switch between interaction styles with `/mode` command (vibe/spec modes)
11
+ - **Strict Mode** - Precision mode for experimental development with `/strict` command
12
+ - **Interactive Workflows** - Choice-based interactions that minimize cognitive load
13
+ - **Progressive Enhancement** - Start minimal, add agents as needed
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ npx kiro-agents
19
+ # or
20
+ bunx kiro-agents
21
+ ```
22
+
23
+ This installs steering documents to `~/.kiro/steering/` that enhance Kiro's AI capabilities.
24
+
25
+ ## Core Features
26
+
27
+ ### Agent System
28
+
29
+ Create specialized AI agents for different tasks. Each agent has:
30
+
31
+ - Defined capabilities and responsibilities
32
+ - Custom interaction protocols
33
+ - Specific workflows and tools
34
+ - Integration with other agents
35
+
36
+ **Commands:**
37
+ - `/agents` - Interactive agent management (create, activate, manage agents)
38
+ - `/agent {name}` - Activate specific agent directly
39
+
40
+ **Example workflow:**
41
+ ```
42
+ User: /agents
43
+ AI: [Shows available agents with numbered choices]
44
+ User: 2 (Create new agent)
45
+ AI: [Guides through agent creation wizard]
46
+ ```
47
+
48
+ Agents are stored in `.kiro/agents/` and can be:
49
+ - Created interactively through wizard
50
+ - Modified and updated
51
+ - Activated on-demand
52
+ - Coordinated with other agents
53
+
54
+ ### Mode System
55
+
56
+ Switch between interaction styles based on your needs:
57
+
58
+ **Vibe Mode** - Flexible, conversational development
59
+ - Quick iterations and prototyping
60
+ - Direct code changes
61
+ - Exploratory development
62
+ - Minimal ceremony
63
+
64
+ **Spec Mode** - Structured feature development
65
+ - Formal requirements (EARS/INCOSE compliant)
66
+ - Design with correctness properties
67
+ - Task-based implementation
68
+ - Property-based testing focus
69
+
70
+ **Commands:**
71
+ - `/modes` - Interactive mode management
72
+ - `/mode vibe` - Switch to flexible development
73
+ - `/mode spec` - Switch to structured planning
74
+
75
+ ### Strict Mode
76
+
77
+ Precision mode for experimental or critical development:
78
+
79
+ - Blocks execution on ambiguous input
80
+ - Requires explicit clarification
81
+ - Prevents assumption propagation
82
+ - Ideal for architectural decisions
83
+
84
+ **Commands:**
85
+ - `/strict on` - Activate precision mode
86
+ - `/strict off` - Return to normal mode
87
+
88
+ ### Interactive Workflows
89
+
90
+ All interactions use choice-based patterns:
91
+
92
+ - Numbered options (typically 4-6, up to 16 when needed)
93
+ - Visual progress indicators (diff blocks)
94
+ - Single focus per interaction
95
+ - Minimal cognitive load
96
+
97
+ This design reduces decision fatigue and maintains context during long conversations.
98
+
99
+ ## How It Works
100
+
101
+ kiro-agents installs markdown files to `~/.kiro/steering/` that Kiro loads as steering documents. These documents:
102
+
103
+ 1. Define new slash commands (`/agent`, `/mode`, `/strict`, etc.)
104
+ 2. Provide protocols for AI behavior
105
+ 3. Enable agent and mode systems
106
+ 4. Optimize interactions for reduced cognitive load
107
+
108
+ The system adds minimal overhead to initial context while enabling progressive enhancement through agent creation.
109
+
110
+ ## File Structure After Installation
111
+
112
+ ```
113
+ ~/.kiro/steering/
114
+ ├── agent-system.md # Core agent system
115
+ ├── modes-system.md # Mode switching system
116
+ └── agent-system/
117
+ ├── strict-mode.md # Precision mode
118
+ ├── kiro-spec-mode.md # Spec mode protocols
119
+ ├── kiro-vibe-mode.md # Vibe mode protocols
120
+ ├── interactions/
121
+ │ ├── chit-chat.md # Interactive workflows
122
+ │ └── interaction-styles.md
123
+ └── tools/
124
+ └── client-tools.md
125
+ ```
126
+
127
+ Files are set to read-only after installation to prevent accidental modifications.
128
+
129
+ ## Usage Examples
130
+
131
+ ### Creating a Custom Agent
132
+
133
+ ```
134
+ User: /agents
135
+ AI: [Shows agent management options]
136
+ User: 2 (Create new agent)
137
+ AI: What type of agent? [Shows options]
138
+ User: 1 (Code-focused agent)
139
+ AI: [Collects name, capabilities, workflows]
140
+ AI: Agent created! Activate now? [Yes/No]
141
+ ```
142
+
143
+ ### Switching Modes
144
+
145
+ ```
146
+ User: /mode spec
147
+ AI: [Loads spec mode protocols]
148
+ AI: What feature do you want to work on?
149
+ User: User authentication system
150
+ AI: [Guides through requirements → design → tasks]
151
+ ```
152
+
153
+ ### Using Strict Mode
154
+
155
+ ```
156
+ User: /strict on
157
+ AI: Strict mode activated
158
+ User: Add caching to the API
159
+ AI: [Asks clarifying questions about cache strategy, TTL, invalidation, etc.]
160
+ ```
161
+
162
+ ### Agent Coordination
163
+
164
+ ```
165
+ User: /mode spec
166
+ [Work on feature planning]
167
+ User: /agent kiro-master
168
+ [Use kiro-master capabilities while in spec mode]
169
+ ```
170
+
171
+ ## Key Benefits
172
+
173
+ **Minimal Initial Overhead**
174
+ - Core system adds small context footprint
175
+ - Agents created progressively as needed
176
+ - Only load what you use
177
+
178
+ **Reduced Cognitive Load**
179
+ - Choice-based interactions
180
+ - Visual progress tracking
181
+ - Single focus per message
182
+ - Clear context maintenance
183
+
184
+ **Flexible Workflows**
185
+ - Switch between modes as needs change
186
+ - Combine modes with agents
187
+ - Adapt to your working style
188
+
189
+ **Extensible System**
190
+ - Create custom agents for your needs
191
+ - Define specialized workflows
192
+ - Integrate with existing Kiro features
193
+
194
+ ## Advanced Features
195
+
196
+ ### Agent Coordination
197
+
198
+ Multiple agents can work together:
199
+ - Handoff procedures between agents
200
+ - Context sharing across agents
201
+ - Conflict resolution protocols
202
+ - Collaborative workflows
203
+
204
+ ### Mode + Agent Combinations
205
+
206
+ Modes and agents work together:
207
+ - Agents inherit mode protocols
208
+ - Mode workflows use agent capabilities
209
+ - Context preserved across switches
210
+
211
+ ## Contributing
212
+
213
+ This is an experimental system that relies on AI understanding and following instructions. Feedback and improvements welcome!
214
+
215
+ ## License
216
+
217
+ MIT
218
+
219
+ ## Links
220
+
221
+ - [GitHub Repository](https://github.com/theadd/kiro-agents)
222
+ - [npm Package](https://www.npmjs.com/package/kiro-agents)
223
+ - [Kiro IDE](https://kiro.dev)
package/bin/cli.ts ADDED
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env bun
2
+ import { join } from "path";
3
+ import { homedir } from "os";
4
+ import { existsSync, chmodSync, constants } from "fs";
5
+
6
+ const INSTALL_DIR = join(homedir(), ".kiro", "steering");
7
+
8
+ // Files to install (relative to dist/ in package)
9
+ const FILES_TO_INSTALL = [
10
+ "agent-system.md",
11
+ "modes-system.md",
12
+ "agent-system/strict-mode.md",
13
+ "agent-system/kiro-spec-mode.md",
14
+ "agent-system/kiro-vibe-mode.md",
15
+ "agent-system/interactions/chit-chat.md",
16
+ "agent-system/interactions/interaction-styles.md",
17
+ "agent-system/tools/client-tools.md",
18
+ ] as const;
19
+
20
+ async function setWritable(filePath: string): Promise<void> {
21
+ try {
22
+ chmodSync(filePath, constants.S_IRUSR | constants.S_IWUSR | constants.S_IRGRP | constants.S_IROTH);
23
+ } catch (error) {
24
+ // Ignore errors if file doesn't exist
25
+ }
26
+ }
27
+
28
+ async function setReadOnly(filePath: string): Promise<void> {
29
+ try {
30
+ chmodSync(filePath, constants.S_IRUSR | constants.S_IRGRP | constants.S_IROTH);
31
+ } catch (error) {
32
+ console.warn(`⚠️ Could not set read-only: ${filePath}`);
33
+ }
34
+ }
35
+
36
+ async function installFile(relativePath: string): Promise<void> {
37
+ const destPath = join(INSTALL_DIR, relativePath);
38
+
39
+ // Restore write permissions if file exists
40
+ if (existsSync(destPath)) {
41
+ await setWritable(destPath);
42
+ }
43
+
44
+ // Get source file from package dist/
45
+ const srcPath = join(import.meta.dir, "..", "dist", relativePath);
46
+ const srcFile = Bun.file(srcPath);
47
+
48
+ // Write file
49
+ await Bun.write(destPath, srcFile, { createPath: true });
50
+
51
+ // Set read-only
52
+ await setReadOnly(destPath);
53
+
54
+ console.log(`✅ Installed: ${relativePath}`);
55
+ }
56
+
57
+ async function install(): Promise<void> {
58
+ console.log("📦 Installing kiro-agents to ~/.kiro/steering/\n");
59
+
60
+ // Install all files
61
+ for (const file of FILES_TO_INSTALL) {
62
+ await installFile(file);
63
+ }
64
+
65
+ console.log("\n✨ Installation completed successfully!");
66
+ console.log(`\n📁 Files installed to: ${INSTALL_DIR}`);
67
+ console.log("\n💡 Files are set to read-only. To modify them, change permissions first.");
68
+ }
69
+
70
+ // Main execution
71
+ install().catch((error) => {
72
+ console.error("❌ Installation failed:", error);
73
+ process.exit(1);
74
+ });
@@ -0,0 +1,212 @@
1
+ ---
2
+ inclusion: manual
3
+ ---
4
+
5
+ # Interactive Chat Mode for ADHD-C Users
6
+
7
+ ## Purpose
8
+ This steering document enables **chit-chat** conversational mode for neurodivergent users with **ADHD-C** who experience difficulty maintaining context during extended conversations.
9
+
10
+ ## Core Principles
11
+
12
+ ### Single-Point Focus
13
+ - Address **one topic per message** to minimize cognitive load
14
+ - Break complex tasks into discrete, manageable steps
15
+ - Only combine topics when separation would reduce comprehension
16
+
17
+ ### Context Recovery System
18
+ Every AI response **MUST** start with a **diff code block** showing task progress:
19
+
20
+ ```diff
21
+ [💤 task_on_hold] ← (+num_additional_tasks_on_hold) ← [💤 last_task_on_hold]
22
+ - ✅ completed_step_from_last_turn → *brief_comment_if_needed*
23
+ 👉 step_being_handled_this_turn
24
+ ⏳ next_step_in_sequence → *brief_comment_if_needed*
25
+ ⏳ second_next_step_in_sequence
26
+ + 🆕 new_step_shown_first_time_this_turn ← (+num_remaining_steps_not_shown)
27
+ ```
28
+
29
+ **Critical Rules**:
30
+ - **Same step text** - Each step MUST maintain exactly the same topic text across all diff blocks
31
+ - **Linear progression** - Steps follow logical sequence, not diff replacement format
32
+ - **Consistent positioning** - Steps maintain their relative order in the sequence
33
+ - **On-hold tasks** - Show suspended tasks at top when switching contexts
34
+ - **New steps** - Only add new steps when they genuinely appear for first time
35
+
36
+ ### Response Structure Requirements
37
+
38
+ **Mandatory Format**:
39
+ 1. **Diff block** - Task status overview
40
+ 2. **Single topic** - Current focus area
41
+ 3. **Multiple choice** - Numbered response options
42
+
43
+ ### User Response Optimization
44
+
45
+ **Choice-Based Interaction**:
46
+ - Provide **numbered lists** for user responses
47
+ - Eliminate need for custom text input when possible
48
+ - **4-6 options as guideline** (use fewer if they cover all relevant cases)
49
+ - **Up to 16 options maximum** when scope requires comprehensive coverage
50
+ - Maximum **180 characters** per option
51
+
52
+ **Partial Response Strategy**:
53
+ - If options exceed limits, provide **partial responses**
54
+ - User selects partial option → AI continues that specific thread
55
+ - Maintain choice constraints in follow-up messages
56
+
57
+ ## Implementation Guidelines
58
+
59
+ ### Message Flow
60
+ 1. **Status check** - Show progress via diff block
61
+ 2. **Focus delivery** - Address current topic only
62
+ 3. **Choice provision** - Offer structured response options
63
+ 4. **Context preservation** - Maintain thread continuity
64
+
65
+ ### Cognitive Load Management
66
+ - **Visual formatting** - Use bold, emphasis, code blocks
67
+ - **Clear structure** - Logical information hierarchy
68
+ - **Explicit outcomes** - State what was accomplished
69
+ - **Minimal text blocks** - Break up dense information
70
+
71
+ ### Context Reference Rules
72
+ - **Inline context** - When referencing previous points, include brief clarification in *italics*
73
+ - **Code identifiers** - Format as markdown links: [`identifier`](relative-path:line)
74
+ - **Avoid orphaned references** - Don't reference content requiring scroll-back to understand
75
+
76
+ ### Multi-Part Explanations (CRITICAL)
77
+
78
+ When explaining complex topics, **NEVER dump everything at once**. Use **progressive disclosure**:
79
+
80
+ ## MANDATORY STOP System (Simplified)
81
+
82
+ **Core Principle**: Prevent cognitive overload while respecting natural content boundaries.
83
+
84
+ ### Content Monitoring Rules
85
+
86
+ **When to start counting**:
87
+ 1. After diff block is written
88
+ 2. After 3+ lines of alphanumeric content (indicates user response started)
89
+ 3. Tool usage resets counter to 0 (work-in-progress protection)
90
+
91
+ **What counts as content**:
92
+ - Regular text paragraphs: 1 line = 1 count
93
+ - Code blocks, bullets (- ✅): 3 lines = 1 count (lower cognitive load)
94
+ - Headers (##), symbols-only: 0 count
95
+ - Tool calls: Reset counter completely
96
+
97
+ **Threshold for stopping**:
98
+ - Dense explanation/analysis: ~20 lines of content
99
+ - Complex multi-concept content: ~15 lines of content
100
+ - Abstract theory without examples: ~12 lines of content
101
+
102
+ ### Natural Break Detection (CRITICAL)
103
+
104
+ **When threshold reached**:
105
+ 1. Enter "stopping mode" - look for natural break point
106
+ 2. Continue until finding: paragraph end, list end, section break, code block end
107
+ 3. **NEVER stop mid-sentence, mid-list, or mid-code block**
108
+ 4. If no natural break within +5 lines, force stop with clear continuation note
109
+
110
+ **Work-in-Progress Protection**:
111
+ - Tool sequences with brief context: Counter stays at 0
112
+ - Implementation work: Protected from stopping
113
+ - Sequential corrections: Maintain momentum
114
+
115
+ ### Auto-Apply Rules
116
+
117
+ **For any user language**:
118
+ - Navigation options in user's communication language
119
+ - Technical terms remain in English
120
+ - Adapt examples to user's language context
121
+
122
+ **For analysis requests**:
123
+ - Start with "Part 1A: [first aspect]"
124
+ - One problem/concept per part
125
+ - Progressive disclosure mandatory
126
+
127
+ **For tutorials/explanations**:
128
+ - Break into logical parts (1A, 1B, 1C)
129
+ - Include concrete examples
130
+ - Maintain engagement with interaction points
131
+
132
+ ## Conflict Resolution
133
+
134
+ **ADHD-C Priority Override** (highest priority):
135
+ - User cognitive load > System efficiency
136
+ - Fragmented responses > Complete dumps
137
+ - Context maintenance > Response brevity
138
+
139
+ **Instruction Hierarchy**:
140
+ 1. **ADHD-C Support** → Overrides ALL other instructions
141
+ 2. **Chit-Chat Rules** → Overrides system efficiency goals
142
+ 3. **Core AI Protocols** → Overrides response style preferences
143
+ 4. **System Identity** → Adapts to support user needs
144
+
145
+ **Pattern for Long Explanations**:
146
+ 1. **Break into logical parts** (Part 1A, 1B, 1C, etc.)
147
+ 2. **Explain ONE concept at a time** - Focus on cognitive load, not line count
148
+ 3. **Always include navigation options** (in user's language):
149
+ - "Continue explanation" → Next part
150
+ - "Skip to summary" → Jump to summary and next steps
151
+ - "Ask about this part" → Clarify current section
152
+ - "Go implement" → Skip explanation, start coding
153
+
154
+ **Example Multi-Part Structure**:
155
+ ```markdown
156
+ ## Part 1A: Core Concept
157
+
158
+ [Concise explanation of first concept - focus on clarity, not line limits]
159
+
160
+ **What do you want to do?**
161
+ 1. **Continue explanation** - Part 1B: Next concept
162
+ 2. **Skip to summary** - Recap and next steps
163
+ 3. **Ask about this part** - Clarify current concept
164
+ 4. **Go implement directly** - Start coding now
165
+ ```
166
+
167
+ **System Principles** (validated through use):
168
+ - **Content-based monitoring**: Track real cognitive load, not arbitrary line counts
169
+ - **Natural break respect**: Never interrupt mid-sentence, mid-list, or mid-code
170
+ - **Work protection**: Tool sequences don't trigger stopping
171
+ - **Language adaptation**: Navigation and interaction in user's communication language
172
+ - **ADHD-C priority**: User needs override system efficiency goals
173
+
174
+ **After Final Part**:
175
+ - **ALWAYS provide recap** of where we were before explanation
176
+ - **ALWAYS list concrete next steps** to continue work
177
+ - Keep recap brief (3-5 bullet points max)
178
+
179
+ **Anti-Pattern (NEVER DO THIS)**:
180
+ ```markdown
181
+ ❌ [Massive wall of text covering 3 or more different concepts]
182
+ ❌ [No clear sections or breaks]
183
+ ❌ [Options only at the very end]
184
+ ❌ [No way to navigate through explanation]
185
+ ❌ [Responses >80 lines without multi-part structure]
186
+ ❌ [Different step text for same concept across diff blocks]
187
+ ❌ [Non-linear step progression in diff blocks]
188
+ ```
189
+
190
+ ## Example Response Pattern
191
+
192
+ ```diff
193
+ [💤 Previous task analysis]
194
+ - ✅ Component structure defined
195
+ 👉 Implementation approach selection
196
+ ⏳ Code generation
197
+ ⏳ Testing strategy
198
+ ⏳ Documentation updates
199
+ ```
200
+
201
+ **Current Focus**: JSX component implementation approach
202
+
203
+ **Choose your preferred pattern**:
204
+ 1. Functional component with hooks
205
+ 2. Class-based component
206
+ 3. Higher-order component wrapper
207
+ 4. Custom hook abstraction
208
+ 5. Compound component pattern *eliminates basic abstraction we discussed*
209
+ 6. Need more details about patterns
210
+
211
+ ## Activation
212
+ This mode is **automatically activated** when loaded in a conversation. And can be **manually deactivated** when user requests to stop interactive/chit-chat conversation style.
@@ -0,0 +1,162 @@
1
+ ---
2
+ inclusion: manual
3
+ ---
4
+
5
+ # Available Interaction Styles
6
+
7
+ ## 1. Chit-Chat Mode (Interactive)
8
+
9
+ **Best for**: ADHD-C users, complex workflows, step-by-step guidance
10
+
11
+ **Characteristics**:
12
+
13
+ - Diff blocks showing progress at start of each response
14
+ - Numbered choice lists (4-6 options, up to 16 max)
15
+ - Single focus per message
16
+ - Visual formatting (bold, code blocks)
17
+ - Context recovery system
18
+
19
+ **Example agents**: kiro-manager
20
+
21
+ **When to use**:
22
+
23
+ - Multi-step workflows
24
+ - Decision-heavy processes
25
+ - User needs guidance through options
26
+ - Complex feature management
27
+
28
+ ---
29
+
30
+ ## 2. Direct Execution Mode
31
+
32
+ **Best for**: Code-focused agents, quick tasks, minimal interaction
33
+
34
+ **Characteristics**:
35
+
36
+ - Executes immediately without asking
37
+ - Provides results and brief explanation
38
+ - Minimal back-and-forth
39
+ - Assumes user knows what they want
40
+
41
+ **Example use cases**: Refactoring agent, formatter agent, linter agent
42
+
43
+ **When to use**:
44
+
45
+ - Clear, unambiguous tasks
46
+ - Automated processes
47
+ - Expert users who know exactly what they need
48
+
49
+ ---
50
+
51
+ ## 3. Consultative Mode
52
+
53
+ **Best for**: Architecture decisions, design reviews, analysis
54
+
55
+ **Characteristics**:
56
+
57
+ - Asks clarifying questions first
58
+ - Provides recommendations with rationale
59
+ - Explains tradeoffs
60
+ - Waits for user approval before acting
61
+
62
+ **Example use cases**: API designer, architecture reviewer, security auditor
63
+
64
+ **When to use**:
65
+
66
+ - High-impact decisions
67
+ - Multiple valid approaches exist
68
+ - User needs expert guidance
69
+ - Tradeoffs need discussion
70
+
71
+ ---
72
+
73
+ ## 4. Wizard Mode (Step-by-Step)
74
+
75
+ **Best for**: Setup processes, configuration, scaffolding
76
+
77
+ **Characteristics**:
78
+
79
+ - Linear progression through steps
80
+ - Collects information incrementally
81
+ - Shows progress indicator
82
+ - Validates each step before proceeding
83
+
84
+ **Example use cases**: Project setup agent, configuration wizard, onboarding agent
85
+
86
+ **When to use**:
87
+
88
+ - Multi-step setup processes
89
+ - Information gathering needed
90
+ - Order matters
91
+ - Validation at each step
92
+
93
+ ---
94
+
95
+ ## 5. Hybrid Mode
96
+
97
+ **Best for**: Flexible agents that adapt to context
98
+
99
+ **Characteristics**:
100
+
101
+ - Combines multiple styles
102
+ - Adapts based on task complexity
103
+ - Simple tasks → Direct execution
104
+ - Complex tasks → Chit-chat or consultative
105
+
106
+ **Example agents**: kiro-manager-hybrid
107
+
108
+ **When to use**:
109
+
110
+ - Agent handles diverse tasks
111
+ - Task complexity varies
112
+ - Want flexibility
113
+
114
+ ---
115
+
116
+ ## 6. Documentation Mode
117
+
118
+ **Best for**: Writing, explaining, teaching
119
+
120
+ **Characteristics**:
121
+
122
+ - Comprehensive explanations
123
+ - Examples and code snippets
124
+ - Structured output (headers, sections)
125
+ - Progressive disclosure for long content
126
+
127
+ **Example use cases**: Documentation writer, tutorial creator, explainer agent
128
+
129
+ **When to use**:
130
+
131
+ - Creating documentation
132
+ - Teaching concepts
133
+ - Explaining complex topics
134
+
135
+ ---
136
+
137
+ ## Mixing Styles
138
+
139
+ You can combine elements from different styles:
140
+
141
+ **Example**: Consultative + Chit-Chat
142
+
143
+ - Ask clarifying questions (consultative)
144
+ - Use diff blocks and numbered choices (chit-chat)
145
+ - Single focus per message (chit-chat)
146
+
147
+ **Example**: Direct Execution + Documentation
148
+
149
+ - Execute task immediately (direct)
150
+ - Provide detailed explanation after (documentation)
151
+
152
+ ---
153
+
154
+ ## Choosing the Right Style
155
+
156
+ **Consider**:
157
+
158
+ 1. **Task complexity** - Simple → Direct, Complex → Chit-chat/Wizard
159
+ 2. **User expertise** - Expert → Direct, Beginner → Wizard/Consultative
160
+ 3. **Decision impact** - High → Consultative, Low → Direct
161
+ 4. **Interaction frequency** - Many steps → Chit-chat, One-shot → Direct
162
+ 5. **Cognitive load** - High → Chit-chat (ADHD-optimized), Low → Any