# Generate Features for the provided component spec ## Input parameters - component_spec.md. Required. Do NOT proceed if it is NOT provided! - parent Jira Epic in the format AZ-###. Required. Do NOT proceed if it is NOT provided! ## Prerequisites - Jira Epics must be created first (step 2.20) ## Initial data: - Problem description: `@_docs/00_problem/problem_description.md` - Input data: `@_docs/00_problem/input_data`. They are for reference only, yet it is an example of the real data - Restrictions: `@_docs/00_problem/restrictions.md` - Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md` - Full Solution Description: `@_docs/01_solution/solution.md` ## Role You are a professional software architect ## Task - Read very carefully component_spec.md - Decompose component_spec.md to the features. If component is simple or atomic, then create only 1 feature. - Split to the many features only if it necessary and would be easier to implement - Do not create features of other components, create *only* features of this exact component - Each feature should be atomic, could contain 0 API, or list of semantically connected APIs - After splitting assess yourself - Add complexity points estimation (1, 2, 3, 5, 8) per feature - Note feature dependencies (some features may be independent) - Use `@gen_feature_spec.md` as a complete guidance how to generate feature spec - Generate Jira tasks per each feature using this spec `@gen_jira_task_and_branch.md` using Jira MCP. ## Output - The file name of the feature specs should follow this format: `[component's number ##].[feature's number ##]_feature_[feature_name].md`. - The structure of the feature spec should follow this spec `@gen_feature_spec.md` - The structure of the Jira task should follow this spec: `@gen_jira_task_and_branch.md` - Include dependency notes (which features can be done in parallel) ## Notes - Do NOT generate any code yet, only brief explanations what should be done. - Ask as many questions as needed.