oh-my-customcode 0.1.2 → 0.1.4
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 +45 -32
- package/dist/cli/index.js +12 -20
- package/dist/index.js +3 -3
- package/package.json +2 -2
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +68 -0
- package/templates/.claude/rules/MUST-parallel-execution.md +66 -9
- package/templates/.claude/rules/MUST-tool-identification.md +79 -17
- package/templates/.claude/rules/SHOULD-hud-statusline.md +8 -1
- package/templates/agents/index.yaml +6 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +169 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +26 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +143 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +279 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +27 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +284 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +262 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +26 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +274 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +26 -0
- package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/creator/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/creator/refs/rules/index.yaml +125 -0
- package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +169 -0
- package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +143 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +42 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +107 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +90 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +129 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +165 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +100 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +58 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +80 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +89 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +51 -0
- package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +284 -0
- package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +262 -0
- package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +232 -0
- package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +21 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +243 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +212 -0
- package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +282 -0
- package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +309 -0
- package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +250 -0
- package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/guides/index.yaml +101 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +247 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +234 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/python/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +202 -0
- package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +79 -0
- package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +262 -0
- package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +180 -0
- package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +361 -0
- package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +22 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +225 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +219 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +66 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +20 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +102 -0
- package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/supplier/refs/rules/index.yaml +125 -0
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/SKILL.md +269 -0
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/SKILL.md +337 -0
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +356 -0
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +202 -0
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +255 -0
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +221 -0
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +100 -0
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +39 -0
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +266 -0
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +320 -0
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +28 -0
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/SKILL.md +73 -0
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/SKILL.md +117 -0
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +34 -0
- package/templates/agents/manager/supplier/refs/skills/index.yaml +129 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +279 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/SKILL.md +274 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +214 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +342 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +188 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/SKILL.md +194 -0
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +163 -0
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +36 -0
- package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/updater/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/updater/refs/rules/index.yaml +125 -0
- package/templates/agents/orchestrator/dev-lead/AGENT.md +47 -0
- package/templates/agents/orchestrator/secretary/AGENT.md +49 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +125 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +232 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +21 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +269 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +26 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +243 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +212 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +337 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +26 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +361 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +22 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +356 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +27 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +100 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +39 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +73 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +30 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +66 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +20 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +102 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +117 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +34 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +202 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +282 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +309 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +250 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +27 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +247 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +234 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/SKILL.md +255 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +27 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +202 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +79 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/SKILL.md +221 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +262 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +180 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/SKILL.md +266 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +225 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +219 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +320 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +28 -0
- package/templates/agents/tutor/go-tutor/AGENT.md +130 -0
- package/templates/agents/tutor/go-tutor/index.yaml +48 -0
- package/templates/examples/code-review.yaml +66 -0
- package/templates/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/index.yaml +18 -0
- package/templates/manifest.json +55 -0
- package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +9 -0
- package/templates/templates/pipeline-template.yaml +50 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Web Design Guide
|
|
2
|
+
|
|
3
|
+
metadata:
|
|
4
|
+
name: web-design
|
|
5
|
+
description: Web design best practices and accessibility reference
|
|
6
|
+
|
|
7
|
+
source:
|
|
8
|
+
type: external
|
|
9
|
+
origin: github
|
|
10
|
+
url: https://github.com/vercel-labs/agent-skills
|
|
11
|
+
related_skill: web-design-guidelines
|
|
12
|
+
|
|
13
|
+
documents:
|
|
14
|
+
- name: accessibility
|
|
15
|
+
title: Accessibility Best Practices
|
|
16
|
+
path: ./accessibility.md
|
|
17
|
+
|
|
18
|
+
- name: performance
|
|
19
|
+
title: Performance Guidelines
|
|
20
|
+
path: ./performance.md
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Performance Guidelines
|
|
2
|
+
|
|
3
|
+
> Reference guide for react-best-practices skill
|
|
4
|
+
|
|
5
|
+
## Core Web Vitals
|
|
6
|
+
|
|
7
|
+
### LCP (Largest Contentful Paint)
|
|
8
|
+
```
|
|
9
|
+
Good: < 2.5s
|
|
10
|
+
Needs improvement: 2.5s - 4s
|
|
11
|
+
Poor: > 4s
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### FID (First Input Delay)
|
|
15
|
+
```
|
|
16
|
+
Good: < 100ms
|
|
17
|
+
Needs improvement: 100ms - 300ms
|
|
18
|
+
Poor: > 300ms
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### CLS (Cumulative Layout Shift)
|
|
22
|
+
```
|
|
23
|
+
Good: < 0.1
|
|
24
|
+
Needs improvement: 0.1 - 0.25
|
|
25
|
+
Poor: > 0.25
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Optimization Strategies
|
|
29
|
+
|
|
30
|
+
### JavaScript
|
|
31
|
+
```
|
|
32
|
+
- Code splitting
|
|
33
|
+
- Tree shaking
|
|
34
|
+
- Lazy loading
|
|
35
|
+
- Minimize main thread work
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Images
|
|
39
|
+
```
|
|
40
|
+
- Modern formats (WebP, AVIF)
|
|
41
|
+
- Responsive images
|
|
42
|
+
- Lazy loading
|
|
43
|
+
- Proper sizing
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### CSS
|
|
47
|
+
```
|
|
48
|
+
- Critical CSS inline
|
|
49
|
+
- Defer non-critical
|
|
50
|
+
- Remove unused
|
|
51
|
+
- Minimize specificity
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Fonts
|
|
55
|
+
```
|
|
56
|
+
- font-display: swap
|
|
57
|
+
- Preload critical fonts
|
|
58
|
+
- Subset fonts
|
|
59
|
+
- System font fallback
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Next.js Specific
|
|
63
|
+
|
|
64
|
+
### Server Components
|
|
65
|
+
```tsx
|
|
66
|
+
// Default: Server Component (no directive)
|
|
67
|
+
export default function Page() {
|
|
68
|
+
return <div>Server rendered</div>
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Client Components
|
|
73
|
+
```tsx
|
|
74
|
+
'use client'
|
|
75
|
+
// Only when needed for interactivity
|
|
76
|
+
export default function Button() {
|
|
77
|
+
return <button onClick={...}>Click</button>
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Data Fetching
|
|
82
|
+
```tsx
|
|
83
|
+
// Server: fetch in component
|
|
84
|
+
async function Page() {
|
|
85
|
+
const data = await fetch(...)
|
|
86
|
+
return <div>{data}</div>
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Client: use SWR/React Query
|
|
90
|
+
'use client'
|
|
91
|
+
function Component() {
|
|
92
|
+
const { data } = useSWR('/api/data', fetcher)
|
|
93
|
+
return <div>{data}</div>
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Measurement Tools
|
|
98
|
+
|
|
99
|
+
- Lighthouse
|
|
100
|
+
- WebPageTest
|
|
101
|
+
- Chrome DevTools Performance
|
|
102
|
+
- Next.js Analytics
|
package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Web Design Guidelines
|
|
2
|
+
|
|
3
|
+
> **Source**: vercel-labs/agent-skills
|
|
4
|
+
> **Rules**: 100+ rules across 11 categories
|
|
5
|
+
|
|
6
|
+
## When to Use
|
|
7
|
+
|
|
8
|
+
- UI code review
|
|
9
|
+
- Accessibility audit
|
|
10
|
+
- Design consistency check
|
|
11
|
+
- UX best practices verification
|
|
12
|
+
|
|
13
|
+
## Command Triggers
|
|
14
|
+
|
|
15
|
+
- "Review UI"
|
|
16
|
+
- "Check accessibility"
|
|
17
|
+
- "Design audit"
|
|
18
|
+
- "Verify best practices"
|
|
19
|
+
|
|
20
|
+
## Categories
|
|
21
|
+
|
|
22
|
+
### ARIA Labels
|
|
23
|
+
```
|
|
24
|
+
- All interactive elements have labels
|
|
25
|
+
- Proper role attributes
|
|
26
|
+
- aria-live for dynamic content
|
|
27
|
+
- Descriptive aria-describedby
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Focus States
|
|
31
|
+
```
|
|
32
|
+
- Visible focus indicators
|
|
33
|
+
- Logical focus order
|
|
34
|
+
- Focus trapping in modals
|
|
35
|
+
- Skip links for navigation
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Form Validation
|
|
39
|
+
```
|
|
40
|
+
- Inline error messages
|
|
41
|
+
- Accessible error announcements
|
|
42
|
+
- Clear input requirements
|
|
43
|
+
- Proper label associations
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Animations
|
|
47
|
+
```
|
|
48
|
+
- Respect prefers-reduced-motion
|
|
49
|
+
- Meaningful animations only
|
|
50
|
+
- Performance-optimized transforms
|
|
51
|
+
- No animation on load
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Typography
|
|
55
|
+
```
|
|
56
|
+
- Readable font sizes (16px min)
|
|
57
|
+
- Proper line height (1.5+)
|
|
58
|
+
- Sufficient color contrast
|
|
59
|
+
- Responsive text scaling
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Images
|
|
63
|
+
```
|
|
64
|
+
- Alt text for all images
|
|
65
|
+
- Decorative images marked
|
|
66
|
+
- Responsive images
|
|
67
|
+
- Lazy loading implemented
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Performance
|
|
71
|
+
```
|
|
72
|
+
- Minimize layout shifts
|
|
73
|
+
- Optimize largest contentful paint
|
|
74
|
+
- Reduce time to interactive
|
|
75
|
+
- Efficient CSS selectors
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Navigation
|
|
79
|
+
```
|
|
80
|
+
- Keyboard accessible
|
|
81
|
+
- Clear current state
|
|
82
|
+
- Consistent patterns
|
|
83
|
+
- Breadcrumbs where needed
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Dark Mode
|
|
87
|
+
```
|
|
88
|
+
- System preference detection
|
|
89
|
+
- Smooth transitions
|
|
90
|
+
- Consistent color tokens
|
|
91
|
+
- Image adjustments
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Touch Interaction
|
|
95
|
+
```
|
|
96
|
+
- Minimum 44px touch targets
|
|
97
|
+
- Appropriate spacing
|
|
98
|
+
- Gesture alternatives
|
|
99
|
+
- Haptic feedback consideration
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### i18n
|
|
103
|
+
```
|
|
104
|
+
- RTL support
|
|
105
|
+
- Text expansion room
|
|
106
|
+
- Locale-aware formatting
|
|
107
|
+
- Translation-ready strings
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Execution Flow
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
1. Scan UI components
|
|
114
|
+
2. Check against category rules
|
|
115
|
+
3. Report violations
|
|
116
|
+
4. Suggest fixes
|
|
117
|
+
```
|
package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Web Design Guidelines Skill
|
|
2
|
+
|
|
3
|
+
metadata:
|
|
4
|
+
name: web-design-guidelines
|
|
5
|
+
category: development
|
|
6
|
+
description: UI code review with 100+ rules for accessibility, performance, and UX
|
|
7
|
+
|
|
8
|
+
source:
|
|
9
|
+
type: external
|
|
10
|
+
origin: github
|
|
11
|
+
url: https://github.com/vercel-labs/agent-skills
|
|
12
|
+
path: skills/web-design-guidelines
|
|
13
|
+
version: "1.0.0"
|
|
14
|
+
last_updated: "2025-01-22"
|
|
15
|
+
|
|
16
|
+
triggers:
|
|
17
|
+
- "UI review"
|
|
18
|
+
- "accessibility check"
|
|
19
|
+
- "design audit"
|
|
20
|
+
- "UX review"
|
|
21
|
+
- "a11y check"
|
|
22
|
+
|
|
23
|
+
categories:
|
|
24
|
+
- aria-labels
|
|
25
|
+
- focus-states
|
|
26
|
+
- form-validation
|
|
27
|
+
- animations
|
|
28
|
+
- typography
|
|
29
|
+
- images
|
|
30
|
+
- performance
|
|
31
|
+
- navigation
|
|
32
|
+
- dark-mode
|
|
33
|
+
- touch-interaction
|
|
34
|
+
- i18n
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# Go Best Practices Skill
|
|
2
|
+
|
|
3
|
+
> **Category**: Development
|
|
4
|
+
> **Source**: Internal (based on Effective Go)
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
|
|
8
|
+
Apply idiomatic Go patterns and best practices from official Go documentation.
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
|
|
12
|
+
### 1. Formatting
|
|
13
|
+
|
|
14
|
+
```yaml
|
|
15
|
+
rules:
|
|
16
|
+
- Use gofmt for all code formatting
|
|
17
|
+
- Indentation uses tabs, not spaces
|
|
18
|
+
- No line length limit, but break long lines sensibly
|
|
19
|
+
- Let gofmt handle alignment
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### 2. Naming Conventions
|
|
23
|
+
|
|
24
|
+
```yaml
|
|
25
|
+
package_names:
|
|
26
|
+
- Short, concise, lowercase, single-word
|
|
27
|
+
- No underscores or mixedCaps
|
|
28
|
+
- Name is basename of source directory
|
|
29
|
+
- Example: bufio, not bufIO or buf_io
|
|
30
|
+
|
|
31
|
+
getters:
|
|
32
|
+
- No "Get" prefix for getters
|
|
33
|
+
- obj.Owner() not obj.GetOwner()
|
|
34
|
+
- Setter can use "Set": obj.SetOwner(user)
|
|
35
|
+
|
|
36
|
+
interface_names:
|
|
37
|
+
- One-method interfaces: method name + "er"
|
|
38
|
+
- Reader, Writer, Formatter, CloseNotifier
|
|
39
|
+
- Avoid stealing standard names unless same signature
|
|
40
|
+
|
|
41
|
+
mixedCaps:
|
|
42
|
+
- Use MixedCaps or mixedCaps, never underscores
|
|
43
|
+
- Exported: MixedCaps (uppercase first)
|
|
44
|
+
- Unexported: mixedCaps (lowercase first)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 3. Control Structures
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
if_statements:
|
|
51
|
+
- Accept initialization statement
|
|
52
|
+
- Prefer: if err := file.Chmod(0664); err != nil
|
|
53
|
+
- Omit else when if ends with break/continue/return
|
|
54
|
+
- Avoid unnecessary else
|
|
55
|
+
|
|
56
|
+
for_loops:
|
|
57
|
+
- Go's only loop construct
|
|
58
|
+
- for init; condition; post { } - like C for
|
|
59
|
+
- for condition { } - like C while
|
|
60
|
+
- for { } - infinite loop
|
|
61
|
+
- Use range for strings, slices, arrays, maps, channels
|
|
62
|
+
|
|
63
|
+
switch:
|
|
64
|
+
- Cases don't fall through by default
|
|
65
|
+
- Use fallthrough keyword if needed
|
|
66
|
+
- Multiple cases: case '0', '1', '2'
|
|
67
|
+
- Type switch: switch v := x.(type)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 4. Functions
|
|
71
|
+
|
|
72
|
+
```yaml
|
|
73
|
+
multiple_returns:
|
|
74
|
+
- Return multiple values for result + error
|
|
75
|
+
- func (file *File) Write(b []byte) (n int, err error)
|
|
76
|
+
|
|
77
|
+
named_results:
|
|
78
|
+
- Document return values with names
|
|
79
|
+
- Can simplify code but use judiciously
|
|
80
|
+
- Unnamed returns OK for short functions
|
|
81
|
+
|
|
82
|
+
defer:
|
|
83
|
+
- Executes when function returns
|
|
84
|
+
- LIFO order for multiple defers
|
|
85
|
+
- Use for cleanup: unlock mutexes, close files
|
|
86
|
+
- Arguments evaluated when defer executes, not when called
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 5. Data
|
|
90
|
+
|
|
91
|
+
```yaml
|
|
92
|
+
new_vs_make:
|
|
93
|
+
- new(T): allocates zeroed storage, returns *T
|
|
94
|
+
- make(T, args): creates slices, maps, channels only
|
|
95
|
+
- make returns initialized (not zeroed) value of type T
|
|
96
|
+
|
|
97
|
+
slices:
|
|
98
|
+
- Backed by arrays, can grow
|
|
99
|
+
- append() to add elements
|
|
100
|
+
- copy() for safe duplication
|
|
101
|
+
- Slice of slice shares underlying array
|
|
102
|
+
|
|
103
|
+
maps:
|
|
104
|
+
- Reference type, nil until initialized
|
|
105
|
+
- make(map[KeyType]ValueType)
|
|
106
|
+
- Comma ok idiom: val, ok := map[key]
|
|
107
|
+
- delete(map, key) to remove
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 6. Methods
|
|
111
|
+
|
|
112
|
+
```yaml
|
|
113
|
+
pointer_vs_value_receivers:
|
|
114
|
+
- Pointer receiver: can modify, no copy overhead
|
|
115
|
+
- Value receiver: safe from modification
|
|
116
|
+
- If any method needs pointer, all should use pointer
|
|
117
|
+
- Rule: values immutable, pointers mutable
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 7. Interfaces
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
design:
|
|
124
|
+
- Interfaces define behavior, not data
|
|
125
|
+
- Small interfaces (1-3 methods) preferred
|
|
126
|
+
- Accept interfaces, return structs
|
|
127
|
+
- If type implements interface, it satisfies implicitly
|
|
128
|
+
|
|
129
|
+
common_interfaces:
|
|
130
|
+
- io.Reader: Read(p []byte) (n int, err error)
|
|
131
|
+
- io.Writer: Write(p []byte) (n int, err error)
|
|
132
|
+
- fmt.Stringer: String() string
|
|
133
|
+
- error: Error() string
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 8. Concurrency
|
|
137
|
+
|
|
138
|
+
```yaml
|
|
139
|
+
goroutines:
|
|
140
|
+
- Lightweight, multiplexed onto OS threads
|
|
141
|
+
- go function() to start
|
|
142
|
+
- Don't communicate by sharing memory
|
|
143
|
+
- Share memory by communicating
|
|
144
|
+
|
|
145
|
+
channels:
|
|
146
|
+
- Primary synchronization mechanism
|
|
147
|
+
- ch := make(chan int) - unbuffered
|
|
148
|
+
- ch := make(chan int, 100) - buffered
|
|
149
|
+
- Send: ch <- v
|
|
150
|
+
- Receive: v := <-ch
|
|
151
|
+
- Close: close(ch)
|
|
152
|
+
|
|
153
|
+
patterns:
|
|
154
|
+
- Don't leak goroutines - ensure they exit
|
|
155
|
+
- Use context for cancellation
|
|
156
|
+
- select for multiple channel operations
|
|
157
|
+
- sync.WaitGroup for goroutine coordination
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 9. Error Handling
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
principles:
|
|
164
|
+
- Errors are values, handle them explicitly
|
|
165
|
+
- Check errors immediately after call
|
|
166
|
+
- Return errors, don't panic
|
|
167
|
+
- Add context when propagating: fmt.Errorf("op failed: %w", err)
|
|
168
|
+
|
|
169
|
+
panic_recover:
|
|
170
|
+
- Panic for unrecoverable errors only
|
|
171
|
+
- Library functions should return errors, not panic
|
|
172
|
+
- Recover only in deferred functions
|
|
173
|
+
- Convert internal panics to errors at package boundary
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 10. Project Structure
|
|
177
|
+
|
|
178
|
+
```yaml
|
|
179
|
+
packages:
|
|
180
|
+
- One package per directory
|
|
181
|
+
- Package name matches directory name
|
|
182
|
+
- main package for executables
|
|
183
|
+
- Avoid circular imports
|
|
184
|
+
|
|
185
|
+
files:
|
|
186
|
+
- doc.go for package documentation
|
|
187
|
+
- _test.go suffix for test files
|
|
188
|
+
- Group related types and functions
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Application
|
|
192
|
+
|
|
193
|
+
When writing or reviewing Go code:
|
|
194
|
+
|
|
195
|
+
1. **Always** run `gofmt` or `goimports`
|
|
196
|
+
2. **Always** handle returned errors
|
|
197
|
+
3. **Prefer** composition over inheritance
|
|
198
|
+
4. **Prefer** small interfaces
|
|
199
|
+
5. **Prefer** channels for goroutine communication
|
|
200
|
+
6. **Avoid** global state
|
|
201
|
+
7. **Avoid** init() when possible
|
|
202
|
+
8. **Document** exported identifiers
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Go Best Practices Skill
|
|
2
|
+
|
|
3
|
+
metadata:
|
|
4
|
+
name: go-best-practices
|
|
5
|
+
category: development
|
|
6
|
+
description: Idiomatic Go patterns from Effective Go
|
|
7
|
+
|
|
8
|
+
source:
|
|
9
|
+
type: internal
|
|
10
|
+
reference: https://go.dev/doc/effective_go
|
|
11
|
+
|
|
12
|
+
provides:
|
|
13
|
+
- Go code formatting standards
|
|
14
|
+
- Naming conventions
|
|
15
|
+
- Control structure patterns
|
|
16
|
+
- Function design patterns
|
|
17
|
+
- Data structure usage
|
|
18
|
+
- Method receiver guidelines
|
|
19
|
+
- Interface design
|
|
20
|
+
- Concurrency patterns
|
|
21
|
+
- Error handling patterns
|
|
22
|
+
- Project structure guidelines
|
|
23
|
+
|
|
24
|
+
used_by:
|
|
25
|
+
- golang-expert
|