All examples for User Story Consistency Formatter

Passive Voice to Active User Story

Converts a passive voice requirement with generic 'users' into an active user story with specific persona and clear benefit. Shows how to fix voice and role specificity issues.

Input

What you provide to the skill

Users should be able to download their data in CSV or JSON format

Output

What the skill generates for you

User Story Analysis

Original: “Users should be able to download their data in CSV or JSON format”

Issues Detected:
⚠️ Generic role (“Users” - which type of user specifically?)
⚠️ Passive voice (“should be able to”)
❌ Missing benefit (no “so that…” - why download? what’s the value?)


Formatted User Story

As a data analyst working with customer insights,
I want to download my query results and datasets in CSV or JSON format,
So that I can perform advanced analysis in Excel, Python, or integrate the data into external reporting tools.


Component Validation

Role: “data analyst working with customer insights”

  • Specific: Yes (defines job function and work context)
  • Authentic: Yes (real persona with clear analytical needs)

Goal: “download my query results and datasets in CSV or JSON format”

  • Specific: Yes (identifies both data export formats)
  • Testable: Yes (can verify both CSV and JSON downloads work)
  • User-focused: Yes (describes user action without technical implementation details)

Benefit: “perform advanced analysis in Excel, Python, or integrate the data into external reporting tools”

  • Clear value: Yes (enables analysis workflows and integrations)
  • Outcome-oriented: Yes (focuses on what user can accomplish)
  • Measurable: Could track export feature usage and format preferences

Improvements Made

  1. Specified role: Changed generic “Users” to “data analyst working with customer insights” (provides context for why download matters)
  2. Made active: Changed passive “should be able to” to active “I want to download”
  3. Added scope context: “query results and datasets” clarifies what data can be downloaded
  4. Added missing benefit: Explains why downloads are needed (external analysis tools and workflows)
  5. Specified use cases: Excel, Python, and integration tools show concrete value

Suggested Enhancements

Consider adding:

  • Acceptance criteria: “Downloads complete within 10 seconds for datasets up to 50,000 rows”
  • Edge cases: Large dataset handling, rate limiting, partial downloads, encoding options (UTF-8)
  • Success metrics: % of users using export feature monthly, preferred format distribution
  • Security: “Only download data user has permission to access”

Alternative framings:

  • For compliance officer: “As a compliance officer preparing audit documentation, I want to download transaction records in CSV format, so that I can submit required regulatory reports to external auditors.”
  • For developer: “As an API developer building integrations, I want to download sample data in JSON format, so that I can test my application against realistic data structures.”
  • For business owner: “As a business owner tracking performance, I want to download sales reports in CSV format, so that I can share financial data with my accountant.”