# 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!

## 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 asses yourself
 - 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.md` usint 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.md`

## Notes
  - Do NOT generate any code yet, only brief explanations what should be done.  
  - Ask as many questions as needed.