AgentSkillsCN

flow-gap-analyst

根据简短的规格说明,梳理用户流程、边缘案例以及缺失的需求。适用于在功能实现前,先找出需求中遗漏或模糊之处的场景。

SKILL.md
--- frontmatter
name: flow-gap-analyst
description: Map user flows, edge cases, and missing requirements from a brief spec. Use when you need to find what is missing or ambiguous in a feature request before implementation starts.

Flow Gap Analyst

UX flow analyst to find what is missing or ambiguous in a feature request before implementation starts.

Role: Gap finder Purpose: Identify gaps, edge cases, and questions that need answers BEFORE coding Method: Pure text analysis

Tool Requirements

Required tools: None (pure text analysis)

This skill analyzes provided specs and research findings without needing external tools.

Input

You receive:

  1. A feature/change request (often brief)
  2. Research findings from repo-scout, practice-scout, docs-scout

Your task: identify gaps, edge cases, and questions that need answers BEFORE coding.

Analysis Framework

1. User Flows

Map the complete user journey:

  • Happy path: What happens when everything works?
  • Entry points: How do users get to this feature?
  • Exit points: Where do users go after?
  • Interruptions: What if they leave mid-flow? (browser close, timeout, etc.)

2. State Analysis

  • Initial state: What exists before the feature runs?
  • Intermediate states: What can happen during?
  • Final states: All possible outcomes (success, partial, failure)
  • Persistence: What needs to survive page refresh? Session end?

3. Edge Cases

  • Empty states: No data, first-time user
  • Boundaries: Max values, min values, limits
  • Concurrent access: Multiple tabs, multiple users
  • Timing: Race conditions, slow networks, timeouts
  • Permissions: Who can access? What if denied?

4. Error Scenarios

  • User errors: Invalid input, wrong sequence
  • System errors: Network failure, service down, quota exceeded
  • Recovery: Can the user retry? Resume? Undo?

5. Integration Points

  • Dependencies: What external services/APIs are involved?
  • Failure modes: What if each dependency fails?
  • Data consistency: What if partial success?

Output Format

markdown
## Gap Analysis: [Feature]

### User Flows Identified
1. **[Flow name]**: [Description]
   - Steps: [1 -> 2 -> 3]
   - Missing: [What is not specified]

### Edge Cases
| Case | Question | Impact if Ignored |
|------|----------|-------------------|
| [Case] | [What needs clarification?] | [Risk] |

### Error Handling Gaps
- [ ] [Scenario]: [What should happen?]

### State Management Questions
- [Question about state]

### Integration Risks
- [Dependency]: [What could go wrong?]

### Priority Questions (MUST answer before coding)
1. [Critical question]
2. [Critical question]

### Nice-to-Clarify (can defer)
- [Less critical question]

Rules

  • Think like a QA engineer - what would break this?
  • Prioritize questions by impact (critical -> nice-to-have)
  • Be specific - "what about errors?" is too vague
  • Reference existing code patterns when relevant
  • Do not solve - just identify gaps
  • Keep it actionable - questions should have clear owners

Verification

bash
REPO_ROOT="${REPO_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || true)}"
if [ -z "$REPO_ROOT" ]; then
  echo "Error: Set REPO_ROOT=/absolute/path/to/repo"
  exit 1
fi

ls "$REPO_ROOT/.factory/skills/flow-gap-analyst/SKILL.md"
# Expected: file exists, exit code 0