SuperAPI AI Directory

user-story-writer

Office & productivity

View repository

Updated 10-16 10:18

About this skill

User Story Writer

Overview

Organize vague requirements into actionable, estimable, and testable user stories, focusing on what to do, why to do it, and under what conditions it counts as complete. Only discuss constraints, dependencies, performance, or integration requirements when necessary, and do not preset technical implementation solutions for the development team.

Core Workflow

Work in the following order, do not skip steps, and do not throw out too many questions at once.

1. Evaluate Clarity

First determine whether the user requirement is already clear enough. Focus on checking three things:

  • Whether the functional boundaries are clear
  • Whether the business value is clear
  • Whether the acceptance criteria can be verified

If all three items are basically clear, go directly to "Generate Story". If any item is obviously vague, go to "Clarify Need".

2. Clarify Need

Advance only one key decision per round to avoid information overload.

  • Ask only one question at a time
  • Prefer 2-3 optional directions, and use open-ended questions only when necessary
  • Focus on purpose, scope, constraints, and success criteria
  • Do not go deep into technical details such as databases, interfaces, frameworks, or component decomposition

Prioritize clarifying the following information:

  1. Who is using this capability
  2. What goal the user wants to accomplish
  3. Why the business needs it
  4. What outcome counts as complete
  5. Whether there are key boundaries, exceptions, permission, or performance requirements

If the user's direction is unclear, proactively provide 2-3 options and explain the applicable scenarios, letting the user choose or combine them.

3. Confirm Understanding

Before outputting the complete user story, first restate your understanding in brief business language. The restatement should include:

  • Target users
  • Core behavior
  • Business value
  • Key scope boundaries

If there are still key ambiguities, continue asking; if not, go to "Generate Story".

4. Generate Story

Use a concise, business-oriented structure for output. By default include the following parts:

标题

用户故事
作为 <某类用户>
我想要 <完成某个目标>
以便于 <获得某种业务价值>

验收标准
1. ...
2. ...
3. ...

备注
- 约束:
- 依赖项:
- 不包含:

The title should be short and suitable for direct use as a Jira Summary. The main body of the "User Story" should focus on value and not describe the implementation method.

5. Check INVEST

Before outputting, self-check item by item:

  • Independent: Whether it can be developed and delivered independently
  • Negotiable: Whether it avoids prescribing an implementation solution
  • Valuable: Whether it clearly states the business value
  • Estimable: Whether it is clear enough to estimate
  • Small: Whether it can be completed within 1-2 iterations
  • Testable: Whether the acceptance criteria are specific and verifiable

If the story is obviously too large, first suggest splitting it, then continue outputting.

6. Offer Jira Action

Only after the user story content is confirmed, ask whether it needs to be synced to Jira. If the user agrees, then execute the Jira creation or update.

Story Rules

Always follow these principles:

  • Treat user stories as a communication tool, not a design document
  • Focus on clearly writing what to do and why to do it
  • Acceptance criteria must be verifiable and convertible into test cases
  • Do not write frontend frameworks, database structures, API names, class designs, or algorithm implementations
  • You may write business constraints, integration objects, performance metrics, permission boundaries, and data sources

If the user's input already contains an obvious technical solution, retain its business constraints, but proactively strip away unnecessary implementation details.

Acceptance Criteria

Prioritize writing 3-7 acceptance criteria, covering the main flow, exceptions, and boundaries.

Choose the form of expression based on the scenario:

  • Complex interactions: use Given-When-Then
  • Simple features: use the direct declarative style
  • Configuration or rule types: use the checklist style

Acceptance criteria must at least cover:

  1. Completion of core functionality
  2. Key state changes or result display
  3. Main exception or failure scenarios
  4. Necessary boundary conditions

Only when the user explicitly requests it, add acceptance criteria for performance, compatibility, accessibility, or security.

For detailed patterns and counterexamples, see acceptance-criteria.md。

Output Guidance

Keep the output short, clear, and directly discussable. If the content is long, prioritize splitting it into multiple subsections, keeping each paragraph to about 200-300 characters, and ask the user whether they are satisfied at key points.

Default output order:

  1. One-sentence confirmation of understanding
  2. User story card
  3. If needed, provide splitting suggestions or questions to be confirmed
  4. Ask whether to create or update Jira

Jira Integration

The project Key is fixed as AL. When creating an Issue, use the Story type, unless the user explicitly requests another type. By default, prioritize using the Jira MCP tool to execute, rather than stopping at a draft of the wording.

Before creating or updating Jira, the following must be satisfied:

  • The user has confirmed the story content
  • The title, body, and acceptance criteria are complete
  • The required labels, dependencies, or notes have been collected

Default mapping:

  • Summary: concise title
  • Description: complete story content
  • Labels: add according to functional semantics, such as frontend、backend、feature、integration

For detailed execution steps, see jira-execution.md。

Jira Description Structure

The Jira description must contain at least:

  • Background or goal
  • User story
  • Acceptance criteria
  • Constraints/dependencies/out-of-scope items (if applicable)

For the ADF structure and examples, see jira-adf.md。

Jira Action Rules

  • Explicitly seek the user's consent before creating
  • When updating existing Jira content, prioritize using the ADF structure to organize the description
  • If the current tool only accepts Markdown input, create according to the tool's capabilities first, then convert to ADF for updating when feasible
  • Do not automatically create multiple cards without confirmation
  • If the user does not provide an existing Jira Key, default to performing a create rather than searching and blindly modifying
  • If the user provides a Jira Key, prioritize updating that card rather than creating a duplicate Story
  • If a requirement should be split into multiple Stories, first provide a splitting plan and confirm each item, then create them in batch
  • After creation or update is complete, return the Jira Key, Summary, and a summary of the core content you actually wrote

Examples

Clear Request

The user says:

I need a user login feature that supports email and password login.

Directly organize it into a user story, and fill in the missing but necessary acceptance criteria, such as successful login, incorrect password, and required field validation.

Vague Request

The user says:

I want to build a data display feature.

Do not write the story directly. First clarify:

  • Who views this data
  • Whether it is for monitoring, analysis, or reporting
  • Which metrics are of greatest concern
  • Under what circumstances is the requirement considered satisfied

Resource Map