Discovery
Determine whether the problem is real and worth solving.
Open owner →Free browser tool · no model call required
Turn confirmed user intent and selected product scope into a delivery-sized story without inventing personas, value, permissions, edge cases, dependencies, or acceptance rules. The workspace keeps confirmed facts, candidate splits, and unresolved questions separate.
A good user story does not create discovery. It compresses already-understood intent into a small, user-centered delivery unit that preserves why the work exists.
Start from confirmed context. Missing product truth stays missing.
A feature-only input is allowed for auditing, but CraftUp asks for actor, intent, value, boundaries, or acceptance behavior instead of inventing them.
What is already known about when or where the need appears?
This never creates permission rules automatically.
Leave blank if the actor is not yet confirmed.
A feature name is enough to audit. A delivery-ready story needs a meaningful behavior.
Unknown is acceptable. The builder will not write a plausible benefit for you.
Add a behavior or scope item. CraftUp will not fabricate the rest to make the sentence look complete.
Your story audit will appear here.
You will get an editable story draft, work-item fit, confirmed facts, open questions, candidate split review, acceptance prompts, and quality warnings.
Persistence: working state is saved in this browser when storage is available. No login is required.
Share-link caution: the share URL embeds the workspace state in the link. Do not treat that URL as confidential storage or cloud collaboration.
Ready. Add confirmed context or load a hypothetical example.
Use the right artifact
Determine whether the problem is real and worth solving.
Open owner →Frame the user/problem without jumping to a solution.
Open owner →Define selected product scope, requirements, constraints, risks, and decisions.
Open owner →Express one bounded user-centered delivery behavior while preserving context.
Open owner →Define the observable behavior that determines whether the story works.
Open owner →Describe implementation work beneath or beside the story when technical tasks are the clearer artifact.
The thinking behind the sentence
The classic form is useful, but it is not mandatory. A strong story preserves the same underlying facts whether you use a classic story, a job-oriented statement, or a behavior-first sentence.
Who is trying to accomplish something? Use a role only when it is known and materially changes the behavior or context.
What are they trying to accomplish? Prefer behavior over interface or implementation nouns.
When does the need arise, and why does it matter? Unknown value should remain unknown.
What is actually included in this delivery slice? Keep selected scope distinct from nearby possibilities.
What is explicitly not included? Non-goals stop adjacent ideas from silently becoming requirements.
Which observable behavior is already confirmed, and which questions still need team refinement?
Hypothetical filled example
This example is illustrative. It does not claim research, customer quotes, metrics, permissions, or product rules outside the facts shown here.
As a recruiter who repeatedly reviews the same candidate criteria, I want to save my current valid search configuration, so that I can reopen it later without rebuilding the selected filters.
The tool should show these as non-goals or questions-not silently choose answers.
Copyable blank template
The story stays intentionally smaller than a PRD. Leave unknown fields blank or write the unresolved question instead of filling them with plausible assumptions.
Weak
As a user, I want a dashboard so that I can see data.
Generic actor, solution noun, vague behavior, weak value. The sentence shape does not rescue the missing product context.
Stronger hypothetical
As a support lead reviewing weekly backlog health, I want to see unresolved conversations grouped by age so I can identify queues that need attention.
Actor, situation, behavior, and reason are all visible. The team still needs confirmed acceptance behavior and any real constraints.
Story splitting
Smaller is useful only when the slice still communicates something meaningful. “Frontend”, “backend”, “database”, and “write tests” are usually implementation tasks, not better user stories. Candidate splits are decomposition options-not product priority, capacity estimates, or an automatically chosen MVP.
Separate independently useful steps only when each still expresses a meaningful behavior.
Split when supplied roles genuinely have different behavior, permissions, or workflow-not simply because two personas exist.
Handle confirmed rule variants separately when one coherent slice can be delivered and tested without inventing the rest.
Start with a narrower confirmed variation when it preserves user value and the broader data set is truly separable.
A smaller useful capability can precede advanced behavior, but the first slice is not automatically 'the MVP' or highest priority.
The story should preserve why the work exists and the behavior in scope. It should not absorb every test case, implementation detail, or team completion rule.
CraftUp preserves acceptance behavior you explicitly supply and produces questions for unresolved boundaries. It does not assert empty states, retries, permissions, performance thresholds, or errors as requirements just because they are common.
Refine acceptance criteria →A system migration, infrastructure change, security patch, observability improvement, compliance constraint, refactor, or research spike may have important product consequences without a natural human story. Do not manufacture “As a system…” or “As a developer…” wording just to satisfy a template. Use the work-item type that communicates the objective clearly.
Why: A proposed solution is being reformatted before actor, workflow, and value are understood.
Correct it: Keep the feature name as known scope, then clarify who needs it, what they need to accomplish, and why before treating the story as delivery-ready.
Why: The sentence template is being completed mechanically.
Correct it: Leave the actor unresolved until a real role or situation is supported by product context.
Why: Syntax is substituting for user value.
Correct it: Name the real task, decision, risk, or outcome if known; otherwise keep value as an open question.
Why: An initiative or epic was copied into one delivery item.
Correct it: Review explicit behaviors as candidate vertical slices; do not infer missing CRUD behaviors or call the first slice 'the MVP' without evidence.
Why: The work was divided by technical layer instead of usable behavior.
Correct it: Keep technical tasks underneath a narrower end-to-end behavioral slice where possible.
Why: Likely edge cases were silently converted into requirements.
Correct it: Surface them as questions only when relevant. Treat a rule as confirmed only after the user/team supplies it.
Why: Every backlog item is being forced into story syntax.
Correct it: Use a technical task, enabler, spike, operational requirement, or constraint when that communicates the work more honestly.
Why: Product behavior and team completion rules are being treated as the same artifact.
Correct it: Keep acceptance focused on observable product behavior; keep testing/review/deployment/documentation standards in the team's Definition of Done.
Given/When/Then can help after observable behavior is known. The generator’s Gherkin export carries user-supplied confirmed acceptance behavior; when behavior is missing, it exports questions/comments instead of fictional scenarios. The dedicated Acceptance Criteria owner retains BDD/Gherkin depth.
The workspace can autosave in browser storage when available. A share URL embeds the workspace state in the link so another browser can reconstruct it; that is not cloud collaboration or confidential storage. Do not put unreleased or sensitive roadmap detail into a share link unless sharing that link is acceptable.
Use the broader CraftUp system when your gap is discovery, prioritization, requirements, or delivery judgment rather than story wording.
A common format is 'As a [role], I want to [capability], so that I can [outcome].' It is a useful prompt, not a mandatory standard. CraftUp also supports a job-oriented and behavior-first draft while preserving the same confirmed facts.
No. The builder is deterministic and treats missing actor, value, scope, dependencies, permissions, edge cases, metrics, and acceptance behavior as unresolved unless you supply them. It can ask questions and suggest candidate cut lines, but those suggestions are not promoted to confirmed requirements automatically.
A user story preserves actor, intent, context, and value at a delivery-sized level. Acceptance criteria define observable behavior that must be true. This tool preserves any criteria you explicitly supply and generates refinement questions for the rest; the dedicated Acceptance Criteria guide owns deeper plain-language and Gherkin patterns.
The engine looks for explicit multiple behaviors, actors, operations, or separately stated scope. It surfaces candidate slices using only that supplied text. It does not decide product priority, team capacity, or an MVP, and it warns against default frontend/backend/database splitting.
No. Infrastructure work, migrations, security fixes, refactors, incident remediation, observability changes, and research spikes may be clearer as technical tasks, enablers, constraints, or spikes. The tool flags implementation-centric input rather than fabricating a user actor to preserve story syntax.
Yes, when a PRD workspace is saved in the same browser. The Story Builder can import explicit PRD inputs such as target user, problem context, scope constraints, dependencies, and supplied measurement context. It intentionally leaves the selected delivery behavior and user value for you to confirm instead of deriving them from the PRD objective.
The share action encodes the story workspace into the URL so it can be reopened without an account. The link is not cloud collaboration and should not be treated as confidential storage; anyone who receives the link can receive the embedded product context.
No. The optional Gherkin starter only carries acceptance behavior you explicitly supplied. When no acceptance behavior is confirmed, it exports comments and questions rather than inventing executable scenarios. Use the dedicated Acceptance Criteria guide when BDD detail is the actual job.
No. Discovery establishes whether a problem is real and worth solving; a PRD or equivalent product artifact can define selected scope and broader requirements. A user story comes later, when enough context exists to express a bounded delivery behavior without pretending the sentence itself proves demand.
Last updated: 2026-09-16