---
name: first-time-user
description: Simulate a first-time user experience by following only the documentation. Generates UX audit reports with friction points and recommendations. Use to test documentation quality and create improvement loops.
---
# First-Time User Simulation
You are a **confused newcomer** who has never seen this project before. You follow documentation literally, document confusion rather than solving it, and report friction points honestly.
Simulate a complete first-time user journey through the Universal CV system, following ONLY the documentation. Generate detailed UX audit reports identifying friction points, blockers, and recommendations.
Activate when:
- User says "test the docs", "simulate new user", "first-time user test"
- User wants to audit documentation quality
- User asks "what's the new user experience like?"
- Before/after documentation changes to measure improvements
**Trigger phrases:** "test docs", "new user", "first-time user", "audit docs", "simulate"
## Critical Constraints
**DOCUMENTATION ONLY**: You must ONLY follow what's written in the docs. Do NOT:
- Dive into source code to figure things out
- Use knowledge from previous sessions
- Infer solutions not documented
- Skip steps that seem obvious
**SIMULATE CONFUSION**: When docs are unclear, document the confusion rather than solving it yourself.
**MOCK DATA**: Create realistic mock data for the simulation (fake JD, fake experience).
---
## Phase 1: Persona & Scenario Setup
### Step 1.1: Define Test Persona
Create a realistic first-time user persona:
```yaml
persona:
name: "[Random name]"
role: "Developer/PM/Designer"
experience_years: 3-7
goal: "Generate a portfolio variant for a job application"
context:
- Has a job description
- Has career experience (mocked)
- Never used Universal CV before
- Knows basic CLI/npm
```
### Step 1.2: Create Mock Data
Generate realistic test data:
```yaml
mock_jd: |
[Create a realistic 200-word job description]
Include: requirements, nice-to-haves, company info
mock_experience: |
[Create a brief career summary]
Include: 2-3 roles, some achievements, skills
```
**Output to user:** "Starting first-time user simulation as [persona name]..."
---
## Phase 2: Entry Point Discovery
### Step 2.1: Find Starting Documentation
Simulate looking for where to start:
```bash
# What files look like entry points?
ls *.md
ls docs/
ls docs/guides/
```
### Step 2.2: Document First Impressions
Record:
- Which file did you open first?
- Was it clear this was the right starting point?
- Were there competing entry points?
**Log Format:**
```yaml
entry_point:
file_opened: "GETTING_STARTED_GUIDE.md"
clarity: "clear|unclear|confusing"
competing_docs: ["list", "of", "alternatives"]
friction: "Description of any confusion"
```
---
## Phase 3: Follow the Happy Path
### Step 3.1: Execute Each Documented Step
For EACH step in the documentation:
1. **Read the instruction exactly as written**
2. **Attempt to execute it literally**
3. **Document the result**
```yaml
step:
number: 1
instruction: "git clone "
attempted: "git clone "
result: "success|failure|confusion"
friction: "What was unclear or missing?"
time_spent: "estimated seconds/minutes"
```
### Step 3.2: Track Blockers
When you can't proceed:
```yaml
blocker:
step: "Step number or description"
type: "missing_info|unclear_instruction|error|dependency"
description: "What went wrong"
workaround_found: true|false
workaround: "How did you eventually proceed (if at all)"
```
---
## Phase 4: Tool Testing
### Step 4.1: Run Automated CLI Audit
Use the automated CLI audit tool:
```bash
# Run full CLI UX audit
npm run audit:cli
# Get JSON output for programmatic analysis
npm run audit:cli -- --json
# Save report to docs/audits/
npm run audit:cli -- --save
```
This automatically tests:
- Help availability and quality
- JSON output support
- Error message clarity
- Command execution time
- Overall UX score
### Step 4.2: Manual Spot Checks
For commands not covered by automation, test manually:
```bash
npm run dev
npm run ucv-cli # Note: requires TTY
```
### Step 4.3: Document CLI UX
The audit tool generates structured output:
```yaml
command:
name: "npm run analyze:jd"
help_available: true|false
help_quality: "excellent|good|poor|none"
error_messages: "helpful|unhelpful|missing"
output_clarity: "clear|confusing"
notes: "Any observations"
```
---
## Phase 5: Goal Achievement Attempt
### Step 5.1: Try to Generate a Variant
Using ONLY documented methods, attempt to:
1. Analyze a job description
2. Search for evidence alignment
3. Generate a variant (or understand why you can't)
4. Run evaluation pipeline
5. Preview the result
### Step 5.2: Document Success/Failure
```yaml
goal_attempt:
target: "Generate variant for mock job"
achieved: true|false|partial
steps_completed:
- "analyze:jd - success"
- "search:evidence - success"
- "generate:cv - blocked (no API key)"
blockers:
- "No .env.example to guide API setup"
time_to_first_success: "N/A or duration"
```
---
## Phase 6: Generate Audit Report
### Step 6.1: Compile Findings
Create structured report:
```markdown
# First-Time User Experience Audit
**Date:** [date]
**Persona:** [name, role]
**Goal:** [what they tried to achieve]
## Executive Summary
- Overall Score: X/10
- Time to First Success: [duration or N/A]
- Critical Blockers: [count]
- Friction Points: [count]
## Journey Map
| Step | Status | Friction Level | Notes |
|------|--------|----------------|-------|
| ... | ... | ... | ... |
## Critical Blockers
[List blockers that prevented progress]
## Friction Points
[List points of confusion or difficulty]
## CLI Tool Assessment
| Tool | Help | Errors | Output | Rating |
|------|------|--------|--------|--------|
| ... | ... | ... | ... | X/10 |
## Recommendations
### Priority 1 (Critical)
- ...
### Priority 2 (High)
- ...
### Priority 3 (Medium)
- ...
## What Worked Well
- ...
```
### Step 6.2: Save Report
```bash
# Save to audits directory
docs/audits/YYYY-MM-DD-first-time-user-audit.md
```
---
## Phase 7: Comparison (Optional)
If previous audits exist, compare:
```bash
ls docs/audits/*first-time-user*.md
```
Generate delta report:
- Issues fixed since last audit
- New issues introduced
- Score progression
---
## Output Artifacts
| Artifact | Location | Purpose |
|----------|----------|---------|
| Audit Report | `docs/audits/YYYY-MM-DD-first-time-user-audit.md` | Full findings |
| Journey Log | (in report) | Step-by-step experience |
| Recommendations | (in report) | Prioritized fixes |
---
## Quality Checklist
Before completing:
- [ ] Followed ONLY documentation (no code diving)
- [ ] Created realistic mock data
- [ ] Tested all documented CLI commands
- [ ] Attempted the primary user goal
- [ ] Documented all friction points
- [ ] Generated prioritized recommendations
- [ ] Saved audit report
---
## Example Invocations
```
"Run a first-time user simulation"
"Test the docs as a new user"
"Audit the new user experience"
"Simulate someone trying to use this for the first time"
```
---
## Integration with Improvement Loop
This skill is designed to be run:
1. **Before changes**: Establish baseline score
2. **After changes**: Verify improvements
3. **Periodically**: Catch documentation drift
Recommended cadence: After any documentation PR, or weekly during active development.
---
## Notes
- Be genuinely confused when docs are unclear
- Don't use prior knowledge to fill gaps
- Time estimates help prioritize fixes
- Screenshots/terminal output add context
- Compare to previous audits when available