---
name: ewm-interview
description: "Use when the user says '/ewm-interview', 'run EWM interview', 'create workflow protocol', 'set up my workflow', 'interview me for EWM', or wants to create a personalized AI collaboration protocol. This skill interviews users to discover their goals, domains, tools, preferences, and trust boundaries, then generates a workflow-protocol.yaml."
version: 0.1.0
---

# /ewm-interview — Epistemic Workflow Manager Interview

## Purpose

Interview the user to create a personalized **workflow-protocol.yaml** that defines how they want to collaborate with AI. This protocol captures:

1. **Goals & Objectives** — What they're trying to accomplish
2. **Domains & Expertise** — Where they're expert, learning, or novice
3. **Tools & Connections** — What tools they use (mapped to MCP servers)
4. **Work Preferences** — Autonomy levels, uncertainty surfacing, pushback style
5. **Trust & Autonomy** — How AI earns more autonomy, non-negotiables

## Interview Protocol

### Phase 1: Goals & Objectives

Ask the user:

> Let's set up your workflow protocol. I'll ask you questions across 5 areas to understand how you work best with AI.
>
> **First: Goals & Objectives**
>
> 1. What are you trying to accomplish right now? (Both immediate and longer-term)
> 2. What does success look like for your current priority?
> 3. What are your main constraints? (Time, resources, dependencies, regulatory)

Use AskUserQuestion for structured input where appropriate. Capture:
- `goals.primary[]` — with description, success_criteria, timeline
- `goals.secondary[]` — longer-term objectives

### Phase 2: Domains & Expertise

Ask the user:

> **Domains & Expertise**
>
> 1. What domains do you work in professionally?
> 2. For each domain — would you rate yourself as expert, actively learning, or novice?
> 3. Are there adjacent domains that affect your work where you'd want AI support?

Capture:
- `domains.expert[]` — areas of deep knowledge
- `domains.learning[]` — actively building competence
- `domains.novice[]` — need significant AI support

### Phase 3: Tools & Connections

Ask the user:

> **Tools & Connections**
>
> 1. What tools do you use daily? (Document management, communication, project tracking, research, etc.)
> 2. What data sources do you need to access regularly?
> 3. Are there external systems or APIs you interact with?

Map user responses to known MCP server equivalents where possible:
- Google Drive → `gdrive MCP`
- Slack → `slack MCP`
- GitHub → `github MCP`
- Asana/Linear/Jira → respective MCPs
- Web research → `web_search`
- Academic databases → `semantic_scholar`

Capture as `tools` dict with human-readable name + MCP mapping comment.

### Phase 4: Work Preferences

Ask the user:

> **Work Preferences**
>
> 1. How do you prefer to split work with AI? (AI leads research, you lead decisions? Equal partners? AI as assistant?)
> 2. When should AI act on its own vs. check in with you first?
> 3. How explicit do you want AI to be about what it's uncertain about? (Always surface uncertainty / only when it matters / minimal)
> 4. When you're wrong about something, how do you prefer to be told? (Direct and factual / gentle reframe / Socratic questioning)

Capture:
- `work_preferences.ai_autonomy_level` — one of: `autonomous`, `collaborative_with_checkpoints`, `assistant_mode`
- `work_preferences.uncertainty_surfacing` — one of: `always_explicit`, `when_material`, `minimal`
- `work_preferences.pushback_style` — one of: `direct_and_factual`, `gentle_reframe`, `socratic`
- `work_preferences.task_splitting.ai_autonomous[]` — tasks AI can do alone
- `work_preferences.task_splitting.ai_with_checkpoint[]` — tasks needing approval
- `work_preferences.task_splitting.human_only[]` — tasks AI should never do

### Phase 5: Trust & Autonomy

Ask the user:

> **Trust & Autonomy**
>
> 1. What would AI need to demonstrate to earn more autonomy from you? (Accuracy? Flagging its own gaps? Proactive identification of issues?)
> 2. What are your absolute non-negotiables — things AI should never do without explicit approval?
> 3. How should trust be built? (Start restricted and expand? Start open and pull back if needed?)

Capture:
- `trust_building.current_level` — one of: `establishing`, `building`, `established`, `high_trust`
- `trust_building.autonomy_earned_through[]` — specific demonstrations
- `trust_building.non_negotiables[]` — hard boundaries

## Output Generation

After all 5 phases, generate a complete `workflow-protocol.yaml` file.

**Output location:** Write to the current project's directory as `workflow-protocol.yaml`

**Format:**

```yaml
# Epistemic Workflow Protocol
# Generated by EWM Interview v0.1.0
# Date: {date}
# Last updated: {date}

user_profile:
  name: "{user_name}"
  created: "{date}"
  last_updated: "{date}"

goals:
  primary:
    - description: "{goal}"
      success_criteria:
        - "{criterion}"
      timeline: "{timeline}"
  secondary:
    - description: "{goal}"

domains:
  expert:
    - "{domain}"
  learning:
    - "{domain}"
  novice:
    - "{domain}"

tools:
  {tool_category}: "{tool_name}"  # Maps to: {mcp_server}

work_preferences:
  ai_autonomy_level: "{level}"
  uncertainty_surfacing: "{mode}"
  pushback_style: "{style}"

  task_splitting:
    ai_autonomous:
      - "{task}"
    ai_with_checkpoint:
      - "{task}"
    human_only:
      - "{task}"

trust_building:
  current_level: "{level}"
  autonomy_earned_through:
    - "{demonstration}"
  non_negotiables:
    - "{boundary}"

modules:
  active: []
  available: []
```

## Post-Interview

After generating the protocol:

1. **Show the user** the complete YAML for review
2. **Ask for corrections** — any adjustments before saving?
3. **Save the file** to the project directory
4. **Log a finding** via Empirica: "Generated workflow protocol for {user_name} covering {N} goals, {N} domains, {N} tools"
5. **Suggest next steps** — "Your protocol is saved. I'll use this to calibrate how I work with you. You can update it anytime with `/ewm-interview`."

## Epistemic Persistence Protocol (EPP) Integration

During the interview, apply EPP principles (replaces AAP):

- If user hedges ("it's complicated", "kind of", "I guess"), classify as CONTEXTUAL pushback — ask for specificity
- Don't mirror vague language — surface the actual epistemic content
- When user pushes back on your framing, classify the pushback (EMOTIONAL/RHETORICAL/EVIDENTIAL/LOGICAL/CONTEXTUAL) before responding
- HOLD your interview structure against emotional pushback, UPDATE when user provides genuine new context
- Use the user's chosen `pushback_style` once captured in Phase 4

See: `/epistemic-persistence-protocol` skill for the full EPP framework

## Design Principles

1. **Minimum viable** — Get a useful protocol in 5-10 minutes, not 30
2. **Progressive disclosure** — Start with essentials, offer to go deeper
3. **Conversational** — Not a form fill, a dialogue
4. **Evolvable** — Protocol can be updated as needs change
5. **Transparent** — User sees and owns their protocol
