evizi-kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +506 -0
- package/kits/agent/.agent/skills/claude-code-subagent-creator/SKILL.md +292 -0
- package/kits/agent/.agent/skills/claude-code-subagent-creator/references/claude-code-subagent-configuration.md +158 -0
- package/kits/agent/.agent/skills/claude-code-subagent-creator/templates/subagent-profile.template.md +26 -0
- package/kits/agent/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/kits/agent/.agent/skills/skill-creator/SKILL.md +485 -0
- package/kits/agent/.agent/skills/skill-creator/agents/analyzer.md +274 -0
- package/kits/agent/.agent/skills/skill-creator/agents/comparator.md +202 -0
- package/kits/agent/.agent/skills/skill-creator/agents/grader.md +223 -0
- package/kits/agent/.agent/skills/skill-creator/assets/eval_review.html +146 -0
- package/kits/agent/.agent/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/kits/agent/.agent/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/kits/agent/.agent/skills/skill-creator/references/schemas.md +430 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/__init__.py +0 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/generate_report.py +326 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/improve_description.py +247 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/package_skill.py +136 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/run_eval.py +310 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/run_loop.py +328 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/utils.py +47 -0
- package/kits/agent/manifest.json +10 -0
- package/kits/claude/.claude/agents/code-pusher.md +46 -0
- package/kits/claude/.claude/agents/feature-document-updater.md +37 -0
- package/kits/claude/.claude/agents/self-reviewer.md +32 -0
- package/kits/claude/.claude/agents/web-auto-agentic-workflow-initializer.md +42 -0
- package/kits/claude/.claude/agents/web-auto-assisted-fix-and-runner.md +36 -0
- package/kits/claude/.claude/agents/web-auto-chrome-devtools-selector-extractor.md +36 -0
- package/kits/claude/.claude/agents/web-auto-coder.md +33 -0
- package/kits/claude/.claude/agents/web-auto-fe-selector-extractor.md +31 -0
- package/kits/claude/.claude/agents/web-auto-fix-and-runner.md +35 -0
- package/kits/claude/.claude/agents/web-auto-lessons-learned-extractor.md +34 -0
- package/kits/claude/.claude/agents/web-auto-playwright-mcp-selector-extractor.md +37 -0
- package/kits/claude/.claude/agents/web-auto-source-instructions-updater.md +43 -0
- package/kits/claude/.claude/agents/web-auto-test-cases-generator.md +29 -0
- package/kits/claude/.claude/agents/web-auto-ticket-designer.md +35 -0
- package/kits/claude/.claude/agents/web-auto-ticket-playbook-planner.md +36 -0
- package/kits/claude/.claude/agents/web-auto.md +382 -0
- package/kits/claude/.claude/skills/claude-code-subagent-creator/SKILL.md +292 -0
- package/kits/claude/.claude/skills/claude-code-subagent-creator/references/claude-code-subagent-configuration.md +158 -0
- package/kits/claude/.claude/skills/claude-code-subagent-creator/templates/subagent-profile.template.md +26 -0
- package/kits/claude/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/kits/claude/.claude/skills/skill-creator/SKILL.md +485 -0
- package/kits/claude/.claude/skills/skill-creator/agents/analyzer.md +274 -0
- package/kits/claude/.claude/skills/skill-creator/agents/comparator.md +202 -0
- package/kits/claude/.claude/skills/skill-creator/agents/grader.md +223 -0
- package/kits/claude/.claude/skills/skill-creator/assets/eval_review.html +146 -0
- package/kits/claude/.claude/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/kits/claude/.claude/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/kits/claude/.claude/skills/skill-creator/references/schemas.md +430 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/__init__.py +0 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/generate_report.py +326 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/improve_description.py +247 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/package_skill.py +136 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/run_eval.py +310 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/run_loop.py +328 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/utils.py +47 -0
- package/kits/claude/manifest.json +10 -0
- package/kits/cursor/.cursor/agents/code-pusher.agent.md +43 -0
- package/kits/cursor/.cursor/agents/feature-document-updater.agent.md +34 -0
- package/kits/cursor/.cursor/agents/self-reviewer.agent.md +29 -0
- package/kits/cursor/.cursor/agents/web-auto-agentic-workflow-initializer.agent.md +37 -0
- package/kits/cursor/.cursor/agents/web-auto-assisted-fix-and-runner.agent.md +33 -0
- package/kits/cursor/.cursor/agents/web-auto-chrome-devtools-selector-extractor.agent.md +31 -0
- package/kits/cursor/.cursor/agents/web-auto-coder.agent.md +30 -0
- package/kits/cursor/.cursor/agents/web-auto-fe-selector-extractor.agent.md +28 -0
- package/kits/cursor/.cursor/agents/web-auto-fix-and-runner.agent.md +32 -0
- package/kits/cursor/.cursor/agents/web-auto-lessons-learned-extractor.agent.md +31 -0
- package/kits/cursor/.cursor/agents/web-auto-playwright-mcp-selector-extractor.agent.md +32 -0
- package/kits/cursor/.cursor/agents/web-auto-source-instructions-updater.agent.md +40 -0
- package/kits/cursor/.cursor/agents/web-auto-test-cases-generator.agent.md +26 -0
- package/kits/cursor/.cursor/agents/web-auto-ticket-designer.agent.md +32 -0
- package/kits/cursor/.cursor/agents/web-auto-ticket-playbook-planner.agent.md +33 -0
- package/kits/cursor/.cursor/agents/web-auto.agent.md +379 -0
- package/kits/cursor/.cursor/skills/claude-code-subagent-creator/SKILL.md +292 -0
- package/kits/cursor/.cursor/skills/claude-code-subagent-creator/references/claude-code-subagent-configuration.md +158 -0
- package/kits/cursor/.cursor/skills/claude-code-subagent-creator/templates/subagent-profile.template.md +26 -0
- package/kits/cursor/.cursor/skills/skill-creator/LICENSE.txt +202 -0
- package/kits/cursor/.cursor/skills/skill-creator/SKILL.md +485 -0
- package/kits/cursor/.cursor/skills/skill-creator/agents/analyzer.md +274 -0
- package/kits/cursor/.cursor/skills/skill-creator/agents/comparator.md +202 -0
- package/kits/cursor/.cursor/skills/skill-creator/agents/grader.md +223 -0
- package/kits/cursor/.cursor/skills/skill-creator/assets/eval_review.html +146 -0
- package/kits/cursor/.cursor/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/kits/cursor/.cursor/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/kits/cursor/.cursor/skills/skill-creator/references/schemas.md +430 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/__init__.py +0 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/generate_report.py +326 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/improve_description.py +247 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/package_skill.py +136 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/run_eval.py +310 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/run_loop.py +328 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/utils.py +47 -0
- package/kits/cursor/manifest.json +10 -0
- package/kits/github/.github/agents/code-pusher.agent.md +45 -0
- package/kits/github/.github/agents/feature-document-updater.agent.md +36 -0
- package/kits/github/.github/agents/self-reviewer.agent.md +31 -0
- package/kits/github/.github/agents/web-auto-agentic-workflow-initializer.agent.md +39 -0
- package/kits/github/.github/agents/web-auto-assisted-fix-and-runner.agent.md +35 -0
- package/kits/github/.github/agents/web-auto-chrome-devtools-selector-extractor.agent.md +33 -0
- package/kits/github/.github/agents/web-auto-coder.agent.md +32 -0
- package/kits/github/.github/agents/web-auto-fe-selector-extractor.agent.md +30 -0
- package/kits/github/.github/agents/web-auto-fix-and-runner.agent.md +34 -0
- package/kits/github/.github/agents/web-auto-lessons-learned-extractor.agent.md +33 -0
- package/kits/github/.github/agents/web-auto-playwright-mcp-selector-extractor.agent.md +34 -0
- package/kits/github/.github/agents/web-auto-source-instructions-updater.agent.md +42 -0
- package/kits/github/.github/agents/web-auto-test-cases-generator.agent.md +28 -0
- package/kits/github/.github/agents/web-auto-ticket-designer.agent.md +34 -0
- package/kits/github/.github/agents/web-auto-ticket-playbook-creator.agent.md +35 -0
- package/kits/github/.github/agents/web-auto.agent.md +382 -0
- package/kits/github/.github/skills/claude-code-subagent-creator/SKILL.md +310 -0
- package/kits/github/.github/skills/claude-code-subagent-creator/references/claude-code-subagent-configuration.md +158 -0
- package/kits/github/.github/skills/claude-code-subagent-creator/templates/subagent-profile.template.md +37 -0
- package/kits/github/.github/skills/skill-creator/LICENSE.txt +202 -0
- package/kits/github/.github/skills/skill-creator/SKILL.md +485 -0
- package/kits/github/.github/skills/skill-creator/agents/analyzer.md +274 -0
- package/kits/github/.github/skills/skill-creator/agents/comparator.md +202 -0
- package/kits/github/.github/skills/skill-creator/agents/grader.md +223 -0
- package/kits/github/.github/skills/skill-creator/assets/eval_review.html +146 -0
- package/kits/github/.github/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/kits/github/.github/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/kits/github/.github/skills/skill-creator/references/schemas.md +430 -0
- package/kits/github/.github/skills/skill-creator/scripts/__init__.py +0 -0
- package/kits/github/.github/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/kits/github/.github/skills/skill-creator/scripts/generate_report.py +326 -0
- package/kits/github/.github/skills/skill-creator/scripts/improve_description.py +247 -0
- package/kits/github/.github/skills/skill-creator/scripts/package_skill.py +136 -0
- package/kits/github/.github/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/kits/github/.github/skills/skill-creator/scripts/run_eval.py +310 -0
- package/kits/github/.github/skills/skill-creator/scripts/run_loop.py +328 -0
- package/kits/github/.github/skills/skill-creator/scripts/utils.py +47 -0
- package/kits/github/manifest.json +10 -0
- package/kits/shared/docs/ai-code-review.md +440 -0
- package/kits/shared/docs/increase-unit-test-coverage.md +77 -0
- package/kits/shared/docs/pr-review-agent.md +501 -0
- package/kits/shared/docs/self-review-agent.md +246 -0
- package/kits/shared/docs/web-auto-agentic-workflow.md +506 -0
- package/kits/shared/manifest.json +11 -0
- package/kits/shared/skills/fix-automation-tests/SKILL.md +280 -0
- package/kits/shared/skills/fix-automation-tests/scripts/fetch_pr_changes.py +300 -0
- package/kits/shared/skills/fix-automation-tests/templates/impact-report.template.md +42 -0
- package/kits/shared/skills/increase-unit-test-coverage/SKILL.md +117 -0
- package/kits/shared/skills/increase-unit-test-coverage/scripts/filter_low_coverage.py +447 -0
- package/kits/shared/skills/pr-review/SKILL.md +200 -0
- package/kits/shared/skills/pr-review/references/automation.md +62 -0
- package/kits/shared/skills/pr-review/references/backend.md +95 -0
- package/kits/shared/skills/pr-review/references/frontend.md +103 -0
- package/kits/shared/skills/pr-review/references/mobile.md +108 -0
- package/kits/shared/skills/pr-review/references/output-schema.md +130 -0
- package/kits/shared/skills/pr-review/scripts/post-review.py +1395 -0
- package/kits/shared/skills/push-code/SKILL.md +176 -0
- package/kits/shared/skills/self-review/SKILL.md +234 -0
- package/kits/shared/skills/self-review/evals/evals.json +23 -0
- package/kits/shared/skills/self-review/references/automation.md +62 -0
- package/kits/shared/skills/self-review/references/backend.md +95 -0
- package/kits/shared/skills/self-review/references/frontend.md +103 -0
- package/kits/shared/skills/self-review/references/mobile.md +108 -0
- package/kits/shared/skills/self-review/templates/issues.template.md +72 -0
- package/kits/shared/skills/update-feature-document/SKILL.md +156 -0
- package/kits/shared/skills/update-feature-document/templates/delta.template.yaml +58 -0
- package/kits/shared/skills/update-feature-document/templates/feature.template.md +25 -0
- package/kits/shared/skills/web-auto-assisted-fix-and-run/SKILL.md +130 -0
- package/kits/shared/skills/web-auto-assisted-fix-and-run/references/resolve-api-error.md +108 -0
- package/kits/shared/skills/web-auto-assisted-fix-and-run/references/resolve-selector.md +60 -0
- package/kits/shared/skills/web-auto-assisted-fix-and-run/templates/issues-resolution-report-append.template.md +54 -0
- package/kits/shared/skills/web-auto-chrome-devtools-mcp-extract-selectors/SKILL.md +284 -0
- package/kits/shared/skills/web-auto-coding/SKILL.md +152 -0
- package/kits/shared/skills/web-auto-extract-lessons-learned/SKILL.md +168 -0
- package/kits/shared/skills/web-auto-extract-lessons-learned/templates/lessons-learned.template.md +115 -0
- package/kits/shared/skills/web-auto-fe-extract-selectors/SKILL.md +282 -0
- package/kits/shared/skills/web-auto-fe-extract-selectors/evals/evals.json +23 -0
- package/kits/shared/skills/web-auto-fix-and-run-test/SKILL.md +183 -0
- package/kits/shared/skills/web-auto-fix-and-run-test/templates/issues-resolution-report.template.md +77 -0
- package/kits/shared/skills/web-auto-generate-best-practices/SKILL.md +123 -0
- package/kits/shared/skills/web-auto-generate-instructions/SKILL.md +200 -0
- package/kits/shared/skills/web-auto-generate-instructions/evals/evals.json +23 -0
- package/kits/shared/skills/web-auto-generate-instructions/references/analysis-guide.md +145 -0
- package/kits/shared/skills/web-auto-generate-instructions/templates/web-auto-instructions.template.md +184 -0
- package/kits/shared/skills/web-auto-generate-project-blueprint/SKILL.md +181 -0
- package/kits/shared/skills/web-auto-generate-project-blueprint/evals/evals.json +57 -0
- package/kits/shared/skills/web-auto-generate-project-blueprint/templates/web-auto-project-blueprint.template.md +161 -0
- package/kits/shared/skills/web-auto-playwright-mcp-extract-selectors/SKILL.md +293 -0
- package/kits/shared/skills/web-auto-test-cases/SKILL.md +138 -0
- package/kits/shared/skills/web-auto-test-cases/evals/evals.json +129 -0
- package/kits/shared/skills/web-auto-test-cases/templates/test-cases.template.md +53 -0
- package/kits/shared/skills/web-auto-ticket-design/SKILL.md +199 -0
- package/kits/shared/skills/web-auto-ticket-design/templates/ticket-design.template.md +138 -0
- package/kits/shared/skills/web-auto-ticket-playbook/SKILL.md +218 -0
- package/kits/shared/skills/web-auto-ticket-playbook/evals/evals.json +23 -0
- package/kits/shared/skills/web-auto-ticket-playbook/templates/ticket-playbook.template.md +148 -0
- package/kits/shared/skills/web-auto-update-source-instructions/SKILL.md +156 -0
- package/kits/shared/skills/web-auto-update-source-instructions/evals/evals.json +22 -0
- package/kits/shared/skills/workspace-ai-nav-creator/SKILL.md +168 -0
- package/kits/shared/skills/workspace-ai-nav-creator/templates/agents-md.template.md +112 -0
- package/kits/shared/skills/workspace-ai-nav-creator/templates/claude-md.template.md +86 -0
- package/package.json +16 -0
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
# AI Code Review Skills
|
|
2
|
+
|
|
3
|
+
Automated code review skills for AI agents to perform PR reviews and self-reviews before creating pull requests.
|
|
4
|
+
|
|
5
|
+
## 📚 Learn About Agent Skills
|
|
6
|
+
|
|
7
|
+
Before using these skills, we recommend learning about how agent skills work:
|
|
8
|
+
|
|
9
|
+
👉 **[Agent Skills with Anthropic - DeepLearning.AI](https://learn.deeplearning.ai/courses/agent-skills-with-anthropic/lesson/ldn5c3/introduction)**
|
|
10
|
+
|
|
11
|
+
This free course covers:
|
|
12
|
+
- How skills work and best practices for creating them
|
|
13
|
+
- Progressive disclosure: Skills are loaded into context only when needed
|
|
14
|
+
- Using skills with different agents (Claude AI, Claude Code, Claude Agent SDK)
|
|
15
|
+
- Combining skills with MCP and sub-agents
|
|
16
|
+
|
|
17
|
+
## 🎯 Available Skills
|
|
18
|
+
|
|
19
|
+
This repository contains two code review skills: [AI Code Review](https://gitea.evizi.com/ai/design/src/branch/ai-code-review/)
|
|
20
|
+
|
|
21
|
+
### 1. PR Review Skill (`pr-review`)
|
|
22
|
+
Reviews pull request code changes and creates inline comments on Git platforms (GitHub, Gitea, GitLab, Bitbucket).
|
|
23
|
+
|
|
24
|
+
**Triggers on:**
|
|
25
|
+
- "Review PR #42"
|
|
26
|
+
- "Please review pull request 123"
|
|
27
|
+
- "Can you check PR number 15?"
|
|
28
|
+
- "Review the changes in pull request #8"
|
|
29
|
+
|
|
30
|
+
📖 **[Full Documentation](./documents/pr-review-agent/document.md)**
|
|
31
|
+
|
|
32
|
+
### 2. Self Review Skill (`self-review`)
|
|
33
|
+
Performs automated pre-PR code review with a clear Ready/Not Ready verdict for PR creation.
|
|
34
|
+
|
|
35
|
+
**Triggers on:**
|
|
36
|
+
- "Self-review for my code changes"
|
|
37
|
+
- "Check my code before PR"
|
|
38
|
+
- "Review my changes"
|
|
39
|
+
- "Is my code ready for PR?"
|
|
40
|
+
- "self-review"
|
|
41
|
+
|
|
42
|
+
📖 **[Full Documentation](./documents/self-review-agent/document.md)**
|
|
43
|
+
|
|
44
|
+
## 🚀 Quick Start
|
|
45
|
+
|
|
46
|
+
### Installation
|
|
47
|
+
|
|
48
|
+
**Option 1: Clone these skills to your project**
|
|
49
|
+
|
|
50
|
+
**For Cursor IDE:**
|
|
51
|
+
|
|
52
|
+
*macOS/Linux:*
|
|
53
|
+
```bash
|
|
54
|
+
# Navigate to your project directory
|
|
55
|
+
|
|
56
|
+
# Clone and install skills
|
|
57
|
+
rm -rf temp-skills
|
|
58
|
+
git clone -b ai-code-review https://gitea.evizi.com/ai/design.git temp-skills
|
|
59
|
+
mkdir -p .cursor
|
|
60
|
+
cp -r temp-skills/skills .cursor/
|
|
61
|
+
cp temp-skills/project.config.json .cursor/
|
|
62
|
+
rm -rf temp-skills
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
*Windows (PowerShell):*
|
|
66
|
+
```powershell
|
|
67
|
+
# Navigate to your project directory
|
|
68
|
+
|
|
69
|
+
# Clone and install skills
|
|
70
|
+
Remove-Item -Recurse -Force temp-skills -ErrorAction SilentlyContinue
|
|
71
|
+
git clone -b ai-code-review https://gitea.evizi.com/ai/design.git temp-skills
|
|
72
|
+
New-Item -ItemType Directory -Force -Path .cursor | Out-Null
|
|
73
|
+
Copy-Item -Recurse -Force temp-skills\skills .cursor\
|
|
74
|
+
Copy-Item -Force temp-skills\project.config.json .cursor\
|
|
75
|
+
Remove-Item -Recurse -Force temp-skills
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**For GitHub Copilot:**
|
|
79
|
+
|
|
80
|
+
*macOS/Linux:*
|
|
81
|
+
```bash
|
|
82
|
+
# Navigate to your project directory
|
|
83
|
+
cd /path/to/your/project
|
|
84
|
+
|
|
85
|
+
# Clone and install skills
|
|
86
|
+
rm -rf temp-skills
|
|
87
|
+
git clone -b ai-code-review https://gitea.evizi.com/ai/design.git temp-skills
|
|
88
|
+
mkdir -p .github
|
|
89
|
+
cp -r temp-skills/skills .github/
|
|
90
|
+
cp -r temp-skills/project.config.json .github/
|
|
91
|
+
rm -rf temp-skills
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
*Windows (PowerShell):*
|
|
95
|
+
```powershell
|
|
96
|
+
# Navigate to your project directory
|
|
97
|
+
cd C:\path\to\your\project
|
|
98
|
+
|
|
99
|
+
# Clone and install skills
|
|
100
|
+
Remove-Item -Recurse -Force temp-skills -ErrorAction SilentlyContinue
|
|
101
|
+
git clone -b ai-code-review https://gitea.evizi.com/ai/design.git temp-skills
|
|
102
|
+
New-Item -ItemType Directory -Force -Path .github | Out-Null
|
|
103
|
+
Copy-Item -Recurse -Force temp-skills\skills .github\
|
|
104
|
+
Copy-Item -Force temp-skills\project.config.json .github\
|
|
105
|
+
Remove-Item -Recurse -Force temp-skills
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Option 2: Manual setup**
|
|
109
|
+
|
|
110
|
+
1. Copy the `skills` folder to your project:
|
|
111
|
+
- For Cursor IDE: Place in `.cursor/skills/`
|
|
112
|
+
- For GitHub Copilot: Place in `.github/skills/`
|
|
113
|
+
- For other agents: Check agent documentation for skill directory location
|
|
114
|
+
|
|
115
|
+
2. Copy `project.config.json` to the same directory (`.cursor/` or `.github/`)
|
|
116
|
+
|
|
117
|
+
3. Update the configuration (see Configuration section below)
|
|
118
|
+
|
|
119
|
+
**Note:** If these folders/files already exist in your project, they will be replaced with the new versions.
|
|
120
|
+
|
|
121
|
+
### Configuration
|
|
122
|
+
|
|
123
|
+
1. **Update Configuration File**: Edit `.cursor/project.config.json` (or `.github/project.config.json`):
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"baseBranch": "main",
|
|
128
|
+
"platform": "github",
|
|
129
|
+
"platformConfig": {
|
|
130
|
+
"github": {
|
|
131
|
+
"apiUrl": "https://api.github.com",
|
|
132
|
+
"owner": "your-org",
|
|
133
|
+
"repo": "your-repo"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"enableCommentPosting": true,
|
|
137
|
+
"enableNotification": true
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Configuration Options:**
|
|
142
|
+
- `enableCommentPosting` (boolean, default: `true`) - Enable/disable posting inline comments to the git platform
|
|
143
|
+
- `enableNotification` (boolean, default: `false`) - Enable/disable Google Chat notifications
|
|
144
|
+
|
|
145
|
+
**Operation Modes:**
|
|
146
|
+
- **Full Mode**: `enableCommentPosting: true` + `enableNotification: true` → Posts comments + sends notification
|
|
147
|
+
- **Comment-Only Mode**: `enableCommentPosting: true` + `enableNotification: false` → Posts comments only
|
|
148
|
+
- **Notification-Only Mode**: `enableCommentPosting: false` + `enableNotification: true` → Sends notification only (no token needed)
|
|
149
|
+
|
|
150
|
+
2. **Environment Variables**: Set up tokens for your Git platform:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# GitHub
|
|
154
|
+
export GITHUB_TOKEN="your-github-token"
|
|
155
|
+
|
|
156
|
+
# GitLab
|
|
157
|
+
export GITLAB_TOKEN="your-gitlab-token"
|
|
158
|
+
|
|
159
|
+
# Gitea
|
|
160
|
+
export GITEA_TOKEN="your-gitea-token"
|
|
161
|
+
|
|
162
|
+
# Bitbucket
|
|
163
|
+
export BITBUCKET_TOKEN="your-bitbucket-token"
|
|
164
|
+
export BITBUCKET_USERNAME="your-bitbucket-username"
|
|
165
|
+
|
|
166
|
+
# Google Chat notifications (optional)
|
|
167
|
+
export GOOGLE_CHAT_WEBHOOK_URL="your-webhook-url"
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
3. **Verify Installation**:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# Check if skills are installed
|
|
174
|
+
ls .cursor/skills/ # Should show: pr-review, self-review
|
|
175
|
+
|
|
176
|
+
# Check if config exists
|
|
177
|
+
cat .cursor/project.config.json
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
4. **Start Using**: Your AI agent will now automatically recognize and use these skills!
|
|
181
|
+
|
|
182
|
+
## 🤖 Using Skills with Different AI Agents
|
|
183
|
+
|
|
184
|
+
### Cursor
|
|
185
|
+
|
|
186
|
+
Cursor natively supports agent skills through its skill system.
|
|
187
|
+
|
|
188
|
+
**Setup:**
|
|
189
|
+
1. Skills are automatically discovered from `.cursor/skills/` directory
|
|
190
|
+
2. Cursor's AI agent will automatically invoke skills based on your prompts
|
|
191
|
+
|
|
192
|
+
**Usage Example:**
|
|
193
|
+
```
|
|
194
|
+
You: Review PR #42
|
|
195
|
+
[Cursor AI invokes pr-review skill automatically]
|
|
196
|
+
|
|
197
|
+
You: Self-review for my code changes
|
|
198
|
+
[Cursor AI invokes self-review skill automatically]
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Skill Location:**
|
|
202
|
+
- `.cursor/skills/pr-review/SKILL.md`
|
|
203
|
+
- `.cursor/skills/self-review/SKILL.md`
|
|
204
|
+
|
|
205
|
+
### GitHub Copilot
|
|
206
|
+
|
|
207
|
+
GitHub Copilot Workspace supports agent skills through `.github/skills/` directory.
|
|
208
|
+
|
|
209
|
+
**Setup:**
|
|
210
|
+
1. Place skills in `.github/skills/` directory
|
|
211
|
+
2. Create `.github/agents/` with agent definitions if needed
|
|
212
|
+
3. GitHub Copilot will recognize and use skills
|
|
213
|
+
|
|
214
|
+
**Usage Example:**
|
|
215
|
+
```
|
|
216
|
+
You: Review PR #42
|
|
217
|
+
[GitHub Copilot invokes pr-review skill]
|
|
218
|
+
|
|
219
|
+
You: Check my code before PR
|
|
220
|
+
[GitHub Copilot invokes self-review skill]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Skill Location:**
|
|
224
|
+
- `.github/skills/pr-review/SKILL.md`
|
|
225
|
+
- `.github/skills/self-review/SKILL.md`
|
|
226
|
+
|
|
227
|
+
### Claude Code
|
|
228
|
+
|
|
229
|
+
Claude Code (by Anthropic) supports agent skills natively.
|
|
230
|
+
|
|
231
|
+
**Setup:**
|
|
232
|
+
1. Skills can be placed in `.cursor/skills/` or custom directory
|
|
233
|
+
2. Configure skill path in Claude Code settings
|
|
234
|
+
3. Claude Code automatically loads skills on startup
|
|
235
|
+
|
|
236
|
+
**Usage Example:**
|
|
237
|
+
```
|
|
238
|
+
You: Review PR #42
|
|
239
|
+
[Claude Code invokes pr-review skill]
|
|
240
|
+
|
|
241
|
+
You: Self-review my changes
|
|
242
|
+
[Claude Code invokes self-review skill]
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**How it Works:**
|
|
246
|
+
- Claude Code progressively discloses skills
|
|
247
|
+
- Skill descriptions are always in context
|
|
248
|
+
- Full instructions loaded only when needed
|
|
249
|
+
- Combines with MCP tools and sub-agents
|
|
250
|
+
|
|
251
|
+
### Antigravity
|
|
252
|
+
|
|
253
|
+
Antigravity supports custom agent skills and workflows.
|
|
254
|
+
|
|
255
|
+
**Setup:**
|
|
256
|
+
1. Configure skill directory in Antigravity settings
|
|
257
|
+
2. Skills are loaded based on directory structure
|
|
258
|
+
3. Antigravity's orchestrator handles skill invocation
|
|
259
|
+
|
|
260
|
+
**Usage Example:**
|
|
261
|
+
```
|
|
262
|
+
You: Review pull request 42
|
|
263
|
+
[Antigravity invokes pr-review skill]
|
|
264
|
+
|
|
265
|
+
You: Is my code ready for PR?
|
|
266
|
+
[Antigravity invokes self-review skill]
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
**Configuration:**
|
|
270
|
+
- Skills directory: Configurable in Antigravity settings
|
|
271
|
+
- Supports both `.cursor/skills/` and `.github/skills/` patterns
|
|
272
|
+
|
|
273
|
+
## 📖 Detailed Documentation
|
|
274
|
+
|
|
275
|
+
### PR Review Skill
|
|
276
|
+
|
|
277
|
+
The PR review skill performs comprehensive code analysis against domain-specific checklists:
|
|
278
|
+
|
|
279
|
+
- **Frontend**: 100+ checks (React, Vue, Angular, performance, accessibility)
|
|
280
|
+
- **Backend**: 70+ checks (API design, database, security, OWASP)
|
|
281
|
+
- **Mobile**: 110+ checks (iOS, Android, threading, memory)
|
|
282
|
+
- **Automation**: 40+ checks (E2E tests, selectors, stability)
|
|
283
|
+
|
|
284
|
+
**Workflow:**
|
|
285
|
+
1. Fetch PR code using Git commands
|
|
286
|
+
2. Detect tech stack and load appropriate checklist
|
|
287
|
+
3. Analyze code changes
|
|
288
|
+
4. Generate standard review output (JSON)
|
|
289
|
+
5. Show preview and ask for confirmation
|
|
290
|
+
6. Post inline comments to Git platform
|
|
291
|
+
7. Send Google Chat notification (optional)
|
|
292
|
+
8. Return to previous branch (cleanup)
|
|
293
|
+
|
|
294
|
+
**Platform Support:**
|
|
295
|
+
- GitHub
|
|
296
|
+
- GitLab
|
|
297
|
+
- Gitea
|
|
298
|
+
- Bitbucket
|
|
299
|
+
|
|
300
|
+
[Read Full PR Review Documentation →](./documents/pr-review-agent/document.md)
|
|
301
|
+
|
|
302
|
+
### Self Review Skill
|
|
303
|
+
|
|
304
|
+
The self-review skill helps you verify code quality before creating a PR:
|
|
305
|
+
|
|
306
|
+
**Workflow:**
|
|
307
|
+
1. Compare current branch with target branch
|
|
308
|
+
2. Detect tech stack and load checklist
|
|
309
|
+
3. Analyze changes
|
|
310
|
+
4. Generate table-based report with verdict
|
|
311
|
+
5. Save to `issues.md`
|
|
312
|
+
|
|
313
|
+
**Verdict Logic:**
|
|
314
|
+
- ✅ **Ready to Create PR** - Zero critical issues
|
|
315
|
+
- ⚠️ **Ready with Warnings** - Zero critical, some warnings/suggestions
|
|
316
|
+
- ❌ **Not Ready for PR** - One or more critical issues
|
|
317
|
+
|
|
318
|
+
[Read Full Self Review Documentation →](./documents/self-review-agent/document.md)
|
|
319
|
+
|
|
320
|
+
## 🛠 Advanced Configuration
|
|
321
|
+
|
|
322
|
+
### Platform-Specific Configuration
|
|
323
|
+
|
|
324
|
+
**GitHub:**
|
|
325
|
+
```json
|
|
326
|
+
{
|
|
327
|
+
"platform": "github",
|
|
328
|
+
"platformConfig": {
|
|
329
|
+
"github": {
|
|
330
|
+
"apiUrl": "https://api.github.com",
|
|
331
|
+
"owner": "your-org",
|
|
332
|
+
"repo": "your-repo"
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"enableCommentPosting": true,
|
|
336
|
+
"enableNotification": false
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**GitLab:**
|
|
341
|
+
```json
|
|
342
|
+
{
|
|
343
|
+
"platform": "gitlab",
|
|
344
|
+
"platformConfig": {
|
|
345
|
+
"gitlab": {
|
|
346
|
+
"apiUrl": "https://gitlab.com/api/v4",
|
|
347
|
+
"projectId": "your-project-id"
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"enableCommentPosting": true,
|
|
351
|
+
"enableNotification": false
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**Gitea:**
|
|
356
|
+
```json
|
|
357
|
+
{
|
|
358
|
+
"platform": "gitea",
|
|
359
|
+
"platformConfig": {
|
|
360
|
+
"gitea": {
|
|
361
|
+
"apiUrl": "https://gitea.evizi.com/api/v1",
|
|
362
|
+
"owner": "your-org",
|
|
363
|
+
"repo": "your-repo"
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
"enableCommentPosting": true,
|
|
367
|
+
"enableNotification": false
|
|
368
|
+
}
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
**Bitbucket:**
|
|
372
|
+
```json
|
|
373
|
+
{
|
|
374
|
+
"platform": "bitbucket",
|
|
375
|
+
"platformConfig": {
|
|
376
|
+
"bitbucket": {
|
|
377
|
+
"apiUrl": "https://api.bitbucket.org/2.0",
|
|
378
|
+
"workspace": "your-workspace",
|
|
379
|
+
"repoSlug": "your-repo"
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
"enableCommentPosting": true,
|
|
383
|
+
"enableNotification": false
|
|
384
|
+
}
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## 📁 Repository Structure
|
|
388
|
+
|
|
389
|
+
```
|
|
390
|
+
.
|
|
391
|
+
├── .cursor/
|
|
392
|
+
│ ├── skills/
|
|
393
|
+
│ │ ├── pr-review/
|
|
394
|
+
│ │ │ ├── SKILL.md # PR review skill definition
|
|
395
|
+
│ │ │ ├── scripts/
|
|
396
|
+
│ │ │ │ └── post-review.py # Unified dispatcher script
|
|
397
|
+
│ │ │ └── references/
|
|
398
|
+
│ │ │ ├── frontend.md # Frontend checklist
|
|
399
|
+
│ │ │ ├── backend.md # Backend checklist
|
|
400
|
+
│ │ │ ├── mobile.md # Mobile checklist
|
|
401
|
+
│ │ │ └── automation.md # Automation checklist
|
|
402
|
+
│ │ └── self-review/
|
|
403
|
+
│ │ ├── SKILL.md # Self review skill definition
|
|
404
|
+
│ │ ├── templates/
|
|
405
|
+
│ │ │ └── issues.template.md # Report template
|
|
406
|
+
│ │ └── references/
|
|
407
|
+
│ │ ├── frontend.md
|
|
408
|
+
│ │ ├── backend.md
|
|
409
|
+
│ │ ├── mobile.md
|
|
410
|
+
│ │ └── automation.md
|
|
411
|
+
│ └── project.config.json # Project configuration
|
|
412
|
+
├── .github/
|
|
413
|
+
└── └── (Alternative location for GitHub Copilot)
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
## 🎓 Learning Resources
|
|
417
|
+
|
|
418
|
+
1. **[Agent Skills with Anthropic - DeepLearning.AI](https://learn.deeplearning.ai/courses/agent-skills-with-anthropic/lesson/ldn5c3/introduction)**
|
|
419
|
+
- Free course on building and using agent skills
|
|
420
|
+
- Learn about progressive disclosure and skill architecture
|
|
421
|
+
- Combine skills with MCP and sub-agents
|
|
422
|
+
|
|
423
|
+
2. **[PR Review Skill Documentation](./documents/pr-review-agent/document.md)**
|
|
424
|
+
- Complete guide to PR review workflow
|
|
425
|
+
- Platform-specific configuration
|
|
426
|
+
- Architecture diagrams
|
|
427
|
+
|
|
428
|
+
3. **[Self Review Skill Documentation](./documents/self-review-agent/document.md)**
|
|
429
|
+
- Pre-PR verification workflow
|
|
430
|
+
- Verdict logic and severity levels
|
|
431
|
+
- Example report output
|
|
432
|
+
|
|
433
|
+
## 🤝 Contributing
|
|
434
|
+
|
|
435
|
+
Skills are now an open standard with a standardized format that works with any skills-compatible agent. Feel free to:
|
|
436
|
+
|
|
437
|
+
- Extend existing skills with new checklists
|
|
438
|
+
- Create new skills for different workflows
|
|
439
|
+
- Improve platform support
|
|
440
|
+
- Add new features to the dispatcher script
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Increase Unit Test Coverage Skill
|
|
2
|
+
|
|
3
|
+
## 1. Objective
|
|
4
|
+
|
|
5
|
+
The **Increase Unit Test Coverage** skill is designed to help developers and AI agents systematically improve a codebase's test coverage. It solves the problem of overwhelming coverage reports by filtering and prioritizing files that are below a defined threshold, providing a clear, actionable roadmap for improvement.
|
|
6
|
+
|
|
7
|
+
## 2. Components
|
|
8
|
+
|
|
9
|
+
- **SKILL.md**: The core instruction set that guides the AI agent through the systematic process of increasing coverage.
|
|
10
|
+
- **filter_low_coverage.py**: A powerful Python script that:
|
|
11
|
+
- Automatically detects project configuration.
|
|
12
|
+
- Parses `coverage-summary.json`.
|
|
13
|
+
- Generates a concise, AI-friendly Markdown report (`low-coverage-report.md`).
|
|
14
|
+
- **project.config.json**: A central configuration file (located in `.cursor/`, `.github/`, `.agent/`, or root) that defines threshold, test commands, directories, and exclusion patterns.
|
|
15
|
+
- **Coverage Report**: The raw output from the project's testing framework (e.g., Jest's `coverage-summary.json`).
|
|
16
|
+
|
|
17
|
+
## 3. Setup Guide
|
|
18
|
+
|
|
19
|
+
1. **Skill Installation**: Ensure the skill folder is located in your IDE's respective directory (e.g., `/Users/dungvo/Workspace/ai-evizi/design/.cursor/skills/increase-unit-test-coverage`).
|
|
20
|
+
2. **Configuration**: **[CRITICAL]** You MUST update your `project.config.json` with your project-specific settings. The skill relies on these values to run the correct tests and find the right files:
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"unitTestCoverage": {
|
|
24
|
+
"enabled": true,
|
|
25
|
+
"coverageReportPath": "coverage/coverage-summary.json",
|
|
26
|
+
"outputReportPath": "low-coverage-report.md",
|
|
27
|
+
"threshold": 90.0,
|
|
28
|
+
"reportTopN": 30,
|
|
29
|
+
"reportShowFullList": false,
|
|
30
|
+
"testCommand": "npm test -- --coverage",
|
|
31
|
+
"testDirectory": "src/__tests__",
|
|
32
|
+
"testFilePattern": "**/*.test.{ts,tsx,js,jsx}",
|
|
33
|
+
"excludePatterns": ["*.css.ts", "constants.ts"],
|
|
34
|
+
"excludeDirectories": ["models", "types"],
|
|
35
|
+
"testingFramework": "jest",
|
|
36
|
+
"testingLibrary": "react-testing-library"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Configuration Reference
|
|
42
|
+
|
|
43
|
+
| Field | Description |
|
|
44
|
+
| :--- | :--- |
|
|
45
|
+
| `enabled` | Set to `true` to enable the coverage improvement skill. |
|
|
46
|
+
| `coverageReportPath` | Path to the `coverage-summary.json` file generated by your test runner. |
|
|
47
|
+
| `outputReportPath` | (Optional) Path where the filtered `low-coverage-report.md` will be saved. |
|
|
48
|
+
| `threshold` | The target coverage percentage (0.0 to 100.0). Files below this are prioritized. |
|
|
49
|
+
| `reportTopN` | (Optional) Limits the number of files shown in the summary report (default: 30). |
|
|
50
|
+
| `reportShowFullList` | (Optional) If `true`, shows all files in the report regardless of TopN limit. |
|
|
51
|
+
| `testCommand` | The exact command to run tests with coverage reporting (e.g., `npm test -- --coverage`). |
|
|
52
|
+
| `testDirectory` | The directory where your test files are located. |
|
|
53
|
+
| `testFilePattern` | (Optional) Glob pattern for test files (e.g., `**/*.test.ts`). |
|
|
54
|
+
| `excludePatterns` | (Optional) List of file patterns to ignore (e.g., `["*.css.ts", "*.types.ts"]`). |
|
|
55
|
+
| `excludeDirectories`| (Optional) List of directories to ignore (e.g., `["models", "types"]`). |
|
|
56
|
+
| `testingFramework` | The framework used (e.g., `jest`, `vitest`, `mocha`). |
|
|
57
|
+
| `testingLibrary` | The library used (e.g., `react-testing-library`, `enzyme`). |
|
|
58
|
+
3. **Dependencies**: Ensure **Python 3** is available in your environment to run the filter script.
|
|
59
|
+
|
|
60
|
+
## 4. How to Use
|
|
61
|
+
|
|
62
|
+
This skill follows a collaborative workflow where the **User** initiates the task and the **AI Agent** executes the systematic improvement process.
|
|
63
|
+
|
|
64
|
+
### User Role
|
|
65
|
+
1. **Initiate Task**: Ask the AI Agent to improve coverage (e.g., *"Increase test coverage for files below 90%"*).
|
|
66
|
+
2. **Monitor Progress**: Review the AI's actions as it moves through the prioritized list.
|
|
67
|
+
3. **Confirm Results**: Review the final report once the target threshold is reached.
|
|
68
|
+
|
|
69
|
+
### AI Agent Role
|
|
70
|
+
1. **Configuration Check**: Reads `project.config.json` to identify test commands, directories, and thresholds.
|
|
71
|
+
2. **Generate Baseline**: Runs the project's coverage command (e.g., `npm test -- --coverage`) to get current data.
|
|
72
|
+
3. **Filtered Reporting**: Executes the `filter_low_coverage.py` script to generate a prioritized `low-coverage-report.md`.
|
|
73
|
+
4. **Sequential Improvement**:
|
|
74
|
+
- **Analyze**: Reads source files and existing tests for prioritized files.
|
|
75
|
+
- **Generate Tests**: Writes new test cases for uncovered paths (Zero, Critical, etc.).
|
|
76
|
+
- **Verify**: Re-runs coverage after each file to confirm improvement.
|
|
77
|
+
5. **Iteration**: Continues the cycle until the target coverage threshold is met.
|