antigravity-ai-kit 2.1.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/.agent/README.md +76 -0
- package/.agent/agents/README.md +129 -0
- package/.agent/agents/architect.md +184 -0
- package/.agent/agents/backend-specialist.md +77 -0
- package/.agent/agents/build-error-resolver.md +93 -0
- package/.agent/agents/code-reviewer.md +161 -0
- package/.agent/agents/database-architect.md +119 -0
- package/.agent/agents/devops-engineer.md +138 -0
- package/.agent/agents/doc-updater.md +79 -0
- package/.agent/agents/e2e-runner.md +110 -0
- package/.agent/agents/explorer-agent.md +135 -0
- package/.agent/agents/frontend-specialist.md +68 -0
- package/.agent/agents/knowledge-agent.md +83 -0
- package/.agent/agents/mobile-developer.md +114 -0
- package/.agent/agents/performance-optimizer.md +145 -0
- package/.agent/agents/planner.md +190 -0
- package/.agent/agents/refactor-cleaner.md +92 -0
- package/.agent/agents/reliability-engineer.md +98 -0
- package/.agent/agents/security-reviewer.md +145 -0
- package/.agent/agents/sprint-orchestrator.md +114 -0
- package/.agent/agents/tdd-guide.md +178 -0
- package/.agent/checklists/README.md +101 -0
- package/.agent/checklists/pre-commit.md +93 -0
- package/.agent/checklists/session-end.md +84 -0
- package/.agent/checklists/session-start.md +86 -0
- package/.agent/commands/README.md +119 -0
- package/.agent/commands/adr.md +29 -0
- package/.agent/commands/ask.md +28 -0
- package/.agent/commands/build.md +30 -0
- package/.agent/commands/changelog.md +40 -0
- package/.agent/commands/checkpoint.md +28 -0
- package/.agent/commands/code-review.md +64 -0
- package/.agent/commands/compact.md +28 -0
- package/.agent/commands/cook.md +30 -0
- package/.agent/commands/db.md +30 -0
- package/.agent/commands/debug.md +30 -0
- package/.agent/commands/deploy.md +36 -0
- package/.agent/commands/design.md +29 -0
- package/.agent/commands/doc.md +30 -0
- package/.agent/commands/eval.md +30 -0
- package/.agent/commands/fix.md +32 -0
- package/.agent/commands/git.md +32 -0
- package/.agent/commands/help.md +31 -0
- package/.agent/commands/implement.md +30 -0
- package/.agent/commands/integrate.md +32 -0
- package/.agent/commands/learn.md +29 -0
- package/.agent/commands/perf.md +31 -0
- package/.agent/commands/plan.md +55 -0
- package/.agent/commands/pr.md +30 -0
- package/.agent/commands/refactor.md +32 -0
- package/.agent/commands/research.md +28 -0
- package/.agent/commands/scout.md +30 -0
- package/.agent/commands/security-scan.md +33 -0
- package/.agent/commands/setup.md +31 -0
- package/.agent/commands/status.md +58 -0
- package/.agent/commands/tdd.md +72 -0
- package/.agent/commands/verify.md +58 -0
- package/.agent/decisions/001-trust-grade-governance.md +46 -0
- package/.agent/engine/loading-rules.json +98 -0
- package/.agent/engine/workflow-state.json +120 -0
- package/.agent/hooks/README.md +97 -0
- package/.agent/hooks/hooks.json +81 -0
- package/.agent/hooks/templates/session-end.md +110 -0
- package/.agent/hooks/templates/session-start.md +95 -0
- package/.agent/manifest.json +84 -0
- package/.agent/rules/coding-style.md +30 -0
- package/.agent/rules/git-workflow.md +45 -0
- package/.agent/rules/security.md +29 -0
- package/.agent/rules/testing.md +37 -0
- package/.agent/rules.md +272 -0
- package/.agent/session-context.md +80 -0
- package/.agent/session-state.json +27 -0
- package/.agent/skills/README.md +127 -0
- package/.agent/skills/api-patterns/SKILL.md +117 -0
- package/.agent/skills/app-builder/SKILL.md +202 -0
- package/.agent/skills/architecture/SKILL.md +109 -0
- package/.agent/skills/behavioral-modes/SKILL.md +295 -0
- package/.agent/skills/brainstorming/SKILL.md +156 -0
- package/.agent/skills/clean-code/SKILL.md +142 -0
- package/.agent/skills/context-budget/SKILL.md +78 -0
- package/.agent/skills/continuous-learning/SKILL.md +86 -0
- package/.agent/skills/database-design/SKILL.md +149 -0
- package/.agent/skills/debugging-strategies/SKILL.md +158 -0
- package/.agent/skills/deployment-procedures/SKILL.md +191 -0
- package/.agent/skills/docker-patterns/SKILL.md +161 -0
- package/.agent/skills/eval-harness/SKILL.md +89 -0
- package/.agent/skills/frontend-patterns/SKILL.md +141 -0
- package/.agent/skills/git-workflow/SKILL.md +159 -0
- package/.agent/skills/intelligent-routing/SKILL.md +180 -0
- package/.agent/skills/mobile-design/SKILL.md +191 -0
- package/.agent/skills/nodejs-patterns/SKILL.md +164 -0
- package/.agent/skills/parallel-agents/SKILL.md +200 -0
- package/.agent/skills/performance-profiling/SKILL.md +134 -0
- package/.agent/skills/plan-writing/SKILL.md +144 -0
- package/.agent/skills/security-practices/SKILL.md +140 -0
- package/.agent/skills/strategic-compact/SKILL.md +62 -0
- package/.agent/skills/testing-patterns/SKILL.md +141 -0
- package/.agent/skills/typescript-expert/SKILL.md +160 -0
- package/.agent/skills/verification-loop/SKILL.md +89 -0
- package/.agent/skills/webapp-testing/SKILL.md +175 -0
- package/.agent/workflows/README.md +78 -0
- package/.agent/workflows/brainstorm.md +100 -0
- package/.agent/workflows/create.md +75 -0
- package/.agent/workflows/debug.md +98 -0
- package/.agent/workflows/deploy.md +144 -0
- package/.agent/workflows/enhance.md +65 -0
- package/.agent/workflows/orchestrate.md +114 -0
- package/.agent/workflows/plan.md +72 -0
- package/.agent/workflows/preview.md +83 -0
- package/.agent/workflows/status.md +91 -0
- package/.agent/workflows/test.md +95 -0
- package/.agent/workflows/ui-ux-pro-max.md +127 -0
- package/LICENSE +21 -0
- package/README.md +585 -0
- package/bin/ag-kit.js +249 -0
- package/package.json +48 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nodejs-patterns
|
|
3
|
+
description: Node.js and backend framework best practices
|
|
4
|
+
triggers: [context, nodejs, nestjs, express, backend]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Node.js Patterns Skill
|
|
8
|
+
|
|
9
|
+
> **Purpose**: Apply professional Node.js patterns for backend development
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
This skill provides best practices for building scalable, maintainable Node.js applications.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Project Structure
|
|
20
|
+
|
|
21
|
+
### NestJS Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
src/
|
|
25
|
+
├── main.ts # Entry point
|
|
26
|
+
├── app.module.ts # Root module
|
|
27
|
+
├── common/ # Shared utilities
|
|
28
|
+
│ ├── decorators/
|
|
29
|
+
│ ├── filters/
|
|
30
|
+
│ ├── guards/
|
|
31
|
+
│ ├── interceptors/
|
|
32
|
+
│ └── pipes/
|
|
33
|
+
├── config/ # Configuration
|
|
34
|
+
│ ├── database.config.ts
|
|
35
|
+
│ └── app.config.ts
|
|
36
|
+
└── domains/ # Feature modules
|
|
37
|
+
├── users/
|
|
38
|
+
│ ├── users.module.ts
|
|
39
|
+
│ ├── users.controller.ts
|
|
40
|
+
│ ├── users.service.ts
|
|
41
|
+
│ ├── dto/
|
|
42
|
+
│ └── entities/
|
|
43
|
+
└── orders/
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Dependency Injection
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
// Service
|
|
52
|
+
@Injectable()
|
|
53
|
+
export class UserService {
|
|
54
|
+
constructor(
|
|
55
|
+
private readonly userRepository: UserRepository,
|
|
56
|
+
private readonly emailService: EmailService,
|
|
57
|
+
) {}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Controller
|
|
61
|
+
@Controller("users")
|
|
62
|
+
export class UserController {
|
|
63
|
+
constructor(private readonly userService: UserService) {}
|
|
64
|
+
|
|
65
|
+
@Get(":id")
|
|
66
|
+
async getUser(@Param("id") id: string) {
|
|
67
|
+
return this.userService.findById(id);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Error Handling
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
// Custom Exception
|
|
78
|
+
export class UserNotFoundException extends NotFoundException {
|
|
79
|
+
constructor(userId: string) {
|
|
80
|
+
super(`User with ID ${userId} not found`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Global Exception Filter
|
|
85
|
+
@Catch()
|
|
86
|
+
export class GlobalExceptionFilter implements ExceptionFilter {
|
|
87
|
+
catch(exception: unknown, host: ArgumentsHost) {
|
|
88
|
+
const ctx = host.switchToHttp();
|
|
89
|
+
const response = ctx.getResponse<Response>();
|
|
90
|
+
|
|
91
|
+
const status =
|
|
92
|
+
exception instanceof HttpException
|
|
93
|
+
? exception.getStatus()
|
|
94
|
+
: HttpStatus.INTERNAL_SERVER_ERROR;
|
|
95
|
+
|
|
96
|
+
response.status(status).json({
|
|
97
|
+
statusCode: status,
|
|
98
|
+
message: exception.message || "Internal server error",
|
|
99
|
+
timestamp: new Date().toISOString(),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Validation
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
// DTO with class-validator
|
|
111
|
+
export class CreateUserDto {
|
|
112
|
+
@IsEmail()
|
|
113
|
+
email: string;
|
|
114
|
+
|
|
115
|
+
@IsString()
|
|
116
|
+
@MinLength(8)
|
|
117
|
+
@Matches(/^(?=.*[A-Z])(?=.*[0-9])/)
|
|
118
|
+
password: string;
|
|
119
|
+
|
|
120
|
+
@IsOptional()
|
|
121
|
+
@IsString()
|
|
122
|
+
name?: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Controller with validation pipe
|
|
126
|
+
@Post()
|
|
127
|
+
@UsePipes(new ValidationPipe({ transform: true }))
|
|
128
|
+
async create(@Body() createUserDto: CreateUserDto) {
|
|
129
|
+
return this.userService.create(createUserDto);
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Async Patterns
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// Async/Await
|
|
139
|
+
async function processOrders() {
|
|
140
|
+
const orders = await Order.findAll({ where: { status: "pending" } });
|
|
141
|
+
await Promise.all(orders.map((order) => processOrder(order)));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Concurrent Limit
|
|
145
|
+
import pLimit from "p-limit";
|
|
146
|
+
const limit = pLimit(5); // Max 5 concurrent
|
|
147
|
+
|
|
148
|
+
await Promise.all(items.map((item) => limit(() => processItem(item))));
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Quick Reference
|
|
154
|
+
|
|
155
|
+
| Pattern | Usage |
|
|
156
|
+
| :---------- | :------------------------ |
|
|
157
|
+
| Module | Feature encapsulation |
|
|
158
|
+
| Service | Business logic |
|
|
159
|
+
| Controller | HTTP handling |
|
|
160
|
+
| Repository | Data access |
|
|
161
|
+
| DTO | Data transfer |
|
|
162
|
+
| Guard | Authorization |
|
|
163
|
+
| Interceptor | Cross-cutting |
|
|
164
|
+
| Pipe | Transformation/Validation |
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: parallel-agents
|
|
3
|
+
description: Multi-agent orchestration patterns for complex tasks requiring multiple domain expertise or comprehensive analysis.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
allowed-tools: Read, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Native Parallel Agents
|
|
9
|
+
|
|
10
|
+
> **Purpose**: Enable coordinating multiple specialized agents through Antigravity's native agent system while maintaining Trust-Grade governance.
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
This skill enables coordinating multiple specialized agents for complex tasks. Unlike external scripts, this approach keeps all orchestration within the kit's control while applying Trust-Grade governance protocols.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## When to Use Orchestration
|
|
19
|
+
|
|
20
|
+
✅ **Good for:**
|
|
21
|
+
|
|
22
|
+
- Complex tasks requiring multiple expertise domains
|
|
23
|
+
- Code analysis from security, performance, and quality perspectives
|
|
24
|
+
- Comprehensive reviews (architecture + security + testing)
|
|
25
|
+
- Feature implementation needing backend + frontend + database work
|
|
26
|
+
- Trust-Grade verticals (Auth, Payment, etc.)
|
|
27
|
+
|
|
28
|
+
❌ **Not for:**
|
|
29
|
+
|
|
30
|
+
- Simple, single-domain tasks
|
|
31
|
+
- Quick fixes or small changes
|
|
32
|
+
- Tasks where one agent suffices
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Native Agent Invocation
|
|
37
|
+
|
|
38
|
+
### Single Agent
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Use the security-reviewer agent to audit authentication
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Sequential Chain
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
First, use the architect to review structure.
|
|
48
|
+
Then, use the code-reviewer to check implementation.
|
|
49
|
+
Finally, use the tdd-guide to verify test coverage.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### With Context Passing
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Use the planner to break down the feature.
|
|
56
|
+
Based on that plan, have the architect design the structure.
|
|
57
|
+
Then, have the tdd-guide create test specifications.
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Resume Previous Work
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Resume agent [agentId] and continue with additional requirements.
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Orchestration Patterns
|
|
69
|
+
|
|
70
|
+
### Pattern 1: Feature Vertical (Trust-Grade Standard)
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Agents: planner → architect → [domain-agents] → tdd-guide → e2e-runner
|
|
74
|
+
|
|
75
|
+
1. planner: Break down feature into tasks
|
|
76
|
+
2. architect: Design component structure
|
|
77
|
+
3. [domain-agents]: Implement by domain
|
|
78
|
+
4. tdd-guide: Create/verify unit tests
|
|
79
|
+
5. e2e-runner: Create/verify E2E tests
|
|
80
|
+
6. Synthesize all deliverables
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Pattern 2: Code Review Comprehensive
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Agents: code-reviewer → security-reviewer → synthesis
|
|
87
|
+
|
|
88
|
+
1. code-reviewer: Quality and patterns review
|
|
89
|
+
2. security-reviewer: Security posture audit
|
|
90
|
+
3. Synthesize with prioritized findings
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Pattern 3: Security Audit
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
Agents: security-reviewer → architect → tdd-guide
|
|
97
|
+
|
|
98
|
+
1. security-reviewer: Vulnerability assessment
|
|
99
|
+
2. architect: Secure architecture patterns
|
|
100
|
+
3. tdd-guide: Security test specifications
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Pattern 4: Build Recovery
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Agents: build-error-resolver → refactor-cleaner → tdd-guide
|
|
107
|
+
|
|
108
|
+
1. build-error-resolver: Fix immediate errors
|
|
109
|
+
2. refactor-cleaner: Clean up technical debt
|
|
110
|
+
3. tdd-guide: Add regression tests
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Available Agents
|
|
116
|
+
|
|
117
|
+
| Agent | Expertise | Trigger Phrases |
|
|
118
|
+
| ---------------------- | ------------- | ----------------------------------- |
|
|
119
|
+
| `architect` | System Design | "design", "structure", "pattern" |
|
|
120
|
+
| `planner` | Task Planning | "plan", "roadmap", "breakdown" |
|
|
121
|
+
| `code-reviewer` | Code Quality | "review", "check", "audit" |
|
|
122
|
+
| `security-reviewer` | Security | "security", "auth", "vulnerability" |
|
|
123
|
+
| `tdd-guide` | Unit Testing | "test", "TDD", "coverage" |
|
|
124
|
+
| `e2e-runner` | E2E Testing | "e2e", "playwright", "integration" |
|
|
125
|
+
| `build-error-resolver` | Build Issues | "error", "compile", "typescript" |
|
|
126
|
+
| `refactor-cleaner` | Refactoring | "refactor", "clean", "improve" |
|
|
127
|
+
| `doc-updater` | Documentation | "docs", "readme", "document" |
|
|
128
|
+
| `knowledge-agent` | Knowledge | "learn", "pattern", "remember" |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Synthesis Protocol
|
|
133
|
+
|
|
134
|
+
After all agents complete, synthesize findings:
|
|
135
|
+
|
|
136
|
+
```markdown
|
|
137
|
+
## Orchestration Synthesis
|
|
138
|
+
|
|
139
|
+
### Task Summary
|
|
140
|
+
|
|
141
|
+
[What was accomplished]
|
|
142
|
+
|
|
143
|
+
### Agent Contributions
|
|
144
|
+
|
|
145
|
+
| Agent | Finding |
|
|
146
|
+
| ----------------- | --------------- |
|
|
147
|
+
| architect | Designed X |
|
|
148
|
+
| security-reviewer | Identified Y |
|
|
149
|
+
| tdd-guide | Created Z tests |
|
|
150
|
+
|
|
151
|
+
### Consolidated Deliverables
|
|
152
|
+
|
|
153
|
+
1. **Code Changes**: [summary]
|
|
154
|
+
2. **Test Coverage**: [metrics]
|
|
155
|
+
3. **Documentation**: [updates]
|
|
156
|
+
|
|
157
|
+
### Action Items
|
|
158
|
+
|
|
159
|
+
- [ ] Complete remaining tasks
|
|
160
|
+
- [ ] Run verification loop
|
|
161
|
+
- [ ] Update session state
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Trust-Grade Integration
|
|
167
|
+
|
|
168
|
+
### Pre-Orchestration Checklist
|
|
169
|
+
|
|
170
|
+
- [ ] Verify session state is current
|
|
171
|
+
- [ ] Check for active blockers
|
|
172
|
+
- [ ] Load relevant Meta-Directives
|
|
173
|
+
- [ ] Confirm scope with user if complex
|
|
174
|
+
|
|
175
|
+
### Post-Orchestration Protocol
|
|
176
|
+
|
|
177
|
+
- [ ] Run verification-loop skill
|
|
178
|
+
- [ ] Update session-state.json
|
|
179
|
+
- [ ] Trigger continuous-learning if patterns detected
|
|
180
|
+
- [ ] Document in knowledge base if novel approach
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Best Practices
|
|
185
|
+
|
|
186
|
+
1. **Logical Order**: Discovery → Design → Implementation → Testing
|
|
187
|
+
2. **Share Context**: Pass relevant findings to subsequent agents
|
|
188
|
+
3. **Single Synthesis**: One unified report, not separate outputs
|
|
189
|
+
4. **Verify Changes**: Always include tdd-guide for code modifications
|
|
190
|
+
5. **Maintain Governance**: Apply Trust-Grade protocols throughout
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Key Benefits
|
|
195
|
+
|
|
196
|
+
- ✅ **Single session** - All agents share context
|
|
197
|
+
- ✅ **AI-controlled** - Orchestrated autonomously
|
|
198
|
+
- ✅ **Trust-Grade** - Governance maintained throughout
|
|
199
|
+
- ✅ **Resume support** - Can continue previous agent work
|
|
200
|
+
- ✅ **Context passing** - Findings flow between agents
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: performance-profiling
|
|
3
|
+
description: Performance profiling principles. Core Web Vitals, measurement, analysis, and optimization.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
allowed-tools: Read, Glob, Grep, Bash
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Performance Profiling
|
|
9
|
+
|
|
10
|
+
> Measure, analyze, optimize — in that order.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 1. Core Web Vitals
|
|
15
|
+
|
|
16
|
+
### Targets
|
|
17
|
+
|
|
18
|
+
| Metric | Good | Poor | Measures |
|
|
19
|
+
| ------- | ------- | ------- | ------------- |
|
|
20
|
+
| **LCP** | < 2.5s | > 4.0s | Loading |
|
|
21
|
+
| **INP** | < 200ms | > 500ms | Interactivity |
|
|
22
|
+
| **CLS** | < 0.1 | > 0.25 | Stability |
|
|
23
|
+
|
|
24
|
+
### When to Measure
|
|
25
|
+
|
|
26
|
+
| Stage | Tool |
|
|
27
|
+
| ----------- | -------------------------- |
|
|
28
|
+
| Development | Local Lighthouse |
|
|
29
|
+
| CI/CD | Lighthouse CI |
|
|
30
|
+
| Production | RUM (Real User Monitoring) |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 2. Profiling Workflow
|
|
35
|
+
|
|
36
|
+
### The 4-Step Process
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
1. BASELINE → Measure current state
|
|
40
|
+
2. IDENTIFY → Find the bottleneck
|
|
41
|
+
3. FIX → Make targeted change
|
|
42
|
+
4. VALIDATE → Confirm improvement
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Tool Selection
|
|
46
|
+
|
|
47
|
+
| Problem | Tool |
|
|
48
|
+
| ----------- | -------------------- |
|
|
49
|
+
| Page load | Lighthouse |
|
|
50
|
+
| Bundle size | Bundle analyzer |
|
|
51
|
+
| Runtime | DevTools Performance |
|
|
52
|
+
| Memory | DevTools Memory |
|
|
53
|
+
| Network | DevTools Network |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 3. Bundle Analysis
|
|
58
|
+
|
|
59
|
+
### What to Look For
|
|
60
|
+
|
|
61
|
+
| Issue | Indicator |
|
|
62
|
+
| ------------------ | ------------------ |
|
|
63
|
+
| Large dependencies | Top of bundle |
|
|
64
|
+
| Duplicate code | Multiple chunks |
|
|
65
|
+
| Unused code | Low coverage |
|
|
66
|
+
| Missing splits | Single large chunk |
|
|
67
|
+
|
|
68
|
+
### Optimization Actions
|
|
69
|
+
|
|
70
|
+
| Finding | Action |
|
|
71
|
+
| -------------- | ----------------------- |
|
|
72
|
+
| Big library | Import specific modules |
|
|
73
|
+
| Duplicate deps | Dedupe, update versions |
|
|
74
|
+
| Route in main | Code split |
|
|
75
|
+
| Unused exports | Tree shake |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 4. Runtime Profiling
|
|
80
|
+
|
|
81
|
+
### Performance Tab
|
|
82
|
+
|
|
83
|
+
| Pattern | Meaning |
|
|
84
|
+
| ------------------ | -------------------- |
|
|
85
|
+
| Long tasks (>50ms) | UI blocking |
|
|
86
|
+
| Many small tasks | Batching opportunity |
|
|
87
|
+
| Layout/paint | Rendering bottleneck |
|
|
88
|
+
| Script | JS execution |
|
|
89
|
+
|
|
90
|
+
### Memory Tab
|
|
91
|
+
|
|
92
|
+
| Pattern | Meaning |
|
|
93
|
+
| -------------- | ---------------- |
|
|
94
|
+
| Growing heap | Possible leak |
|
|
95
|
+
| Large retained | Check references |
|
|
96
|
+
| Detached DOM | Not cleaned up |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 5. Common Bottlenecks
|
|
101
|
+
|
|
102
|
+
| Symptom | Likely Cause |
|
|
103
|
+
| ------------------ | ------------------------- |
|
|
104
|
+
| Slow initial load | Large JS, render blocking |
|
|
105
|
+
| Slow interactions | Heavy event handlers |
|
|
106
|
+
| Jank during scroll | Layout thrashing |
|
|
107
|
+
| Growing memory | Leaks, retained refs |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 6. Quick Win Priorities
|
|
112
|
+
|
|
113
|
+
| Priority | Action | Impact |
|
|
114
|
+
| -------- | ------------------- | ------ |
|
|
115
|
+
| 1 | Enable compression | High |
|
|
116
|
+
| 2 | Lazy load images | High |
|
|
117
|
+
| 3 | Code split routes | High |
|
|
118
|
+
| 4 | Cache static assets | Medium |
|
|
119
|
+
| 5 | Optimize images | Medium |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 7. Anti-Patterns
|
|
124
|
+
|
|
125
|
+
| ❌ Don't | ✅ Do |
|
|
126
|
+
| ----------------- | -------------------- |
|
|
127
|
+
| Guess at problems | Profile first |
|
|
128
|
+
| Micro-optimize | Fix biggest issue |
|
|
129
|
+
| Optimize early | Optimize when needed |
|
|
130
|
+
| Ignore real users | Use RUM data |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
> **Remember:** The fastest code is code that doesn't run. Remove before optimizing.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-writing
|
|
3
|
+
description: Structured task planning with clear breakdowns, dependencies, and verification criteria.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
allowed-tools: Read, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Plan Writing
|
|
9
|
+
|
|
10
|
+
> Small tasks, clear outcomes, verifiable results.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Framework for breaking down work into clear, actionable tasks with verification criteria.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Task Breakdown Principles
|
|
21
|
+
|
|
22
|
+
### 1. Small, Focused Tasks
|
|
23
|
+
|
|
24
|
+
- Each task: 2-5 minutes
|
|
25
|
+
- One clear outcome per task
|
|
26
|
+
- Independently verifiable
|
|
27
|
+
|
|
28
|
+
### 2. Clear Verification
|
|
29
|
+
|
|
30
|
+
- How do you know it's done?
|
|
31
|
+
- What can you check/test?
|
|
32
|
+
- What's the expected output?
|
|
33
|
+
|
|
34
|
+
### 3. Logical Ordering
|
|
35
|
+
|
|
36
|
+
- Dependencies identified
|
|
37
|
+
- Parallel work where possible
|
|
38
|
+
- Critical path highlighted
|
|
39
|
+
- **Verification is always LAST**
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Planning Principles
|
|
44
|
+
|
|
45
|
+
> 🔴 **NO fixed templates. Each plan is UNIQUE to the task.**
|
|
46
|
+
|
|
47
|
+
### Principle 1: Keep It SHORT
|
|
48
|
+
|
|
49
|
+
| ❌ Wrong | ✅ Right |
|
|
50
|
+
| --------------------------- | --------------------- |
|
|
51
|
+
| 50 tasks with sub-sub-tasks | 5-10 clear tasks max |
|
|
52
|
+
| Every micro-step listed | Only actionable items |
|
|
53
|
+
| Verbose descriptions | One-line per task |
|
|
54
|
+
|
|
55
|
+
> **Rule:** If plan is longer than 1 page, it's too long. Simplify.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### Principle 2: Be SPECIFIC, Not Generic
|
|
60
|
+
|
|
61
|
+
| ❌ Wrong | ✅ Right |
|
|
62
|
+
| -------------------- | -------------------------------------------------------- |
|
|
63
|
+
| "Set up project" | "Run `npx create-next-app`" |
|
|
64
|
+
| "Add authentication" | "Install next-auth, create `/api/auth/[...nextauth].ts`" |
|
|
65
|
+
| "Style the UI" | "Add Tailwind classes to `Header.tsx`" |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### Principle 3: Dynamic Content Based on Context
|
|
70
|
+
|
|
71
|
+
**For NEW PROJECT:**
|
|
72
|
+
|
|
73
|
+
- What tech stack?
|
|
74
|
+
- What's the MVP?
|
|
75
|
+
- What's the file structure?
|
|
76
|
+
|
|
77
|
+
**For FEATURE ADDITION:**
|
|
78
|
+
|
|
79
|
+
- Which files are affected?
|
|
80
|
+
- What dependencies needed?
|
|
81
|
+
- How to verify it works?
|
|
82
|
+
|
|
83
|
+
**For BUG FIX:**
|
|
84
|
+
|
|
85
|
+
- What's the root cause?
|
|
86
|
+
- What file/line to change?
|
|
87
|
+
- How to test the fix?
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### Principle 4: Verification is Simple
|
|
92
|
+
|
|
93
|
+
| ❌ Wrong | ✅ Right |
|
|
94
|
+
| ---------------------------- | -------------------------------------------- |
|
|
95
|
+
| "Verify the component works" | "Run `npm run dev`, click button, see toast" |
|
|
96
|
+
| "Test the API" | "curl localhost:3000/api/users returns 200" |
|
|
97
|
+
| "Check styles" | "Open browser, verify dark mode works" |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Plan Structure (Minimal)
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
# [Task Name]
|
|
105
|
+
|
|
106
|
+
## Goal
|
|
107
|
+
|
|
108
|
+
One sentence: What are we building/fixing?
|
|
109
|
+
|
|
110
|
+
## Tasks
|
|
111
|
+
|
|
112
|
+
- [ ] Task 1: [Action] → Verify: [Check]
|
|
113
|
+
- [ ] Task 2: [Action] → Verify: [Check]
|
|
114
|
+
- [ ] Task 3: [Action] → Verify: [Check]
|
|
115
|
+
|
|
116
|
+
## Done When
|
|
117
|
+
|
|
118
|
+
- [ ] [Main success criteria]
|
|
119
|
+
|
|
120
|
+
## Notes
|
|
121
|
+
|
|
122
|
+
[Any important considerations]
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
> **That's it.** No phases, no sub-sections unless truly needed.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Best Practices
|
|
130
|
+
|
|
131
|
+
1. **Start with goal** — What are we building/fixing?
|
|
132
|
+
2. **Max 10 tasks** — If more, break into multiple plans
|
|
133
|
+
3. **Each task verifiable** — Clear "done" criteria
|
|
134
|
+
4. **Project-specific** — No copy-paste templates
|
|
135
|
+
5. **Update as you go** — Mark `[x]` when complete
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## When to Use
|
|
140
|
+
|
|
141
|
+
- New project from scratch
|
|
142
|
+
- Adding a feature
|
|
143
|
+
- Fixing a bug (if complex)
|
|
144
|
+
- Refactoring multiple files
|