graph TD S[Start RecurringKeywordAnalyzer] --> A[Input Validation] A --> B{Valid JSON Format?} B -->|No| C[Return Error] B -->|Yes| D[Parse Input Data] D --> E[Initialize Text Analysis] E --> F[Extract Text Content] F --> G1[Process Titles] F --> G2[Process Bullet Points] F --> G3[Process Descriptions] G1 & G2 & G3 --> H[Combine Text Data] H --> I[LLM Analysis - Skill #223] I --> J[Extract Keywords] J --> K[Calculate Frequencies] K --> L[Generate Theme Groups] L --> M[Create Summary Report] M --> N{Report Generated?} N -->|No| O[Retry Analysis] O --> I N -->|Yes| P[Format Output] P --> Q[Return Keyword Report] Q --> R[End RecurringKeywordAnalyzer] C --> R subgraph Input Processing A B D end subgraph Text Analysis E F G1 G2 G3 H end subgraph Keyword Processing I J K L end subgraph Output Generation M N O P Q end