[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-langgenius-dify-.agents-skills-backend-code-review":3},{"error":4,"detail":5,"metadata":45,"markdownContent":46,"rawMarkdown":42},false,{"repo_full_name":6,"owner":7,"repo_name":8,"repo_forks":9,"skill_path":10,"repo_stars":11,"name":12,"category_id":13,"description":14,"file_tree":15,"skill_md_content":42,"skill_id":43,"skill_key":44},"langgenius/dify","langgenius","dify",20868,".agents/skills/backend-code-review",134028,"backend-code-review",18,"Review backend code for quality, security, maintainability, and best practices based on established checklist rules. Use when the user requests a review, analysis, or improvement of backend files (e.g., `.py`) under the `api/` directory. Do NOT use for frontend files (e.g., `.tsx`, `.ts`, `.js`). Supports pending-change review, code snippets review, and file-focused review.",[16,21],{"name":17,"path":18,"size":19,"type":20},"SKILL.md",".agents/skills/backend-code-review/SKILL.md",6116,"file",{"name":22,"path":23,"type":24,"children":25},"references",".agents/skills/backend-code-review/references","folder",[26,30,34,38],{"name":27,"path":28,"size":29,"type":20},"architecture-rule.md",".agents/skills/backend-code-review/references/architecture-rule.md",3846,{"name":31,"path":32,"size":33,"type":20},"db-schema-rule.md",".agents/skills/backend-code-review/references/db-schema-rule.md",6982,{"name":35,"path":36,"size":37,"type":20},"repositories-rule.md",".agents/skills/backend-code-review/references/repositories-rule.md",3276,{"name":39,"path":40,"size":41,"type":20},"sqlalchemy-rule.md",".agents/skills/backend-code-review/references/sqlalchemy-rule.md",6031,"---\nname: backend-code-review\ndescription: Review backend code for quality, security, maintainability, and best practices based on established checklist rules. Use when the user requests a review, analysis, or improvement of backend files (e.g., `.py`) under the `api/` directory. Do NOT use for frontend files (e.g., `.tsx`, `.ts`, `.js`). Supports pending-change review, code snippets review, and file-focused review.\n---\n\n# Backend Code Review\n\n## When to use this skill\n\nUse this skill whenever the user asks to **review, analyze, or improve** backend code (e.g., `.py`) under the `api/` directory. Supports the following review modes:\n\n- **Pending-change review**: when the user asks to review current changes (inspect staged/working-tree files slated for commit to get the changes).\n- **Code snippets review**: when the user pastes code snippets (e.g., a function/class/module excerpt) into the chat and asks for a review.\n- **File-focused review**: when the user points to specific files and asks for a review of those files (one file or a small, explicit set of files, e.g., `api/...`, `api/app.py`).\n\nDo NOT use this skill when:\n\n- The request is about frontend code or UI (e.g., `.tsx`, `.ts`, `.js`, `web/`).\n- The user is not asking for a review/analysis/improvement of backend code.\n- The scope is not under `api/` (unless the user explicitly asks to review backend-related changes outside `api/`).\n\n## How to use this skill\n\nFollow these steps when using this skill:\n\n1. **Identify the review mode** (pending-change vs snippet vs file-focused) based on the user’s input. Keep the scope tight: review only what the user provided or explicitly referenced.\n2. Follow the rules defined in **Checklist** to perform the review. If no Checklist rule matches, apply **General Review Rules** as a fallback to perform the best-effort review.\n3. Compose the final output strictly follow the **Required Output Format**.\n\nNotes when using this skill:\n- Always include actionable fixes or suggestions (including possible code snippets).\n- Use best-effort `File:Line` references when a file path and line numbers are available; otherwise, use the most specific identifier you can.\n\n## Checklist\n\n- db schema design: if the review scope includes code/files under `api/models/` or `api/migrations/`, follow [references/db-schema-rule.md](references/db-schema-rule.md) to perform the review\n- architecture: if the review scope involves controller/service/core-domain/libs/model layering, dependency direction, or moving responsibilities across modules, follow [references/architecture-rule.md](references/architecture-rule.md) to perform the review\n- repositories abstraction: if the review scope contains table/model operations (e.g., `select(...)`, `session.execute(...)`, joins, CRUD) and is not under `api/repositories`, `api/core/repositories`, or `api/extensions/*/repositories/`, follow [references/repositories-rule.md](references/repositories-rule.md) to perform the review\n- sqlalchemy patterns: if the review scope involves SQLAlchemy session/query usage, db transaction/crud usage, or raw SQL usage, follow [references/sqlalchemy-rule.md](references/sqlalchemy-rule.md) to perform the review\n\n## General Review Rules\n\n### 1. Security Review\n\nCheck for:\n- SQL injection vulnerabilities\n- Server-Side Request Forgery (SSRF)\n- Command injection\n- Insecure deserialization\n- Hardcoded secrets/credentials\n- Improper authentication/authorization\n- Insecure direct object references\n\n### 2. Performance Review\n\nCheck for:\n- N+1 queries\n- Missing database indexes\n- Memory leaks\n- Blocking operations in async code\n- Missing caching opportunities\n\n### 3. Code Quality Review\n\nCheck for:\n- Code forward compatibility\n- Code duplication (DRY violations)\n- Functions doing too much (SRP violations)\n- Deep nesting / complex conditionals\n- Magic numbers/strings\n- Poor naming\n- Missing error handling\n- Incomplete type coverage\n\n### 4. Testing Review\n\nCheck for:\n- Missing test coverage for new code\n- Tests that don't test behavior\n- Flaky test patterns\n- Missing edge cases\n\n## Required Output Format\n\nWhen this skill invoked, the response must exactly follow one of the two templates:\n\n### Template A (any findings)\n\n```markdown\n# Code Review Summary\n\nFound \u003CX> critical issues need to be fixed:\n\n## 🔴 Critical (Must Fix)\n\n### 1. \u003Cbrief description of the issue>\n\nFilePath: \u003Cpath> line \u003Cline>\n\u003Crelevant code snippet or pointer>\n\n#### Explanation\n\n\u003Cdetailed explanation and references of the issue>\n\n#### Suggested Fix\n\n1. \u003Cbrief description of suggested fix>\n2. \u003Ccode example> (optional, omit if not applicable)\n\n---\n... (repeat for each critical issue) ...\n\nFound \u003CY> suggestions for improvement:\n\n## 🟡 Suggestions (Should Consider)\n\n### 1. \u003Cbrief description of the suggestion>\n\nFilePath: \u003Cpath> line \u003Cline>\n\u003Crelevant code snippet or pointer>\n\n#### Explanation\n\n\u003Cdetailed explanation and references of the suggestion>\n\n#### Suggested Fix\n\n1. \u003Cbrief description of suggested fix>\n2. \u003Ccode example> (optional, omit if not applicable)\n\n---\n... (repeat for each suggestion) ...\n\nFound \u003CZ> optional nits:\n\n## 🟢 Nits (Optional)\n### 1. \u003Cbrief description of the nit>\n\nFilePath: \u003Cpath> line \u003Cline>\n\u003Crelevant code snippet or pointer>\n\n#### Explanation\n\n\u003Cexplanation and references of the optional nit>\n\n#### Suggested Fix\n\n- \u003Cminor suggestions>\n\n---\n... (repeat for each nits) ...\n\n## ✅ What's Good\n\n- \u003CPositive feedback on good patterns>\n```\n\n- If there are no critical issues or suggestions or option nits or good points, just omit that section.\n- If the issue number is more than 10, summarize as \"Found 10+ critical issues/suggestions/optional nits\" and only output the first 10 items.\n- Don't compress the blank lines between sections; keep them as-is for readability.\n- If there is any issue requires code changes, append a brief follow-up question to ask whether the user wants to apply the fix(es) after the structured output. For example: \"Would you like me to use the Suggested fix(es) to address these issues?\"\n\n### Template B (no issues)\n\n```markdown\n## Code Review Summary\n✅ No issues found.\n```","131f5acf-dc8b-54ea-8c8a-12b049abb053","langgenius-dify-.agents-skills-backend-code-review",{"name":12,"description":14},"\u003Ch1>Backend Code Review\u003C/h1>\n\u003Ch2>When to use this skill\u003C/h2>\n\u003Cp>Use this skill whenever the user asks to \u003Cstrong>review, analyze, or improve\u003C/strong> backend code (e.g., \u003Ccode>.py\u003C/code>) under the \u003Ccode>api/\u003C/code> directory. Supports the following review modes:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Pending-change review\u003C/strong>: when the user asks to review current changes (inspect staged/working-tree files slated for commit to get the changes).\u003C/li>\n\u003Cli>\u003Cstrong>Code snippets review\u003C/strong>: when the user pastes code snippets (e.g., a function/class/module excerpt) into the chat and asks for a review.\u003C/li>\n\u003Cli>\u003Cstrong>File-focused review\u003C/strong>: when the user points to specific files and asks for a review of those files (one file or a small, explicit set of files, e.g., \u003Ccode>api/...\u003C/code>, \u003Ccode>api/app.py\u003C/code>).\u003C/li>\n\u003C/ul>\n\u003Cp>Do NOT use this skill when:\u003C/p>\n\u003Cul>\n\u003Cli>The request is about frontend code or UI (e.g., \u003Ccode>.tsx\u003C/code>, \u003Ccode>.ts\u003C/code>, \u003Ccode>.js\u003C/code>, \u003Ccode>web/\u003C/code>).\u003C/li>\n\u003Cli>The user is not asking for a review/analysis/improvement of backend code.\u003C/li>\n\u003Cli>The scope is not under \u003Ccode>api/\u003C/code> (unless the user explicitly asks to review backend-related changes outside \u003Ccode>api/\u003C/code>).\u003C/li>\n\u003C/ul>\n\u003Ch2>How to use this skill\u003C/h2>\n\u003Cp>Follow these steps when using this skill:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Identify the review mode\u003C/strong> (pending-change vs snippet vs file-focused) based on the user’s input. Keep the scope tight: review only what the user provided or explicitly referenced.\u003C/li>\n\u003Cli>Follow the rules defined in \u003Cstrong>Checklist\u003C/strong> to perform the review. If no Checklist rule matches, apply \u003Cstrong>General Review Rules\u003C/strong> as a fallback to perform the best-effort review.\u003C/li>\n\u003Cli>Compose the final output strictly follow the \u003Cstrong>Required Output Format\u003C/strong>.\u003C/li>\n\u003C/ol>\n\u003Cp>Notes when using this skill:\u003C/p>\n\u003Cul>\n\u003Cli>Always include actionable fixes or suggestions (including possible code snippets).\u003C/li>\n\u003Cli>Use best-effort \u003Ccode>File:Line\u003C/code> references when a file path and line numbers are available; otherwise, use the most specific identifier you can.\u003C/li>\n\u003C/ul>\n\u003Ch2>Checklist\u003C/h2>\n\u003Cul>\n\u003Cli>db schema design: if the review scope includes code/files under \u003Ccode>api/models/\u003C/code> or \u003Ccode>api/migrations/\u003C/code>, follow \u003Ca href=\"references/db-schema-rule.md\">references/db-schema-rule.md\u003C/a> to perform the review\u003C/li>\n\u003Cli>architecture: if the review scope involves controller/service/core-domain/libs/model layering, dependency direction, or moving responsibilities across modules, follow \u003Ca href=\"references/architecture-rule.md\">references/architecture-rule.md\u003C/a> to perform the review\u003C/li>\n\u003Cli>repositories abstraction: if the review scope contains table/model operations (e.g., \u003Ccode>select(...)\u003C/code>, \u003Ccode>session.execute(...)\u003C/code>, joins, CRUD) and is not under \u003Ccode>api/repositories\u003C/code>, \u003Ccode>api/core/repositories\u003C/code>, or \u003Ccode>api/extensions/*/repositories/\u003C/code>, follow \u003Ca href=\"references/repositories-rule.md\">references/repositories-rule.md\u003C/a> to perform the review\u003C/li>\n\u003Cli>sqlalchemy patterns: if the review scope involves SQLAlchemy session/query usage, db transaction/crud usage, or raw SQL usage, follow \u003Ca href=\"references/sqlalchemy-rule.md\">references/sqlalchemy-rule.md\u003C/a> to perform the review\u003C/li>\n\u003C/ul>\n\u003Ch2>General Review Rules\u003C/h2>\n\u003Ch3>1. Security Review\u003C/h3>\n\u003Cp>Check for:\u003C/p>\n\u003Cul>\n\u003Cli>SQL injection vulnerabilities\u003C/li>\n\u003Cli>Server-Side Request Forgery (SSRF)\u003C/li>\n\u003Cli>Command injection\u003C/li>\n\u003Cli>Insecure deserialization\u003C/li>\n\u003Cli>Hardcoded secrets/credentials\u003C/li>\n\u003Cli>Improper authentication/authorization\u003C/li>\n\u003Cli>Insecure direct object references\u003C/li>\n\u003C/ul>\n\u003Ch3>2. Performance Review\u003C/h3>\n\u003Cp>Check for:\u003C/p>\n\u003Cul>\n\u003Cli>N+1 queries\u003C/li>\n\u003Cli>Missing database indexes\u003C/li>\n\u003Cli>Memory leaks\u003C/li>\n\u003Cli>Blocking operations in async code\u003C/li>\n\u003Cli>Missing caching opportunities\u003C/li>\n\u003C/ul>\n\u003Ch3>3. Code Quality Review\u003C/h3>\n\u003Cp>Check for:\u003C/p>\n\u003Cul>\n\u003Cli>Code forward compatibility\u003C/li>\n\u003Cli>Code duplication (DRY violations)\u003C/li>\n\u003Cli>Functions doing too much (SRP violations)\u003C/li>\n\u003Cli>Deep nesting / complex conditionals\u003C/li>\n\u003Cli>Magic numbers/strings\u003C/li>\n\u003Cli>Poor naming\u003C/li>\n\u003Cli>Missing error handling\u003C/li>\n\u003Cli>Incomplete type coverage\u003C/li>\n\u003C/ul>\n\u003Ch3>4. Testing Review\u003C/h3>\n\u003Cp>Check for:\u003C/p>\n\u003Cul>\n\u003Cli>Missing test coverage for new code\u003C/li>\n\u003Cli>Tests that don&#39;t test behavior\u003C/li>\n\u003Cli>Flaky test patterns\u003C/li>\n\u003Cli>Missing edge cases\u003C/li>\n\u003C/ul>\n\u003Ch2>Required Output Format\u003C/h2>\n\u003Cp>When this skill invoked, the response must exactly follow one of the two templates:\u003C/p>\n\u003Ch3>Template A (any findings)\u003C/h3>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">markdown\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-markdown\">\u003Cspan class=\"hljs-section\"># Code Review Summary\u003C/span>\n\nFound \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">X\u003C/span>&gt;\u003C/span>\u003C/span> critical issues need to be fixed:\n\n\u003Cspan class=\"hljs-section\">## 🔴 Critical (Must Fix)\u003C/span>\n\n\u003Cspan class=\"hljs-section\">### 1. \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">brief\u003C/span> \u003Cspan class=\"hljs-attr\">description\u003C/span> \u003Cspan class=\"hljs-attr\">of\u003C/span> \u003Cspan class=\"hljs-attr\">the\u003C/span> \u003Cspan class=\"hljs-attr\">issue\u003C/span>&gt;\u003C/span>\u003C/span>\u003C/span>\n\nFilePath: \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">path\u003C/span>&gt;\u003C/span>\u003C/span> line \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">line\u003C/span>&gt;\u003C/span>\u003C/span>\n\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">relevant\u003C/span> \u003Cspan class=\"hljs-attr\">code\u003C/span> \u003Cspan class=\"hljs-attr\">snippet\u003C/span> \u003Cspan class=\"hljs-attr\">or\u003C/span> \u003Cspan class=\"hljs-attr\">pointer\u003C/span>&gt;\u003C/span>\u003C/span>\n\n\u003Cspan class=\"hljs-section\">#### Explanation\u003C/span>\n\n\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">detailed\u003C/span> \u003Cspan class=\"hljs-attr\">explanation\u003C/span> \u003Cspan class=\"hljs-attr\">and\u003C/span> \u003Cspan class=\"hljs-attr\">references\u003C/span> \u003Cspan class=\"hljs-attr\">of\u003C/span> \u003Cspan class=\"hljs-attr\">the\u003C/span> \u003Cspan class=\"hljs-attr\">issue\u003C/span>&gt;\u003C/span>\u003C/span>\n\n\u003Cspan class=\"hljs-section\">#### Suggested Fix\u003C/span>\n\n\u003Cspan class=\"hljs-bullet\">1.\u003C/span> \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">brief\u003C/span> \u003Cspan class=\"hljs-attr\">description\u003C/span> \u003Cspan class=\"hljs-attr\">of\u003C/span> \u003Cspan class=\"hljs-attr\">suggested\u003C/span> \u003Cspan class=\"hljs-attr\">fix\u003C/span>&gt;\u003C/span>\u003C/span>\n\u003Cspan class=\"hljs-bullet\">2.\u003C/span> \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">code\u003C/span> \u003Cspan class=\"hljs-attr\">example\u003C/span>&gt;\u003C/span>\u003C/span> (optional, omit if not applicable)\n\n---\n... (repeat for each critical issue) ...\n\nFound \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">Y\u003C/span>&gt;\u003C/span>\u003C/span> suggestions for improvement:\n\n\u003Cspan class=\"hljs-section\">## 🟡 Suggestions (Should Consider)\u003C/span>\n\n\u003Cspan class=\"hljs-section\">### 1. \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">brief\u003C/span> \u003Cspan class=\"hljs-attr\">description\u003C/span> \u003Cspan class=\"hljs-attr\">of\u003C/span> \u003Cspan class=\"hljs-attr\">the\u003C/span> \u003Cspan class=\"hljs-attr\">suggestion\u003C/span>&gt;\u003C/span>\u003C/span>\u003C/span>\n\nFilePath: \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">path\u003C/span>&gt;\u003C/span>\u003C/span> line \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">line\u003C/span>&gt;\u003C/span>\u003C/span>\n\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">relevant\u003C/span> \u003Cspan class=\"hljs-attr\">code\u003C/span> \u003Cspan class=\"hljs-attr\">snippet\u003C/span> \u003Cspan class=\"hljs-attr\">or\u003C/span> \u003Cspan class=\"hljs-attr\">pointer\u003C/span>&gt;\u003C/span>\u003C/span>\n\n\u003Cspan class=\"hljs-section\">#### Explanation\u003C/span>\n\n\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">detailed\u003C/span> \u003Cspan class=\"hljs-attr\">explanation\u003C/span> \u003Cspan class=\"hljs-attr\">and\u003C/span> \u003Cspan class=\"hljs-attr\">references\u003C/span> \u003Cspan class=\"hljs-attr\">of\u003C/span> \u003Cspan class=\"hljs-attr\">the\u003C/span> \u003Cspan class=\"hljs-attr\">suggestion\u003C/span>&gt;\u003C/span>\u003C/span>\n\n\u003Cspan class=\"hljs-section\">#### Suggested Fix\u003C/span>\n\n\u003Cspan class=\"hljs-bullet\">1.\u003C/span> \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">brief\u003C/span> \u003Cspan class=\"hljs-attr\">description\u003C/span> \u003Cspan class=\"hljs-attr\">of\u003C/span> \u003Cspan class=\"hljs-attr\">suggested\u003C/span> \u003Cspan class=\"hljs-attr\">fix\u003C/span>&gt;\u003C/span>\u003C/span>\n\u003Cspan class=\"hljs-bullet\">2.\u003C/span> \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">code\u003C/span> \u003Cspan class=\"hljs-attr\">example\u003C/span>&gt;\u003C/span>\u003C/span> (optional, omit if not applicable)\n\n---\n... (repeat for each suggestion) ...\n\nFound \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">Z\u003C/span>&gt;\u003C/span>\u003C/span> optional nits:\n\n\u003Cspan class=\"hljs-section\">## 🟢 Nits (Optional)\u003C/span>\n\u003Cspan class=\"hljs-section\">### 1. \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">brief\u003C/span> \u003Cspan class=\"hljs-attr\">description\u003C/span> \u003Cspan class=\"hljs-attr\">of\u003C/span> \u003Cspan class=\"hljs-attr\">the\u003C/span> \u003Cspan class=\"hljs-attr\">nit\u003C/span>&gt;\u003C/span>\u003C/span>\u003C/span>\n\nFilePath: \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">path\u003C/span>&gt;\u003C/span>\u003C/span> line \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">line\u003C/span>&gt;\u003C/span>\u003C/span>\n\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">relevant\u003C/span> \u003Cspan class=\"hljs-attr\">code\u003C/span> \u003Cspan class=\"hljs-attr\">snippet\u003C/span> \u003Cspan class=\"hljs-attr\">or\u003C/span> \u003Cspan class=\"hljs-attr\">pointer\u003C/span>&gt;\u003C/span>\u003C/span>\n\n\u003Cspan class=\"hljs-section\">#### Explanation\u003C/span>\n\n\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">explanation\u003C/span> \u003Cspan class=\"hljs-attr\">and\u003C/span> \u003Cspan class=\"hljs-attr\">references\u003C/span> \u003Cspan class=\"hljs-attr\">of\u003C/span> \u003Cspan class=\"hljs-attr\">the\u003C/span> \u003Cspan class=\"hljs-attr\">optional\u003C/span> \u003Cspan class=\"hljs-attr\">nit\u003C/span>&gt;\u003C/span>\u003C/span>\n\n\u003Cspan class=\"hljs-section\">#### Suggested Fix\u003C/span>\n\n\u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">minor\u003C/span> \u003Cspan class=\"hljs-attr\">suggestions\u003C/span>&gt;\u003C/span>\u003C/span>\n\n---\n... (repeat for each nits) ...\n\n\u003Cspan class=\"hljs-section\">## ✅ What&#x27;s Good\u003C/span>\n\n\u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">Positive\u003C/span> \u003Cspan class=\"hljs-attr\">feedback\u003C/span> \u003Cspan class=\"hljs-attr\">on\u003C/span> \u003Cspan class=\"hljs-attr\">good\u003C/span> \u003Cspan class=\"hljs-attr\">patterns\u003C/span>&gt;\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/div>\u003Cul>\n\u003Cli>If there are no critical issues or suggestions or option nits or good points, just omit that section.\u003C/li>\n\u003Cli>If the issue number is more than 10, summarize as &quot;Found 10+ critical issues/suggestions/optional nits&quot; and only output the first 10 items.\u003C/li>\n\u003Cli>Don&#39;t compress the blank lines between sections; keep them as-is for readability.\u003C/li>\n\u003Cli>If there is any issue requires code changes, append a brief follow-up question to ask whether the user wants to apply the fix(es) after the structured output. For example: &quot;Would you like me to use the Suggested fix(es) to address these issues?&quot;\u003C/li>\n\u003C/ul>\n\u003Ch3>Template B (no issues)\u003C/h3>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">markdown\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-markdown\">\u003Cspan class=\"hljs-section\">## Code Review Summary\u003C/span>\n✅ No issues found.\u003C/code>\u003C/pre>\u003C/div>"]