superkit-mcp-server 1.2.2 → 1.2.3
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/ARCHITECTURE.md +102 -102
- package/README.md +71 -71
- package/SUPERKIT.md +168 -168
- package/agents/code-archaeologist.md +106 -106
- package/agents/coder.md +90 -90
- package/agents/data-engineer.md +28 -28
- package/agents/devops-engineer.md +242 -242
- package/agents/git-manager.md +203 -203
- package/agents/orchestrator.md +420 -420
- package/agents/penetration-tester.md +188 -188
- package/agents/performance-optimizer.md +187 -187
- package/agents/planner.md +270 -270
- package/agents/qa-automation-engineer.md +103 -103
- package/agents/quant-developer.md +32 -32
- package/agents/reviewer.md +100 -100
- package/agents/scout.md +222 -222
- package/agents/security-auditor.md +3 -2
- package/agents/tester.md +274 -274
- package/agents/ui-designer.md +208 -208
- package/build/index.js +18 -9
- package/build/tools/__tests__/loggerTools.test.js +5 -5
- package/build/tools/archTools.js +2 -19
- package/build/tools/autoPreview.js +2 -2
- package/build/tools/compoundTools.js +4 -4
- package/build/tools/docsTools.js +5 -10
- package/build/tools/loggerTools.js +1 -1
- package/build/tools/todoTools.js +39 -39
- package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
- package/build/tools/validators/__tests__/convertRules.test.js +5 -5
- package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
- package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
- package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
- package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
- package/build/tools/validators/__tests__/securityScan.test.js +6 -6
- package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
- package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
- package/build/tools/validators/convertRules.js +2 -2
- package/commands/README.md +122 -122
- package/commands/ask.toml +72 -72
- package/commands/brainstorm.toml +119 -119
- package/commands/chat.toml +77 -77
- package/commands/code-preview.toml +37 -37
- package/commands/code.toml +28 -28
- package/commands/content.toml +200 -200
- package/commands/cook.toml +77 -77
- package/commands/copywrite.toml +131 -131
- package/commands/db.toml +192 -192
- package/commands/debug.toml +166 -166
- package/commands/design.toml +158 -158
- package/commands/dev-rules.toml +14 -14
- package/commands/do.toml +117 -117
- package/commands/doc-rules.toml +14 -14
- package/commands/docs.toml +148 -148
- package/commands/fix.toml +440 -440
- package/commands/fullstack.toml +175 -175
- package/commands/git.toml +235 -235
- package/commands/help.toml +84 -84
- package/commands/integrate.toml +127 -127
- package/commands/journal.toml +136 -136
- package/commands/kit-setup.toml +40 -40
- package/commands/mcp.toml +183 -183
- package/commands/orchestration.toml +15 -15
- package/commands/plan.toml +171 -171
- package/commands/pm.toml +148 -148
- package/commands/pr.toml +50 -50
- package/commands/project.toml +32 -32
- package/commands/research.toml +117 -117
- package/commands/review-pr.toml +63 -63
- package/commands/review.toml +190 -190
- package/commands/scout-ext.toml +97 -97
- package/commands/scout.toml +79 -79
- package/commands/screenshot.toml +65 -65
- package/commands/session.toml +102 -102
- package/commands/skill.toml +384 -384
- package/commands/status.toml +22 -22
- package/commands/team.toml +56 -56
- package/commands/test.toml +164 -164
- package/commands/ticket.toml +70 -70
- package/commands/use.toml +106 -106
- package/commands/video.toml +83 -83
- package/commands/watzup.toml +71 -71
- package/commands/workflow.toml +14 -14
- package/package.json +35 -35
- package/skills/meta/README.md +30 -30
- package/skills/meta/api-design/SKILL.md +134 -134
- package/skills/meta/code-review/SKILL.md +44 -44
- package/skills/meta/code-review/checklists/pre-merge.md +25 -25
- package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
- package/skills/meta/code-review/workflows/performance-pass.md +27 -27
- package/skills/meta/code-review/workflows/security-pass.md +29 -29
- package/skills/meta/compound-docs/SKILL.md +133 -133
- package/skills/meta/debug/SKILL.md +40 -40
- package/skills/meta/debug/templates/bug-report.template.md +31 -31
- package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
- package/skills/meta/docker/SKILL.md +126 -126
- package/skills/meta/examples/supabase/SKILL.md +46 -46
- package/skills/meta/examples/supabase/references/best-practices.md +319 -319
- package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
- package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
- package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
- package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
- package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
- package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
- package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
- package/skills/meta/file-todos/SKILL.md +88 -88
- package/skills/meta/mobile/SKILL.md +140 -140
- package/skills/meta/nextjs/SKILL.md +101 -101
- package/skills/meta/performance/SKILL.md +130 -130
- package/skills/meta/react-patterns/SKILL.md +83 -83
- package/skills/meta/security/SKILL.md +114 -114
- package/skills/meta/session-resume/SKILL.md +96 -96
- package/skills/meta/tailwind/SKILL.md +139 -139
- package/skills/meta/testing/SKILL.md +43 -43
- package/skills/meta/testing/references/vitest-patterns.md +45 -45
- package/skills/meta/testing/templates/component-test.template.tsx +37 -37
- package/skills/tech/alpha-vantage/SKILL.md +142 -142
- package/skills/tech/alpha-vantage/references/commodities.md +153 -153
- package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
- package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
- package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
- package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
- package/skills/tech/alpha-vantage/references/options.md +93 -93
- package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
- package/skills/tech/alpha-vantage/references/time-series.md +157 -157
- package/skills/tech/doc.md +6 -6
- package/skills/tech/financial-modeling/SKILL.md +18 -18
- package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
- package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
- package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
- package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
- package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
- package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
- package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
- package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
- package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
- package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
- package/skills/workflows/README.md +203 -203
- package/skills/workflows/adr.md +174 -174
- package/skills/workflows/changelog.md +74 -74
- package/skills/workflows/compound.md +323 -323
- package/skills/workflows/compound_health.md +74 -74
- package/skills/workflows/create-agent-skill.md +138 -139
- package/skills/workflows/cycle.md +144 -144
- package/skills/workflows/deploy-docs.md +84 -84
- package/skills/workflows/development-rules.md +42 -42
- package/skills/workflows/doc.md +95 -95
- package/skills/workflows/documentation-management.md +34 -34
- package/skills/workflows/explore.md +146 -146
- package/skills/workflows/generate_command.md +106 -106
- package/skills/workflows/heal-skill.md +97 -97
- package/skills/workflows/housekeeping.md +229 -229
- package/skills/workflows/kit-setup.md +102 -102
- package/skills/workflows/map-codebase.md +78 -78
- package/skills/workflows/orchestration-protocol.md +43 -43
- package/skills/workflows/plan-compound.md +439 -439
- package/skills/workflows/plan_review.md +269 -269
- package/skills/workflows/primary-workflow.md +37 -37
- package/skills/workflows/promote_pattern.md +86 -86
- package/skills/workflows/release-docs.md +82 -82
- package/skills/workflows/report-bug.md +135 -135
- package/skills/workflows/reproduce-bug.md +118 -118
- package/skills/workflows/resolve_pr.md +133 -133
- package/skills/workflows/resolve_todo.md +128 -128
- package/skills/workflows/review-compound.md +376 -376
- package/skills/workflows/skill-review.md +127 -127
- package/skills/workflows/specs.md +257 -257
- package/skills/workflows/triage-sprint.md +102 -102
- package/skills/workflows/triage.md +152 -152
- package/skills/workflows/work.md +399 -399
- package/skills/workflows/xcode-test.md +93 -93
package/skills/meta/README.md
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
# Agent Skills & Capabilities
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
The "brain" of the AI Agent. This directory contains the definitions, memories, and tools that enable the Agent to work effectively on the codebase.
|
|
5
|
-
|
|
6
|
-
## Components
|
|
7
|
-
|
|
8
|
-
| Component | Description |
|
|
9
|
-
|-----------|-------------|
|
|
10
|
-
| `compound-docs/` | Templates and logic for the Compounding Knowledge system. |
|
|
11
|
-
| `file-todos/` | Logic for the file-based task management system. |
|
|
12
|
-
| `session-resume/` | Context restoration protocols for new sessions. |
|
|
13
|
-
| `code-review/` | Checklists and workflows for automated code review. |
|
|
14
|
-
| `testing/` | Custom testing infrastructure and patterns. |
|
|
15
|
-
| `debug/` | Root-cause analysis and debugging protocols. |
|
|
16
|
-
| `react-hooks/` | Best practices and patterns for React development. |
|
|
17
|
-
| `examples/` | Project-specific or optional skill examples (e.g. Supabase). |
|
|
18
|
-
|
|
19
|
-
## Component Details
|
|
20
|
-
|
|
21
|
-
### `compound-docs/`
|
|
22
|
-
Contains the `SKILL.md` instruction set and template files used by the `/compound` workflow to generate persistent documentation.
|
|
23
|
-
|
|
24
|
-
### `file-todos/`
|
|
25
|
-
Contains the logic for managing the `todos/` directory, including status transitions and priority handling.
|
|
26
|
-
|
|
27
|
-
## Changelog
|
|
28
|
-
|
|
29
|
-
### 2025-12-23
|
|
30
|
-
- Initialized README documentation.
|
|
1
|
+
# Agent Skills & Capabilities
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
The "brain" of the AI Agent. This directory contains the definitions, memories, and tools that enable the Agent to work effectively on the codebase.
|
|
5
|
+
|
|
6
|
+
## Components
|
|
7
|
+
|
|
8
|
+
| Component | Description |
|
|
9
|
+
|-----------|-------------|
|
|
10
|
+
| `compound-docs/` | Templates and logic for the Compounding Knowledge system. |
|
|
11
|
+
| `file-todos/` | Logic for the file-based task management system. |
|
|
12
|
+
| `session-resume/` | Context restoration protocols for new sessions. |
|
|
13
|
+
| `code-review/` | Checklists and workflows for automated code review. |
|
|
14
|
+
| `testing/` | Custom testing infrastructure and patterns. |
|
|
15
|
+
| `debug/` | Root-cause analysis and debugging protocols. |
|
|
16
|
+
| `react-hooks/` | Best practices and patterns for React development. |
|
|
17
|
+
| `examples/` | Project-specific or optional skill examples (e.g. Supabase). |
|
|
18
|
+
|
|
19
|
+
## Component Details
|
|
20
|
+
|
|
21
|
+
### `compound-docs/`
|
|
22
|
+
Contains the `SKILL.md` instruction set and template files used by the `/compound` workflow to generate persistent documentation.
|
|
23
|
+
|
|
24
|
+
### `file-todos/`
|
|
25
|
+
Contains the logic for managing the `todos/` directory, including status transitions and priority handling.
|
|
26
|
+
|
|
27
|
+
## Changelog
|
|
28
|
+
|
|
29
|
+
### 2025-12-23
|
|
30
|
+
- Initialized README documentation.
|
|
@@ -1,134 +1,134 @@
|
|
|
1
|
-
# API Design Skill
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
RESTful API patterns, GraphQL design, and API best practices.
|
|
5
|
-
|
|
6
|
-
## RESTful Design Principles
|
|
7
|
-
|
|
8
|
-
### 1. Resource Naming
|
|
9
|
-
```
|
|
10
|
-
✅ Good:
|
|
11
|
-
GET /users # List users
|
|
12
|
-
GET /users/123 # Get user
|
|
13
|
-
POST /users # Create user
|
|
14
|
-
PUT /users/123 # Update user
|
|
15
|
-
DELETE /users/123 # Delete user
|
|
16
|
-
|
|
17
|
-
❌ Bad:
|
|
18
|
-
GET /getUsers
|
|
19
|
-
POST /createUser
|
|
20
|
-
GET /user/delete/123
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### 2. HTTP Status Codes
|
|
24
|
-
```typescript
|
|
25
|
-
// Success
|
|
26
|
-
200 OK - Successful GET/PUT
|
|
27
|
-
201 Created - Successful POST
|
|
28
|
-
204 No Content - Successful DELETE
|
|
29
|
-
|
|
30
|
-
// Client Errors
|
|
31
|
-
400 Bad Request - Invalid input
|
|
32
|
-
401 Unauthorized - Auth required
|
|
33
|
-
403 Forbidden - No permission
|
|
34
|
-
404 Not Found - Resource doesn't exist
|
|
35
|
-
422 Unprocessable - Validation failed
|
|
36
|
-
|
|
37
|
-
// Server Errors
|
|
38
|
-
500 Internal Error - Server bug
|
|
39
|
-
503 Service Unavailable - Maintenance
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### 3. Response Format
|
|
43
|
-
```typescript
|
|
44
|
-
// Success response
|
|
45
|
-
{
|
|
46
|
-
"data": {
|
|
47
|
-
"id": "123",
|
|
48
|
-
"name": "John",
|
|
49
|
-
"email": "john@example.com"
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Error response
|
|
54
|
-
{
|
|
55
|
-
"error": {
|
|
56
|
-
"code": "VALIDATION_ERROR",
|
|
57
|
-
"message": "Email is required",
|
|
58
|
-
"details": [
|
|
59
|
-
{ "field": "email", "message": "This field is required" }
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// List with pagination
|
|
65
|
-
{
|
|
66
|
-
"data": [...],
|
|
67
|
-
"meta": {
|
|
68
|
-
"page": 1,
|
|
69
|
-
"perPage": 20,
|
|
70
|
-
"total": 150,
|
|
71
|
-
"totalPages": 8
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### 4. Pagination
|
|
77
|
-
```typescript
|
|
78
|
-
// Offset-based
|
|
79
|
-
GET /posts?page=2&limit=20
|
|
80
|
-
|
|
81
|
-
// Cursor-based (better for large datasets)
|
|
82
|
-
GET /posts?cursor=abc123&limit=20
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 5. Filtering & Sorting
|
|
86
|
-
```typescript
|
|
87
|
-
// Filtering
|
|
88
|
-
GET /posts?status=published&author=123
|
|
89
|
-
|
|
90
|
-
// Sorting
|
|
91
|
-
GET /posts?sort=-createdAt,title // - for DESC
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## API Versioning
|
|
95
|
-
```typescript
|
|
96
|
-
// URL versioning (recommended)
|
|
97
|
-
GET /api/v1/users
|
|
98
|
-
|
|
99
|
-
// Header versioning
|
|
100
|
-
GET /api/users
|
|
101
|
-
Accept: application/vnd.myapp.v1+json
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## Rate Limiting
|
|
105
|
-
```typescript
|
|
106
|
-
import rateLimit from 'express-rate-limit';
|
|
107
|
-
|
|
108
|
-
const limiter = rateLimit({
|
|
109
|
-
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
110
|
-
max: 100, // 100 requests per window
|
|
111
|
-
message: { error: 'Too many requests' },
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
app.use('/api/', limiter);
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## Input Validation
|
|
118
|
-
```typescript
|
|
119
|
-
import { z } from 'zod';
|
|
120
|
-
|
|
121
|
-
const CreateUserSchema = z.object({
|
|
122
|
-
name: z.string().min(2).max(100),
|
|
123
|
-
email: z.string().email(),
|
|
124
|
-
age: z.number().int().min(0).max(150).optional(),
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
function createUser(req, res) {
|
|
128
|
-
const result = CreateUserSchema.safeParse(req.body);
|
|
129
|
-
if (!result.success) {
|
|
130
|
-
return res.status(422).json({ error: result.error });
|
|
131
|
-
}
|
|
132
|
-
// Process validated data
|
|
133
|
-
}
|
|
134
|
-
```
|
|
1
|
+
# API Design Skill
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
RESTful API patterns, GraphQL design, and API best practices.
|
|
5
|
+
|
|
6
|
+
## RESTful Design Principles
|
|
7
|
+
|
|
8
|
+
### 1. Resource Naming
|
|
9
|
+
```
|
|
10
|
+
✅ Good:
|
|
11
|
+
GET /users # List users
|
|
12
|
+
GET /users/123 # Get user
|
|
13
|
+
POST /users # Create user
|
|
14
|
+
PUT /users/123 # Update user
|
|
15
|
+
DELETE /users/123 # Delete user
|
|
16
|
+
|
|
17
|
+
❌ Bad:
|
|
18
|
+
GET /getUsers
|
|
19
|
+
POST /createUser
|
|
20
|
+
GET /user/delete/123
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 2. HTTP Status Codes
|
|
24
|
+
```typescript
|
|
25
|
+
// Success
|
|
26
|
+
200 OK - Successful GET/PUT
|
|
27
|
+
201 Created - Successful POST
|
|
28
|
+
204 No Content - Successful DELETE
|
|
29
|
+
|
|
30
|
+
// Client Errors
|
|
31
|
+
400 Bad Request - Invalid input
|
|
32
|
+
401 Unauthorized - Auth required
|
|
33
|
+
403 Forbidden - No permission
|
|
34
|
+
404 Not Found - Resource doesn't exist
|
|
35
|
+
422 Unprocessable - Validation failed
|
|
36
|
+
|
|
37
|
+
// Server Errors
|
|
38
|
+
500 Internal Error - Server bug
|
|
39
|
+
503 Service Unavailable - Maintenance
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 3. Response Format
|
|
43
|
+
```typescript
|
|
44
|
+
// Success response
|
|
45
|
+
{
|
|
46
|
+
"data": {
|
|
47
|
+
"id": "123",
|
|
48
|
+
"name": "John",
|
|
49
|
+
"email": "john@example.com"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Error response
|
|
54
|
+
{
|
|
55
|
+
"error": {
|
|
56
|
+
"code": "VALIDATION_ERROR",
|
|
57
|
+
"message": "Email is required",
|
|
58
|
+
"details": [
|
|
59
|
+
{ "field": "email", "message": "This field is required" }
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// List with pagination
|
|
65
|
+
{
|
|
66
|
+
"data": [...],
|
|
67
|
+
"meta": {
|
|
68
|
+
"page": 1,
|
|
69
|
+
"perPage": 20,
|
|
70
|
+
"total": 150,
|
|
71
|
+
"totalPages": 8
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 4. Pagination
|
|
77
|
+
```typescript
|
|
78
|
+
// Offset-based
|
|
79
|
+
GET /posts?page=2&limit=20
|
|
80
|
+
|
|
81
|
+
// Cursor-based (better for large datasets)
|
|
82
|
+
GET /posts?cursor=abc123&limit=20
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 5. Filtering & Sorting
|
|
86
|
+
```typescript
|
|
87
|
+
// Filtering
|
|
88
|
+
GET /posts?status=published&author=123
|
|
89
|
+
|
|
90
|
+
// Sorting
|
|
91
|
+
GET /posts?sort=-createdAt,title // - for DESC
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## API Versioning
|
|
95
|
+
```typescript
|
|
96
|
+
// URL versioning (recommended)
|
|
97
|
+
GET /api/v1/users
|
|
98
|
+
|
|
99
|
+
// Header versioning
|
|
100
|
+
GET /api/users
|
|
101
|
+
Accept: application/vnd.myapp.v1+json
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Rate Limiting
|
|
105
|
+
```typescript
|
|
106
|
+
import rateLimit from 'express-rate-limit';
|
|
107
|
+
|
|
108
|
+
const limiter = rateLimit({
|
|
109
|
+
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
110
|
+
max: 100, // 100 requests per window
|
|
111
|
+
message: { error: 'Too many requests' },
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
app.use('/api/', limiter);
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Input Validation
|
|
118
|
+
```typescript
|
|
119
|
+
import { z } from 'zod';
|
|
120
|
+
|
|
121
|
+
const CreateUserSchema = z.object({
|
|
122
|
+
name: z.string().min(2).max(100),
|
|
123
|
+
email: z.string().email(),
|
|
124
|
+
age: z.number().int().min(0).max(150).optional(),
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
function createUser(req, res) {
|
|
128
|
+
const result = CreateUserSchema.safeParse(req.body);
|
|
129
|
+
if (!result.success) {
|
|
130
|
+
return res.status(422).json({ error: result.error });
|
|
131
|
+
}
|
|
132
|
+
// Process validated data
|
|
133
|
+
}
|
|
134
|
+
```
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: code-review
|
|
3
|
-
description: Systematic multi-perspective code review with consistent quality gates.
|
|
4
|
-
last_updated: 2025-12-20
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Code Review Skill
|
|
8
|
-
|
|
9
|
-
## Overview
|
|
10
|
-
|
|
11
|
-
A systematic approach to code review that moves beyond "it looks good" to rigorous quality verification. This skill provides specific checklists and procedures for different review types.
|
|
12
|
-
|
|
13
|
-
## When To Use
|
|
14
|
-
|
|
15
|
-
- **Self-Review**: Before submitting a PR or finishing `/work`
|
|
16
|
-
- **Peer Review**: When reviewing another agent's or human's code (`/resolve_pr`)
|
|
17
|
-
- **Plan Review**: When validating an implementation plan (`/plan_review`)
|
|
18
|
-
|
|
19
|
-
## Instrumentation
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# Log usage when using this skill
|
|
23
|
-
Call MCP `call_tool_logger_manager` { action: "logSkill", name: "code-review", outcome: "manual" }
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## What do you want to do?
|
|
27
|
-
|
|
28
|
-
1. **Security Review** (Auth, RLS, Input) → `workflows/security-pass.md`
|
|
29
|
-
2. **Performance Review** (Database, Re-renders) → `workflows/performance-pass.md`
|
|
30
|
-
3. **Architecture Review** (State, Data Flow) → `workflows/architecture-pass.md`
|
|
31
|
-
4. **General Quality Check** → `checklists/pre-merge.md`
|
|
32
|
-
|
|
33
|
-
## Key Principles
|
|
34
|
-
|
|
35
|
-
- **Review in Passes**: Don't check everything at once. Do a security pass, then a performance pass, etc.
|
|
36
|
-
- **Reference Patterns**: Always check against `docs/solutions/patterns/critical-patterns.md`.
|
|
37
|
-
- **Verify, Don't Guess**: If you see a potential issue, verify it with a quick test or script.
|
|
38
|
-
|
|
39
|
-
## Scientific Review Principles
|
|
40
|
-
Adapted from formal peer review standards to improve code review rigor:
|
|
41
|
-
1. **Algorithmic Soundness Check**: Avoid circular logic where state values mask deeper architectural flaws.
|
|
42
|
-
2. **Control Variables Isolation**: Ensure side-effects are heavily isolated and easily testable (simulating scientific controls).
|
|
43
|
-
3. **Absolute Reproducibility**: If a bug or edge-case is discussed in review, verify that the system has enough telemetry/logging to perfectly reproduce it.
|
|
44
|
-
4. **Constructive Tone Constraint**: Frame criticism objectively as an opportunity for improvement. Avoid dismissing implementations without offering actionable, pattern-compliant alternatives.
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: Systematic multi-perspective code review with consistent quality gates.
|
|
4
|
+
last_updated: 2025-12-20
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Code Review Skill
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
A systematic approach to code review that moves beyond "it looks good" to rigorous quality verification. This skill provides specific checklists and procedures for different review types.
|
|
12
|
+
|
|
13
|
+
## When To Use
|
|
14
|
+
|
|
15
|
+
- **Self-Review**: Before submitting a PR or finishing `/work`
|
|
16
|
+
- **Peer Review**: When reviewing another agent's or human's code (`/resolve_pr`)
|
|
17
|
+
- **Plan Review**: When validating an implementation plan (`/plan_review`)
|
|
18
|
+
|
|
19
|
+
## Instrumentation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Log usage when using this skill
|
|
23
|
+
Call MCP `call_tool_logger_manager` { action: "logSkill", name: "code-review", outcome: "manual" }
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## What do you want to do?
|
|
27
|
+
|
|
28
|
+
1. **Security Review** (Auth, RLS, Input) → `workflows/security-pass.md`
|
|
29
|
+
2. **Performance Review** (Database, Re-renders) → `workflows/performance-pass.md`
|
|
30
|
+
3. **Architecture Review** (State, Data Flow) → `workflows/architecture-pass.md`
|
|
31
|
+
4. **General Quality Check** → `checklists/pre-merge.md`
|
|
32
|
+
|
|
33
|
+
## Key Principles
|
|
34
|
+
|
|
35
|
+
- **Review in Passes**: Don't check everything at once. Do a security pass, then a performance pass, etc.
|
|
36
|
+
- **Reference Patterns**: Always check against `docs/solutions/patterns/critical-patterns.md`.
|
|
37
|
+
- **Verify, Don't Guess**: If you see a potential issue, verify it with a quick test or script.
|
|
38
|
+
|
|
39
|
+
## Scientific Review Principles
|
|
40
|
+
Adapted from formal peer review standards to improve code review rigor:
|
|
41
|
+
1. **Algorithmic Soundness Check**: Avoid circular logic where state values mask deeper architectural flaws.
|
|
42
|
+
2. **Control Variables Isolation**: Ensure side-effects are heavily isolated and easily testable (simulating scientific controls).
|
|
43
|
+
3. **Absolute Reproducibility**: If a bug or edge-case is discussed in review, verify that the system has enough telemetry/logging to perfectly reproduce it.
|
|
44
|
+
4. **Constructive Tone Constraint**: Frame criticism objectively as an opportunity for improvement. Avoid dismissing implementations without offering actionable, pattern-compliant alternatives.
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
# Pre-Merge Checklist
|
|
2
|
-
|
|
3
|
-
## Functional Verification
|
|
4
|
-
- [ ] Does the feature meet all implementation plan requirements?
|
|
5
|
-
- [ ] Have all acceptance criteria been verified?
|
|
6
|
-
- [ ] Are there any console errors in the browser?
|
|
7
|
-
- [ ] Is the UI responsive on mobile (simulated)?
|
|
8
|
-
|
|
9
|
-
## Code Quality
|
|
10
|
-
- [ ] **Linting**: `npm run lint` passes with 0 errors.
|
|
11
|
-
- [ ] **Formatting**: Code formatting is consistent.
|
|
12
|
-
- [ ] **Patterns**: Project patterns are followed (e.g., UI components, file naming).
|
|
13
|
-
- [ ] **Comments**: Complex logic is commented; dead code is removed.
|
|
14
|
-
|
|
15
|
-
## Testing
|
|
16
|
-
- [ ] **Unit Tests**: Added/updated tests for new logic?
|
|
17
|
-
- [ ] **Pass Rate**: `npm test` passes (or at least no *new* failures).
|
|
18
|
-
|
|
19
|
-
## Security
|
|
20
|
-
- [ ] **Secrets**: No secrets committed.
|
|
21
|
-
- [ ] **Permissions**: Data access controls verified.
|
|
22
|
-
|
|
23
|
-
## Documentation
|
|
24
|
-
- [ ] **Changelog**: Entry adds to/is covered by changelog generation.
|
|
25
|
-
- [ ] **Artifacts**: Task and plan updated.
|
|
1
|
+
# Pre-Merge Checklist
|
|
2
|
+
|
|
3
|
+
## Functional Verification
|
|
4
|
+
- [ ] Does the feature meet all implementation plan requirements?
|
|
5
|
+
- [ ] Have all acceptance criteria been verified?
|
|
6
|
+
- [ ] Are there any console errors in the browser?
|
|
7
|
+
- [ ] Is the UI responsive on mobile (simulated)?
|
|
8
|
+
|
|
9
|
+
## Code Quality
|
|
10
|
+
- [ ] **Linting**: `npm run lint` passes with 0 errors.
|
|
11
|
+
- [ ] **Formatting**: Code formatting is consistent.
|
|
12
|
+
- [ ] **Patterns**: Project patterns are followed (e.g., UI components, file naming).
|
|
13
|
+
- [ ] **Comments**: Complex logic is commented; dead code is removed.
|
|
14
|
+
|
|
15
|
+
## Testing
|
|
16
|
+
- [ ] **Unit Tests**: Added/updated tests for new logic?
|
|
17
|
+
- [ ] **Pass Rate**: `npm test` passes (or at least no *new* failures).
|
|
18
|
+
|
|
19
|
+
## Security
|
|
20
|
+
- [ ] **Secrets**: No secrets committed.
|
|
21
|
+
- [ ] **Permissions**: Data access controls verified.
|
|
22
|
+
|
|
23
|
+
## Documentation
|
|
24
|
+
- [ ] **Changelog**: Entry adds to/is covered by changelog generation.
|
|
25
|
+
- [ ] **Artifacts**: Task and plan updated.
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
# Architecture Review Pass
|
|
2
|
-
|
|
3
|
-
## Checklist
|
|
4
|
-
|
|
5
|
-
### 1. Component Structure
|
|
6
|
-
- [ ] **Single Responsibility**: Does each component do ONE thing?
|
|
7
|
-
- [ ] **Prop Drilling**: Is context/global state used for deep props?
|
|
8
|
-
- [ ] **Component Size**: Are components <200 lines? Split if larger.
|
|
9
|
-
|
|
10
|
-
### 2. State Management
|
|
11
|
-
- [ ] **Correct Location**: Is state lifted only as high as needed?
|
|
12
|
-
- [ ] **Server vs Client State**: Is React Query used for server state?
|
|
13
|
-
- [ ] **Form State**: Are forms using controlled components correctly?
|
|
14
|
-
|
|
15
|
-
### 3. Dependencies
|
|
16
|
-
- [ ] **Circular Imports**: No circular dependencies between modules?
|
|
17
|
-
- [ ] **Layering**: Does data flow UI → Hooks → API → Database?
|
|
18
|
-
- [ ] **External Deps**: Are new packages justified and vetted?
|
|
19
|
-
|
|
20
|
-
### 4. Patterns
|
|
21
|
-
- [ ] **Project Conventions**: Following existing patterns?
|
|
22
|
-
- [ ] **Canonical Components**: Using project's standard UI components?
|
|
23
|
-
|
|
24
|
-
## References
|
|
25
|
-
|
|
26
|
-
- [Critical Patterns](../../../docs/solutions/patterns/critical-patterns.md)
|
|
1
|
+
# Architecture Review Pass
|
|
2
|
+
|
|
3
|
+
## Checklist
|
|
4
|
+
|
|
5
|
+
### 1. Component Structure
|
|
6
|
+
- [ ] **Single Responsibility**: Does each component do ONE thing?
|
|
7
|
+
- [ ] **Prop Drilling**: Is context/global state used for deep props?
|
|
8
|
+
- [ ] **Component Size**: Are components <200 lines? Split if larger.
|
|
9
|
+
|
|
10
|
+
### 2. State Management
|
|
11
|
+
- [ ] **Correct Location**: Is state lifted only as high as needed?
|
|
12
|
+
- [ ] **Server vs Client State**: Is React Query used for server state?
|
|
13
|
+
- [ ] **Form State**: Are forms using controlled components correctly?
|
|
14
|
+
|
|
15
|
+
### 3. Dependencies
|
|
16
|
+
- [ ] **Circular Imports**: No circular dependencies between modules?
|
|
17
|
+
- [ ] **Layering**: Does data flow UI → Hooks → API → Database?
|
|
18
|
+
- [ ] **External Deps**: Are new packages justified and vetted?
|
|
19
|
+
|
|
20
|
+
### 4. Patterns
|
|
21
|
+
- [ ] **Project Conventions**: Following existing patterns?
|
|
22
|
+
- [ ] **Canonical Components**: Using project's standard UI components?
|
|
23
|
+
|
|
24
|
+
## References
|
|
25
|
+
|
|
26
|
+
- [Critical Patterns](../../../docs/solutions/patterns/critical-patterns.md)
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# Performance Review Pass
|
|
2
|
-
|
|
3
|
-
## Checklist
|
|
4
|
-
|
|
5
|
-
### 1. Rendering Performance
|
|
6
|
-
- [ ] **Unnecessary re-renders**: Are components memoized where needed (`React.memo`, `useMemo`, `useCallback`)?
|
|
7
|
-
- [ ] **Large lists**: Is virtualization used for lists >100 items?
|
|
8
|
-
- [ ] **Heavy computations**: Are expensive calculations deferred or cached?
|
|
9
|
-
|
|
10
|
-
### 2. Data Fetching
|
|
11
|
-
- [ ] **N+1 Queries**: Are queries batched? No fetching inside loops?
|
|
12
|
-
- [ ] **Caching**: Is React Query used with appropriate stale times?
|
|
13
|
-
- [ ] **Pagination**: Large datasets paginated?
|
|
14
|
-
|
|
15
|
-
### 3. Bundle Size
|
|
16
|
-
- [ ] **Dynamic imports**: Are heavy modules lazily loaded?
|
|
17
|
-
- [ ] **Tree shaking**: Are unused exports avoided?
|
|
18
|
-
|
|
19
|
-
## Verification Commands
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# Look for async calls in loops
|
|
23
|
-
grep -rn "forEach.*await\|map.*await" --include="*.ts" --include="*.tsx" .
|
|
24
|
-
|
|
25
|
-
# Check bundle size (if build available)
|
|
26
|
-
npm run build && ls -la .next/static/chunks/ | head -20
|
|
27
|
-
```
|
|
1
|
+
# Performance Review Pass
|
|
2
|
+
|
|
3
|
+
## Checklist
|
|
4
|
+
|
|
5
|
+
### 1. Rendering Performance
|
|
6
|
+
- [ ] **Unnecessary re-renders**: Are components memoized where needed (`React.memo`, `useMemo`, `useCallback`)?
|
|
7
|
+
- [ ] **Large lists**: Is virtualization used for lists >100 items?
|
|
8
|
+
- [ ] **Heavy computations**: Are expensive calculations deferred or cached?
|
|
9
|
+
|
|
10
|
+
### 2. Data Fetching
|
|
11
|
+
- [ ] **N+1 Queries**: Are queries batched? No fetching inside loops?
|
|
12
|
+
- [ ] **Caching**: Is React Query used with appropriate stale times?
|
|
13
|
+
- [ ] **Pagination**: Large datasets paginated?
|
|
14
|
+
|
|
15
|
+
### 3. Bundle Size
|
|
16
|
+
- [ ] **Dynamic imports**: Are heavy modules lazily loaded?
|
|
17
|
+
- [ ] **Tree shaking**: Are unused exports avoided?
|
|
18
|
+
|
|
19
|
+
## Verification Commands
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Look for async calls in loops
|
|
23
|
+
grep -rn "forEach.*await\|map.*await" --include="*.ts" --include="*.tsx" .
|
|
24
|
+
|
|
25
|
+
# Check bundle size (if build available)
|
|
26
|
+
npm run build && ls -la .next/static/chunks/ | head -20
|
|
27
|
+
```
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
# Security Review Pass
|
|
2
|
-
|
|
3
|
-
## Checklist
|
|
4
|
-
|
|
5
|
-
### 1. Authentication & Authorization
|
|
6
|
-
- [ ] **Auth Guards**: Are protected pages wrapped in `AuthGuard` or middleware check?
|
|
7
|
-
- [ ] **RLS Policies**: Do Supabase queries rely on RLS (Row Level Security)?
|
|
8
|
-
- *Check*: Are we using `supabase-js` client (enforces RLS) or `service_role` (bypasses RLS)?
|
|
9
|
-
- *Rule*: ONLY use `service_role` in backend API routes or Edge Functions, NEVER in frontend.
|
|
10
|
-
- [ ] **User Ownership**: Do write operations verify `user_id` matches the authenticated user?
|
|
11
|
-
|
|
12
|
-
### 2. Data Validation
|
|
13
|
-
- [ ] **Input Sanitization**: Are inputs validated (Zod/Yup)?
|
|
14
|
-
- [ ] **Type Safety**: Are we using strict TypeScript types? avoiding `any`?
|
|
15
|
-
- [ ] **SQL Injection**: Are we using parameterized queries (Supabase does this by default)?
|
|
16
|
-
|
|
17
|
-
### 3. Secrets Management
|
|
18
|
-
- [ ] **Environment Variables**: Are secrets (API keys) prefixed with `NEXT_PUBLIC_` ONLY if they are safe for public exposure?
|
|
19
|
-
- [ ] **Hardcoding**: `grep` for hardcoded keys or tokens.
|
|
20
|
-
|
|
21
|
-
## Verification Commands
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Find service role usage (potential bypass)
|
|
25
|
-
grep -r "createClient" . | grep "service_role"
|
|
26
|
-
|
|
27
|
-
# Find dangerous public keys
|
|
28
|
-
grep -r "NEXT_PUBLIC" . | grep "SECRET"
|
|
29
|
-
```
|
|
1
|
+
# Security Review Pass
|
|
2
|
+
|
|
3
|
+
## Checklist
|
|
4
|
+
|
|
5
|
+
### 1. Authentication & Authorization
|
|
6
|
+
- [ ] **Auth Guards**: Are protected pages wrapped in `AuthGuard` or middleware check?
|
|
7
|
+
- [ ] **RLS Policies**: Do Supabase queries rely on RLS (Row Level Security)?
|
|
8
|
+
- *Check*: Are we using `supabase-js` client (enforces RLS) or `service_role` (bypasses RLS)?
|
|
9
|
+
- *Rule*: ONLY use `service_role` in backend API routes or Edge Functions, NEVER in frontend.
|
|
10
|
+
- [ ] **User Ownership**: Do write operations verify `user_id` matches the authenticated user?
|
|
11
|
+
|
|
12
|
+
### 2. Data Validation
|
|
13
|
+
- [ ] **Input Sanitization**: Are inputs validated (Zod/Yup)?
|
|
14
|
+
- [ ] **Type Safety**: Are we using strict TypeScript types? avoiding `any`?
|
|
15
|
+
- [ ] **SQL Injection**: Are we using parameterized queries (Supabase does this by default)?
|
|
16
|
+
|
|
17
|
+
### 3. Secrets Management
|
|
18
|
+
- [ ] **Environment Variables**: Are secrets (API keys) prefixed with `NEXT_PUBLIC_` ONLY if they are safe for public exposure?
|
|
19
|
+
- [ ] **Hardcoding**: `grep` for hardcoded keys or tokens.
|
|
20
|
+
|
|
21
|
+
## Verification Commands
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Find service role usage (potential bypass)
|
|
25
|
+
grep -r "createClient" . | grep "service_role"
|
|
26
|
+
|
|
27
|
+
# Find dangerous public keys
|
|
28
|
+
grep -r "NEXT_PUBLIC" . | grep "SECRET"
|
|
29
|
+
```
|