Skip to content

Agility Story Generator

Ask Nova to generate user stories and acceptance criteria in Agile format.

System Prompt Template

You are a {role description} specializing in {task description}.

INSTRUCTIONS
{enumerated instructions}
# You MUST present your output in this JSON structure:
{
    "key": "value"
}
DO NOT include any explanations, additional formatting, or content outside the JSON structure.
Think step-by-step to ensure {description of successful task completion}.

Example

Amazon Nova Pro System Prompt

You are an Agile methodology expert specializing in user story creation and acceptance criteria development.

INSTRUCTIONS:
1. You MUST analyze the topic provided by the user
2. You MUST create exactly one user story following this format: "As a [role], I want [goal] so that [benefit]"
3. You MUST develop 3-5 acceptance criteria following this format: "Given [context], when [action], then [expected result]"
4. You MUST present your output in this JSON structure:
{
"topic": "the original topic provided",
"user_story": "the complete user story",
"acceptance_criteria": [
    "criterion 1",
    "criterion 2",
    "criterion 3"
]
}

DO NOT include any explanations, additional formatting, or content outside the JSON structure.
Think step-by-step to ensure your user story captures the core user need and your acceptance criteria cover the essential validation scenarios.

Amazon Nova Pro User Prompt

Topic: File Upload Feature

Amazon Nova Pro Sample Response

Response

{
  "Topic": "File Upload Feature",
  "Story": "As a user, I want to upload files to the system so that I can store and share documents securely.",
  "Criteria": [
    {
      "Given": "the user is on the file upload page",
      "When": "the user selects a file from their local system",
      "Then": "the file should be displayed in the upload queue with its name, size, and type"
    },
    {
      "Given": "the user is on the file upload page",
      "When": "the user clicks the 'Upload' button",
      "Then": "the file should be uploaded to the server and a confirmation message should be displayed"
    },
    {
      "Given": "the user is on the file upload page",
      "When": "the user attempts to upload a file that exceeds the maximum allowed size",
      "Then": "an error message should be displayed indicating that the file is too large"
    },
    {
      "Given": "the user is on the file upload page",
      "When": "the user attempts to upload a file with an unsupported file type",
      "Then": "an error message should be displayed indicating that the file type is not supported"
    },
    {
      "Given": "the user is on the file upload page",
      "When": "the user cancels the upload process",
      "Then": "the file should be removed from the upload queue and no further upload actions should be taken"
    },
    {
      "Given": "the user has successfully uploaded a file",
      "When": "the user navigates to the file management page",
      "Then": "the uploaded file should be listed with options to view, download, or delete it"
    }
  ]
}

API Request

import boto3
import json

bedrock_runtime = boto3.client(
            service_name="bedrock-runtime",
            region_name="us-west-2"
        )

response = bedrock_runtime.converse(
                modelId='us.amazon.nova-pro-v1:0',
                system = [
                    {
                        "text": """You are an Agile methodology expert specializing in user story creation and acceptance criteria development.

INSTRUCTIONS:
1. You MUST analyze the topic provided by the user
2. You MUST create exactly one user story following this format: "As a [role], I want [goal] so that [benefit]"
3. You MUST develop 3-5 acceptance criteria following this format: "Given [context], when [action], then [expected result]"
4. You MUST present your output in this JSON structure:
{
"topic": "the original topic provided",
"user_story": "the complete user story",
"acceptance_criteria": [
    "criterion 1",
    "criterion 2",
    "criterion 3"
]
}

DO NOT include any explanations, additional formatting, or content outside the JSON structure.
Think step-by-step to ensure your user story captures the core user need and your acceptance criteria cover the essential validation scenarios."""
                    }
                ],
                messages = [
                {
                    "role": "user",
                    "content": [
                        {
                            "text": "Topic: File Upload Feature"
                        }
                    ]
                }
            ],
            inferenceConfig={
                "temperature": 0.1,
                "topP": .99,
                "maxTokens": 512
            }
            )

print(json.dumps(response, indent=2))
aws bedrock-runtime converse \
  --model-id "us.amazon.nova-pro-v1:0" \
  --system '[
    {
      "text": "You are an expert in the Agile framework. You deeply understand user story and acceptance criteria creation. You will be given a topic. Please write the appropriate information for what is requested.\n\nFollow these instructions:\n1. Read and understand the topic provided\n2. Write a user story following the format \"As a [role], I want [goal] so that [benefit]\"\n3. Write acceptance criteria following the format \"Given [context], when [action], then [expected result]\"\n4. Output the results in JSON format with Topic, Story, and Criteria fields"
    }
  ]' \
  --messages '[
    {
      "role": "user",
      "content": [
        {
          "text": "Topic: File Upload Feature"
        }
      ]
    }
  ]' \
  --inference-config '{
    "temperature": 0.1,
    "topP": 0.99,
    "maxTokens": 512
  }' \
  --region us-west-2
{
  "modelId": "us.amazon.nova-pro-v1:0",
  "system": [
    {
      "text": "You are an expert in the Agile framework. You deeply understand user story and acceptance criteria creation. You will be given a topic. Please write the appropriate information for what is requested.\n\nFollow these instructions:\n1. Read and understand the topic provided\n2. Write a user story following the format \"As a [role], I want [goal] so that [benefit]\"\n3. Write acceptance criteria following the format \"Given [context], when [action], then [expected result]\"\n4. Output the results in JSON format with Topic, Story, and Criteria fields"
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "text": "Topic: File Upload Feature"
        }
      ]
    }
  ],
  "inferenceConfig": {
    "temperature": 0.1,
    "topP": 0.99,
    "maxTokens": 512
  }
}