Tools

AI user story generator

Turn a feature request into user stories with Given/When/Then acceptance criteria, as Markdown or JSON.

Your key, or hosted with creditsAI assistants43.9K
Get a key

Your key stays in your browser.It goes straight to the provider, never to our servers, and we neither log nor keep it. Use a dedicated key with a spending cap, and delete it in the provider's dashboard when you are done.

Input

Result

The result will appear here.

A feature request usually arrives as a paragraph in a ticket or a chat: who asked, roughly what they want, a rule or two. Before anyone can estimate it, it has to become user stories — 'As a billing admin, I want…, so that…' — each with acceptance criteria that QA can check. Paste the request, choose how many stories to split it into, and this writes them with Given / When / Then scenarios covering the main path and at least one failure or edge case per story, plus a notes line when there is a real dependency. Pick JSON instead of Markdown when the stories are going into Jira, Linear or a script through an API rather than into a document.

How it works

  • Two Fabric patterns are merged: create_user_story supplies the Description / Acceptance criteria structure and its ban on clichés and filler, and agility_story supplies the Given/When/Then criteria and the JSON output shape.
  • Stories are split by the value they deliver to a user rather than by frontend and backend layer, and each is kept small enough for one iteration — the INVEST rule of thumb.
  • Chinese input gets the Chinese Gherkin keywords 假如, 当, 那么 and 而且, which Cucumber and other Gherkin tools accept, so the scenarios can seed real feature files.
  • The request text is sent from this page to the provider you select, authenticated with your own key — a separate, capped key reserved for tools like this one is safer than the key your product runs on.

Where your data goes

With your own key, what you type and the key go from your browser straight to the provider you choose; neither passes through Hysen Labs. In hosted mode, your text goes through our server to our provider (DeepSeek) and is billed in credits; we keep the token counts and cost of each run for billing, never the text itself or the answer. How the provider handles the text is governed by its own privacy policy.

This tool handles keys and credentials, so nothing about a run is saved, not even to your own history.

About your API key

We do not collect, store or leak your key: it lives only in this page's memory (unless you tick “remember in this tab”) and is gone when you close it. Still, treat any key you have pasted into a web page with care — create a dedicated key with a spending cap for use here, and delete or rotate it in your provider's dashboard when you are done.

What it costs

This tool is free, with no sign-in and no points.

Common questions

Why does every story include a failure scenario?
Because the happy path is the part everyone already agrees on. The questions that cause rework — what happens with an empty date range, who can see the button, what the email says when the export fails — surface only when someone has to write the failure case down. If one does not apply, delete it; that is cheaper than discovering it in QA.
Can I import the JSON into Jira?
Not directly: Jira's importers take CSV or its own REST API format. The JSON is a clean intermediate — an array of topic, story, criteria and notes — that a short script can post through the Jira or Linear API, or that you can turn into CSV.
The stories contain rules I never gave. Why?
The prompt tells the model to put a missing rule in Notes as an assumption rather than state it as fact, but models sometimes slip. Read the acceptance criteria as questions: every number or permission you did not supply is one to confirm with whoever asked for the feature.
How many stories should one request become?
As many as there are separately valuable pieces. The sample — an invoice export with filters, permissions and a background job for large exports — splits naturally into three. If the model cannot find that many, it writes fewer rather than padding; if one story still looks like a week's work, raise the count and run it again.

The open-source behind it

This tool's prompt is adapted from danielmiessler/Fabric (MIT) and runs on the model you choose. To use the same capability from the command line or inside your own program, start with that project.

danielmiessler/Fabric

Also known as

  • user story generator
  • acceptance criteria generator
  • given when then examples
  • agile user story template
  • gherkin acceptance criteria
  • jira user story