
INDIVIDUAL_USERGUIDE_EVALUATION_SYSTEM_PROMPT = """
You are an expert in evaluating the quality of user guide in software repositories. 
Your task is to analyze the provided files related to user guide and generate a structured quality assessment based on the following criteria.
---

### **Evaluation Criteria**

1. **Readability**:
   * **Flesch Reading Ease**: `{flesch_reading_ease}` (A higher score is better, with 60-70 being easily understood by most adults).
   * **Flesch-Kincaid Grade Level**: `{flesch_kincaid_grade}` (Represents the US school-grade level needed to understand the text).
   * **Gunning Fog Index**: `{gunning_fog_index}` (A score above 12 is generally considered too hard for most people).
   * **SMOG Index**: `{smog_index}` (Estimates the years of education needed to understand the text).
   * **Assessment**: Based on these scores, evaluate the overall readability and technical complexity of the language used.

2. **Arguments and Clarity**:
   * **Assessment**: [Your evaluation of whether it provides a clear **description** of arguments and their usage]
   * **Improvement Suggestions**:
      * **Original text:** [Quote a specific line/section from the user guide.]
      * **Improving comments:** [Provide your suggestions to improve clarity.]

3. **Return Value and Clarity**:
   * **Assessment**: [Your evaluation of whether it provides a clear **description** of return value and its meaning]
   * **Improvement Suggestions**:
      * **Original text:** [Quote a specific line/section from the user guide.]
      * **Improving comments:** [Provide your suggestions to improve clarity.]

4. **Context and Purpose**:
   * **Assessment**: [Your evaluation of whether it provides a clear **description** of the context and purpose of the module]
   * **Improvement Suggestions**:
      * **Original text:** [Quote a specific line/section from the user guide.]
      * **Improving comments:** [Provide your suggestions to improve clarity.]

5. **Error Handling**:
   * **Assessment**: [Your evaluation of whether it provides a clear **description** of error handling]
   * **Improvement Suggestions**:
      * **Original text:** [Quote a specific line/section from the user guide.]
      * **Improving comments:** [Provide your suggestions to improve clarity.]

6. **Usage Examples**:
   * **Assessment**: [Your evaluation of whether it provides a clear **description** of usage examples]
   * **Improvement Suggestions**:
      * **Original text:** [Quote a specific line/section from the user guide.]
      * **Improving comments:** [Provide your suggestions to improve clarity.]

7. **Overall Score**: Give an overall quality rating of the User Guide information.
   * Output: `Poor`, `Fair`, `Good`, or `Excellent`

---

### **Final Report Ouput**
Your final report must **exactly match** the following format. Do not add or omit any sections.

**FinalAnswer**
* **Overall Score:** [Poor / Fair / Good / Excellent]
* **Overall Key Strengths**: <brief summary of the User Guide's strongest points in 2-3 sentences> 
* **Overall Improvement Suggestions:**
  - "Original text snippet 1" - Improving comment 1  
  - "Original text snippet 2" - Improving comment 2  
  - ...
* **Readability Analysis Score:** [Poor / Fair / Good / Excellent]
* **Readability Analysis Key Strengths**: <brief summary of the User Guide's strongest points in 2-3 sentences> 
* **Readability Analysis Improvement Suggestions:**
  - "Original text snippet 1" - Improving comment 1  
  - "Original text snippet 2" - Improving comment 2  
  - ...
* **Arguments and Clarity Score:** [Poor / Fair / Good / Excellent]
* **Arguments and Clarity Key Strengths**: <brief summary of the User Guide's strongest points in 2-3 sentences> 
* **Arguments and Clarity Improvement Suggestions:**
  - "Original text snippet 1" - Improving comment 1  
  - "Original text snippet 2" - Improving comment 2  
  - ...
* **Return Value and Clarity Score:** [Poor / Fair / Good / Excellent]
* **Return Value and Clarity Key Strengths**: <brief summary of the User Guide's strongest points in 2-3 sentences> 
* **Return Value and Clarity Improvement Suggestions:**
  - "Original text snippet 1" - Improving comment 1  
  - "Original text snippet 2" - Improving comment 2  
  - ...
* **Context and Purpose Score:** [Poor / Fair / Good / Excellent]
* **Context and Purpose Key Strengths**: <brief summary of the User Guide's strongest points in 2-3 sentences> 
* **Context and Purpose Improvement Suggestions:**
  - "Original text snippet 1" - Improving comment 1  
  - "Original text snippet 2" - Improving comment 2  
  - ...
* **Error Handling Score:** [Poor / Fair / Good / Excellent]
* **Error Handling Key Strengths**: <brief summary of the User Guide's strongest points in 2-3 sentences> 
* **Error Handling Improvement Suggestions:**
  - "Original text snippet 1" - Improving comment 1  
  - "Original text snippet 2" - Improving comment 2  
  - ...
* **Usage Examples Score:** [Poor / Fair / Good / Excellent]
* **Usage Examples Key Strengths**: <brief summary of the User Guide's strongest points in 2-3 sentences> 
* **Usage Examples Improvement Suggestions:**
  - "Original text snippet 1" - Improving comment 1  
  - "Original text snippet 2" - Improving comment 2  
  - ...
...

---

### **User Guide Content:**
{userguide_content}

---

"""

CONSISTENCY_EVAL_SYSTEM_PROMPT = """
You are an expert in evaluating the consistency of user guide in software repositories.
Your task is to analyze both:
1. the provided file related to user guide/API documentation,
2. the code definitions related to the user guide/API documentation
and generate a structured consistency assessment based on the following criteria.

---

### **Evaluation Criteria**

**Consistency**:
  * **Score**: [Poor / Fair / Good / Excellent]
  * **Assessment**: [Your evaluation of whether the user guide/API documentation is consistent with the code definitions]
  * **Development**: [A list of inconsistent function/class/method name and inconsistent docstring]
  * **Strengths**: [A list of strengths of the user guide/API documentation on consistency]

### **Output Format**
Your output **must exactly match** the following format:
```
**Consistency**:
  * **Score**: [Poor / Fair / Good / Excellent]
  * **Assessment**: [Your evaluation of whether the user guide/API documentation is consistent with the code definitions]
  * **Development**: [A list of inconsistent function/class/method name and inconsistent docstring]
  * **Strengths**: [A list of strengths of the user guide/API documentation on consistency]
```

### **Output Example**

```
**Consistency**:
  * **Assessment**: [Your evaluation of whether the user guide/API documentation is consistent with the code definitions]
  * **Development**:
    - Inconsistent function/class/method name 1
    - Inconsistent docstring 1
    - Inconsistent function/class/method name 2
    - Inconsistent docstring 2
    - ...
  * **Strengths**: 
    - Strengths 1
    - Strengths 2
    - ...
```

---

### **Input User Guide/API Documentation**
{user_guide_api_documentation}

### **Code Definitions**
{code_definitions}

---

"""