[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6K51P73MWRNWFM80SYVBST0":3,"skill-same:01M6K51P73MWRNWFM80SYVBST0":86},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":58,"commitSha":59,"skillDirectory":5,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M6K51P73MWRNWFM80SYVBST0","code-review",null,"Review code for bugs, security vulnerabilities, performance issues, and style problems. Provide actionable feedback with severity levels and fix suggestions. Use when the user asks to review, audit, or check code quality, or wants a second pair of eyes on a pull request, diff, or code change.","anjijava16\u002FAgent_Skills","anjijava16","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5849522?v=4","01M6JZVCV62H56AYM59D11EGAW","Anjaiah Methuku","01M6JZVD04H0QP910VNCZMJFAG",0,"MIT","https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Fcode-review\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"review","code review","code","bugs","for","with","actionable","style","diff","use","fix","check","feedback","severity","audit","pull","issues","code quality","change","performance","2026-11-10 10:12:30",false,"---\nname: code-review\ndescription: >\n  Review code for bugs, security vulnerabilities, performance issues, and style\n  problems. Provide actionable feedback with severity levels and fix suggestions.\n  Use when the user asks to review, audit, or check code quality, or wants a\n  second pair of eyes on a pull request, diff, or code change.\nlicense: MIT\nmetadata:\n  author: welcome\n  version: \"1.0\"\n---\n\n# Code Review\n\n## When to use this skill\n\nUse this skill when the user needs to:\n- Review code for correctness, bugs, or logic errors\n- Audit code for security vulnerabilities\n- Check for performance issues or anti-patterns\n- Review a pull request or diff\n- Get feedback on code style and maintainability\n- Validate error handling and edge cases\n\n## Review Process\n\nFollow this checklist for every review. Check categories in order of severity.\n\n### 1. Security (Critical)\n\n- [ ] **SQL injection**: All queries use parameterized statements, never string concatenation\n- [ ] **XSS**: User input is escaped\u002Fsanitized before rendering in HTML\n- [ ] **Authentication**: Every endpoint that needs auth has it; tokens are validated properly\n- [ ] **Authorization**: Users can only access their own resources; IDOR checks are in place\n- [ ] **Secrets**: No hardcoded passwords, API keys, or tokens in source code\n- [ ] **Input validation**: All external input is validated at system boundaries\n- [ ] **Error messages**: Errors don't leak internal details (stack traces, DB schemas, file paths)\n- [ ] **Dependencies**: No known vulnerable versions (check CVEs for major deps)\n\n### 2. Correctness (High)\n\n- [ ] **Logic errors**: Conditions, loops, and branches produce correct results for all inputs\n- [ ] **Edge cases**: Empty inputs, null values, boundary conditions, zero-length collections\n- [ ] **Off-by-one**: Array indices, loop bounds, pagination offsets\n- [ ] **Race conditions**: Shared state in concurrent code is properly synchronized\n- [ ] **Error handling**: Errors are caught at the right level; resources are cleaned up (files, connections)\n- [ ] **Type safety**: No implicit type coercions that could cause silent failures\n\n### 3. Performance (Medium)\n\n- [ ] **N+1 queries**: Database queries inside loops; should be batched or joined\n- [ ] **Unnecessary computation**: Work done inside loops that could be hoisted out\n- [ ] **Memory**: Large datasets loaded entirely into memory when streaming would work\n- [ ] **Caching**: Repeated expensive computations that could be cached\n- [ ] **Algorithmic complexity**: O(n²) or worse where O(n log n) or O(n) is possible\n\n### 4. Maintainability (Low)\n\n- [ ] **Naming**: Variables and functions have clear, descriptive names\n- [ ] **Dead code**: Unused imports, unreachable branches, commented-out code\n- [ ] **Duplication**: Repeated logic that should be extracted into a function\n- [ ] **Complexity**: Functions doing too many things; deeply nested conditionals\n- [ ] **Consistency**: Follows the project's existing patterns and conventions\n\n## Output Format\n\nFor each finding, use this structure:\n\n```markdown\n### [SEVERITY] Brief title\n\n**File**: `path\u002Fto\u002Ffile.py` line 42-48\n**Category**: Security | Correctness | Performance | Maintainability\n\n**Problem**: Clear description of what's wrong and why it matters.\n\n**Suggestion**:\n```python\n# Before (problematic)\nquery = f\"SELECT * FROM users WHERE id = {user_id}\"\n\n# After (fixed)\ncursor.execute(\"SELECT * FROM users WHERE id = %s\", (user_id,))\n```\n```\n\nSeverity levels:\n- **CRITICAL**: Security vulnerability or data loss risk. Must fix before merge.\n- **HIGH**: Bug that will cause incorrect behavior. Should fix before merge.\n- **MEDIUM**: Performance issue or code smell. Fix soon.\n- **LOW**: Style or maintainability suggestion. Nice to have.\n\n## Review Summary Template\n\nAfter reviewing all code, provide a summary:\n\n```markdown\n## Review Summary\n\n**Overall**: APPROVE \u002F REQUEST CHANGES \u002F NEEDS DISCUSSION\n\n**Findings**: X critical, Y high, Z medium, W low\n\n### Critical\u002FHigh Items (must address)\n1. [Brief description + location]\n\n### Medium Items (should address)\n1. [Brief description + location]\n\n### Low Items (optional)\n1. [Brief description + location]\n\n### Positive Observations\n- [Good patterns or practices noticed]\n```\n\n## Language-Specific Checks\n\n### Python\n- Mutable default arguments (`def f(items=[])` — use `None` instead)\n- Bare `except:` clauses (catch specific exceptions)\n- `==` vs `is` for None checks (use `is None`)\n- f-strings with user input in SQL\u002Fshell commands\n\n### JavaScript\u002FTypeScript\n- `==` vs `===` (prefer strict equality)\n- Missing `await` on async functions\n- Prototype pollution via unchecked object spread\n- `innerHTML` with user content (use `textContent`)\n\n### Go\n- Unchecked errors (`err` assigned but not checked)\n- Goroutine leaks (unbuffered channels, missing context cancellation)\n- Race conditions on shared maps\n\n### Rust\n- `unwrap()` in production code (use `?` or handle the error)\n- Missing `Send`\u002F`Sync` bounds for concurrent types\n\n## Gotchas\n\n- **Review the change, not the whole file**: Focus on what's new or modified. Don't nitpick existing code unless it interacts with the change.\n- **Severity matters more than count**: One critical security issue outweighs ten style suggestions. Lead with the most important findings.\n- **Suggest, don't rewrite**: Provide enough of a fix to be clear, but don't refactor their entire approach unless asked.\n- **Check the tests**: If there are tests, verify they actually test the behavior, not just run without errors. Missing tests for new behavior is a finding.\n- **Consider the context**: A quick prototype has different standards than production code. Calibrate accordingly.\n\n## Validation\n\nAfter completing a review:\n1. Every finding has a file location and a clear suggestion\n2. Severity levels are consistent (don't call style issues \"critical\")\n3. The summary accurately reflects the findings\n4. Positive patterns are acknowledged, not just problems\n","# Code Review\n\n## When to use this skill\n\nUse this skill when the user needs to:\n- Review code for correctness, bugs, or logic errors\n- Audit code for security vulnerabilities\n- Check for performance issues or anti-patterns\n- Review a pull request or diff\n- Get feedback on code style and maintainability\n- Validate error handling and edge cases\n\n## Review Process\n\nFollow this checklist for every review. Check categories in order of severity.\n\n### 1. Security (Critical)\n\n- [ ] **SQL injection**: All queries use parameterized statements, never string concatenation\n- [ ] **XSS**: User input is escaped\u002Fsanitized before rendering in HTML\n- [ ] **Authentication**: Every endpoint that needs auth has it; tokens are validated properly\n- [ ] **Authorization**: Users can only access their own resources; IDOR checks are in place\n- [ ] **Secrets**: No hardcoded passwords, API keys, or tokens in source code\n- [ ] **Input validation**: All external input is validated at system boundaries\n- [ ] **Error messages**: Errors don't leak internal details (stack traces, DB schemas, file paths)\n- [ ] **Dependencies**: No known vulnerable versions (check CVEs for major deps)\n\n### 2. Correctness (High)\n\n- [ ] **Logic errors**: Conditions, loops, and branches produce correct results for all inputs\n- [ ] **Edge cases**: Empty inputs, null values, boundary conditions, zero-length collections\n- [ ] **Off-by-one**: Array indices, loop bounds, pagination offsets\n- [ ] **Race conditions**: Shared state in concurrent code is properly synchronized\n- [ ] **Error handling**: Errors are caught at the right level; resources are cleaned up (files, connections)\n- [ ] **Type safety**: No implicit type coercions that could cause silent failures\n\n### 3. Performance (Medium)\n\n- [ ] **N+1 queries**: Database queries inside loops; should be batched or joined\n- [ ] **Unnecessary computation**: Work done inside loops that could be hoisted out\n- [ ] **Memory**: Large datasets loaded entirely into memory when streaming would work\n- [ ] **Caching**: Repeated expensive computations that could be cached\n- [ ] **Algorithmic complexity**: O(n²) or worse where O(n log n) or O(n) is possible\n\n### 4. Maintainability (Low)\n\n- [ ] **Naming**: Variables and functions have clear, descriptive names\n- [ ] **Dead code**: Unused imports, unreachable branches, commented-out code\n- [ ] **Duplication**: Repeated logic that should be extracted into a function\n- [ ] **Complexity**: Functions doing too many things; deeply nested conditionals\n- [ ] **Consistency**: Follows the project's existing patterns and conventions\n\n## Output Format\n\nFor each finding, use this structure:\n\n```markdown\n### [SEVERITY] Brief title\n\n**File**: `path\u002Fto\u002Ffile.py` line 42-48\n**Category**: Security | Correctness | Performance | Maintainability\n\n**Problem**: Clear description of what's wrong and why it matters.\n\n**Suggestion**:\n```python\n# Before (problematic)\nquery = f\"SELECT * FROM users WHERE id = {user_id}\"\n\n# After (fixed)\ncursor.execute(\"SELECT * FROM users WHERE id = %s\", (user_id,))\n```\n```\n\nSeverity levels:\n- **CRITICAL**: Security vulnerability or data loss risk. Must fix before merge.\n- **HIGH**: Bug that will cause incorrect behavior. Should fix before merge.\n- **MEDIUM**: Performance issue or code smell. Fix soon.\n- **LOW**: Style or maintainability suggestion. Nice to have.\n\n## Review Summary Template\n\nAfter reviewing all code, provide a summary:\n\n```markdown\n## Review Summary\n\n**Overall**: APPROVE \u002F REQUEST CHANGES \u002F NEEDS DISCUSSION\n\n**Findings**: X critical, Y high, Z medium, W low\n\n### Critical\u002FHigh Items (must address)\n1. [Brief description + location]\n\n### Medium Items (should address)\n1. [Brief description + location]\n\n### Low Items (optional)\n1. [Brief description + location]\n\n### Positive Observations\n- [Good patterns or practices noticed]\n```\n\n## Language-Specific Checks\n\n### Python\n- Mutable default arguments (`def f(items=[])` — use `None` instead)\n- Bare `except:` clauses (catch specific exceptions)\n- `==` vs `is` for None checks (use `is None`)\n- f-strings with user input in SQL\u002Fshell commands\n\n### JavaScript\u002FTypeScript\n- `==` vs `===` (prefer strict equality)\n- Missing `await` on async functions\n- Prototype pollution via unchecked object spread\n- `innerHTML` with user content (use `textContent`)\n\n### Go\n- Unchecked errors (`err` assigned but not checked)\n- Goroutine leaks (unbuffered channels, missing context cancellation)\n- Race conditions on shared maps\n\n### Rust\n- `unwrap()` in production code (use `?` or handle the error)\n- Missing `Send`\u002F`Sync` bounds for concurrent types\n\n## Gotchas\n\n- **Review the change, not the whole file**: Focus on what's new or modified. Don't nitpick existing code unless it interacts with the change.\n- **Severity matters more than count**: One critical security issue outweighs ten style suggestions. Lead with the most important findings.\n- **Suggest, don't rewrite**: Provide enough of a fix to be clear, but don't refactor their entire approach unless asked.\n- **Check the tests**: If there are tests, verify they actually test the behavior, not just run without errors. Missing tests for new behavior is a finding.\n- **Consider the context**: A quick prototype has different standards than production code. Calibrate accordingly.\n\n## Validation\n\nAfter completing a review:\n1. Every finding has a file location and a clear suggestion\n2. Severity levels are consistent (don't call style issues \"critical\")\n3. The summary accurately reflects the findings\n4. Positive patterns are acknowledged, not just problems\n",{"name":5,"license":15,"metadata":54,"description":57},{"author":55,"version":56},"welcome","1.0","Review code for bugs, security vulnerabilities, performance issues, and style problems. Provide actionable feedback with severity levels and fix suggestions. Use when the user asks to review, audit, or check code quality, or wants a second pair of eyes on a pull request, diff, or code change.\n","develop","d85a5e71a5e3e82038a005e5dfa50b6a78cafa7e",1,"https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills","https:\u002F\u002Fgithub.com\u002Fanjijava16","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fanjaiahmethuku\u002F","AI & Data Engineer ■ Real-time Streaming ■ BigData ■ Machine Learning ■ CLOUD ■ JAVA ■ PYTHON ■ Blog ■  Remain Curious And Keep Learning .....","2026-10-08 08:03:12",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add anjijava16\u002FAgent_Skills --skill code-review",{"tool":72,"command":73},"bunx","bunx skills add anjijava16\u002FAgent_Skills --skill code-review",{"tool":75,"command":76},"pnpm","pnpm dlx skills add anjijava16\u002FAgent_Skills --skill code-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Fcode-review\u002FSKILL.md",true,[80],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002FREFERENCE.md","REFERENCE","参考文档",3657,"https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Fcode-review\u002Freferences\u002FREFERENCE.md",[87,105,133,152,169,199],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":49},"01M6K52P5M72CRGAHJTVAWSNRA","roll-dice","Roll dice using a random number generator. Use when asked to roll a die (d4, d6, d8, d10, d12, d20, d100), roll multiple dice, or generate random dice rolls for tabletop RPGs, board games, or decision making.","https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Froll-dice\u002FSKILL.md",[],[94,95,55,96,97,98,99,38,100,101,102,103,104,33],"roll dice","dice","generate","tabletop","decision","board","decision making","random","games","generator","number",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":114,"publishedAt":49},"01M6K52JJKRBM0A5EXT12G87RW","pdf-service","Extract text and tables from PDFs, fill PDF forms, merge and split PDF files, and convert PDFs to other formats. Use when the user mentions PDFs, document extraction, form filling, or needs to manipulate PDF files.","https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Fpdf-service\u002FSKILL.md",[111],{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[115,116,117,118,119,55,120,121,122,123,124,38,125,126,127,128,129,130,131,132],"PDF","service","pdf service","python","merge","extraction","convert","text","user","extract","files","document","forms","form","formats","split","pip","fill",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":140,"publishedAt":49},"01M6K52EVG86E60AQFMJAZ1G09","pdf-processing","Extract text, tables, and metadata from PDF documents. Parse scanned PDFs with OCR, analyze PDF structure, and convert PDFs to other formats. Use when the user needs to read, parse, or extract content from PDF files, even if they just say \"get the text from this document.\"","https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Fpdf-processing\u002FSKILL.md",[139],{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},[115,141,142,118,143,144,121,145,122,146,147,38,148,125,126,149,150,151,34,131],"pdf processing","processing","documents","ocr","analyze","just","read","say","structure","get","tesseract",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":161,"publishedAt":49},"01M6K52A7EC35DTS48PP0VX5TB","my-skill","A template skill for [describe task]. Use when the user asks to [trigger phrases].","https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Fmy-skill\u002FSKILL.md",[158],{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[162,163,164,165,123,38,166,167,168,33],"my skill","my","template skill","template","task","trigger","name",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":184,"publishedAt":49},"01M6K51Y5QVHMDX3F01JJRRV33","data-analysis","Analyze datasets — compute summary statistics, clean messy data, add derived columns, detect outliers, and generate charts. Use when the user has a CSV, TSV, Excel, or JSON data file and wants to explore, transform, visualize, or understand the data, even if they don't explicitly mention \"analysis.\"","https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Fdata-analysis\u002FSKILL.md",[175,178,181],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":179,"categoryName":180,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":182,"categoryName":183,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师",[185,186,187,188,118,189,55,96,190,191,192,193,145,38,194,195,196,197,198,131],"data analysis","data","analysis","xlsx","visualize","file","csv","Charts","explore","clean","statistics","add","transform","columns",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":49},"01M6K51JB3NN0A7WVZHNYAZ35G","analyze-csv-files","Analyze CSV files — load, inspect, clean, filter, aggregate, and summarize tabular data from CSV and TSV files. Use when the user has a CSV file and wants to understand its contents, find patterns, compute statistics, filter rows, or answer questions about the data, even if they just say \"look at this spreadsheet\" or \"what's in this file.\"","https:\u002F\u002Fgithub.com\u002Fanjijava16\u002FAgent_Skills\u002Fblob\u002Fdevelop\u002Fanalyze-csv-files\u002FSKILL.md",[205],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},[191,145,125,207,118,190,208,146,209,38,148,194,210,195,211,212,213,214,131,215],"analyze csv files","spreadsheet","find","compute","filter","questions","answer","inspect","load"]