contextos-agents 1.7.0 → 2.0.0-beta.2
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/.agents/AGENTS.md +1 -1
- package/.agents/adapters/aider/export.js +117 -99
- package/.agents/adapters/claude/export.js +68 -26
- package/.agents/adapters/copilot/export.js +90 -53
- package/.agents/adapters/cursor/export.js +80 -101
- package/.agents/adapters/drift-detector.js +196 -0
- package/.agents/adapters/gemini/export.js +76 -45
- package/.agents/adapters/pure-compiler.js +443 -0
- package/.agents/adapters/zed/export.js +104 -96
- package/.agents/compiled/registry.v2.json +504 -0
- package/.agents/compiled/registry.v2.sha256 +1 -0
- package/.agents/compiler/manifest-compiler.js +963 -0
- package/.agents/compiler/vendor/yaml.LICENSE.txt +13 -0
- package/.agents/compiler/vendor/yaml.SBOM.json +6 -0
- package/.agents/compiler/vendor/yaml.js +139 -0
- package/.agents/core/profiles/init.yaml +25 -0
- package/.agents/core/skills/context-manager/skill.yaml +3 -5
- package/.agents/core/skills/context-os/SKILL.md +3 -6
- package/.agents/core/skills/context-os/skill.yaml +3 -8
- package/.agents/core/skills/engineering-workflow/skill.yaml +1 -7
- package/.agents/core/skills/gemini-precision/skill.yaml +1 -6
- package/.agents/core/skills/gstack-roles/skill.yaml +3 -6
- package/.agents/core/skills/ponytail-mindset/skill.yaml +1 -7
- package/.agents/core/skills/security/skill.yaml +15 -3
- package/.agents/ctx.js +574 -111
- package/.agents/customization-dx.js +282 -0
- package/.agents/doctor.js +719 -64
- package/.agents/filesystem/index.js +71 -0
- package/.agents/filesystem/journaled-transaction.js +451 -0
- package/.agents/filesystem/lockfile-v2.js +275 -0
- package/.agents/filesystem/platform-hardening.js +222 -0
- package/.agents/filesystem/project-lock.js +218 -0
- package/.agents/filesystem/safe-path.js +256 -0
- package/.agents/generated/claude/skills/context-os/SKILL.md +1 -1
- package/.agents/generated/gemini/skills/context-os/SKILL.md +2 -2
- package/.agents/plugins/contextos/plugin.json +1 -1
- package/.agents/plugins.js +259 -60
- package/.agents/profiles.js +486 -51
- package/.agents/resolver.js +50 -534
- package/.agents/schemas/attestation.review.v1.json +111 -0
- package/.agents/schemas/attestation.verification.v1.json +85 -0
- package/.agents/schemas/lockfile.v2.schema.json +134 -0
- package/.agents/schemas/profile.v2.schema.json +114 -0
- package/.agents/schemas/runtime.thread.v1.json +192 -0
- package/.agents/schemas/skill.manifest.v2.json +177 -0
- package/.agents/schemas/verification.spec.v1.json +39 -0
- package/.agents/schemas/workspace.graph.schema.json +106 -0
- package/.agents/transaction-core/event-store.js +288 -0
- package/.agents/transaction-core/idempotency.js +129 -0
- package/.agents/transaction-core/ipc-lock.js +311 -0
- package/.agents/transaction-core/plugin-supply-chain-bundle.js +436 -0
- package/.agents/validate.js +44 -1
- package/.agents/watch.js +354 -102
- package/.agents/workspace/workspace-graph.js +778 -0
- package/README.md +59 -387
- package/benchmarks/v2/analysis/statistics.js +140 -0
- package/benchmarks/v2/analysis/stats.js +69 -0
- package/benchmarks/v2/arms/arm-definitions.js +79 -0
- package/benchmarks/v2/dataset.schema.json +34 -0
- package/benchmarks/v2/evaluators/index.js +25 -0
- package/benchmarks/v2/evaluators/verified-success.js +116 -0
- package/benchmarks/v2/harness/runner.js +88 -0
- package/benchmarks/v2/pilot-tasks.json +392 -0
- package/bin/commands/recover.js +88 -0
- package/bin/commands/update.js +80 -17
- package/bin/commands.js +62 -25
- package/bin/index.js +138 -81
- package/bin/lib/lockfile.js +5 -3
- package/bin/lib/safe-writer.js +34 -3
- package/package.json +85 -72
- package/registry.json +2 -2
- package/registry.v2.schema.json +86 -0
- package/.agents/core/profiles/backend.yaml +0 -47
- package/.agents/core/profiles/enterprise.yaml +0 -46
- package/.agents/core/profiles/frontend.yaml +0 -46
- package/.agents/core/profiles/hackathon.yaml +0 -45
- package/.agents/core/profiles/mvp.yaml +0 -44
- package/.agents/core/profiles/startup.yaml +0 -48
- package/.agents/core/skills/adapters/EXAMPLES.md +0 -19
- package/.agents/core/skills/adapters/SKILL.md +0 -105
- package/.agents/core/skills/adapters/TROUBLESHOOTING.md +0 -7
- package/.agents/core/skills/adapters/VALIDATION.json +0 -12
- package/.agents/core/skills/adapters/skill.yaml +0 -16
- package/.agents/core/skills/architecture-diagrams/SKILL.md +0 -108
- package/.agents/core/skills/architecture-diagrams/VALIDATION.json +0 -12
- package/.agents/core/skills/architecture-diagrams/skill.yaml +0 -12
- package/.agents/core/skills/brutalist-design/SKILL.md +0 -150
- package/.agents/core/skills/brutalist-design/VALIDATION.json +0 -12
- package/.agents/core/skills/brutalist-design/skill.yaml +0 -12
- package/.agents/core/skills/database/EXAMPLES.md +0 -74
- package/.agents/core/skills/database/SKILL.md +0 -101
- package/.agents/core/skills/database/TROUBLESHOOTING.md +0 -18
- package/.agents/core/skills/database/VALIDATION.json +0 -11
- package/.agents/core/skills/database/skill.yaml +0 -31
- package/.agents/core/skills/ddd/EXAMPLES.md +0 -42
- package/.agents/core/skills/ddd/SKILL.md +0 -247
- package/.agents/core/skills/ddd/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/ddd/VALIDATION.json +0 -12
- package/.agents/core/skills/ddd/ddd.md +0 -178
- package/.agents/core/skills/ddd/skill.yaml +0 -17
- package/.agents/core/skills/decisions/EXAMPLES.md +0 -35
- package/.agents/core/skills/decisions/SKILL.md +0 -90
- package/.agents/core/skills/decisions/TROUBLESHOOTING.md +0 -13
- package/.agents/core/skills/decisions/VALIDATION.json +0 -12
- package/.agents/core/skills/decisions/skill.yaml +0 -16
- package/.agents/core/skills/docker/EXAMPLES.md +0 -56
- package/.agents/core/skills/docker/SKILL.md +0 -63
- package/.agents/core/skills/docker/TROUBLESHOOTING.md +0 -18
- package/.agents/core/skills/docker/VALIDATION.json +0 -11
- package/.agents/core/skills/docker/skill.yaml +0 -29
- package/.agents/core/skills/fastapi/EXAMPLES.md +0 -36
- package/.agents/core/skills/fastapi/SKILL.md +0 -148
- package/.agents/core/skills/fastapi/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/fastapi/VALIDATION.json +0 -12
- package/.agents/core/skills/fastapi/fastapi.md +0 -112
- package/.agents/core/skills/fastapi/skill.yaml +0 -17
- package/.agents/core/skills/generators/EXAMPLES.md +0 -19
- package/.agents/core/skills/generators/SKILL.md +0 -112
- package/.agents/core/skills/generators/TROUBLESHOOTING.md +0 -7
- package/.agents/core/skills/generators/VALIDATION.json +0 -12
- package/.agents/core/skills/generators/skill.yaml +0 -25
- package/.agents/core/skills/generators/templates/API.md +0 -77
- package/.agents/core/skills/generators/templates/ARCHITECTURE.md +0 -70
- package/.agents/core/skills/generators/templates/DATABASE.md +0 -42
- package/.agents/core/skills/generators/templates/DECISION.md +0 -46
- package/.agents/core/skills/generators/templates/PRD.md +0 -67
- package/.agents/core/skills/generators/templates/PROJECT_GRAPH.md +0 -56
- package/.agents/core/skills/generators/templates/ROADMAP.md +0 -51
- package/.agents/core/skills/generators/templates/TASKS.md +0 -43
- package/.agents/core/skills/generators/templates/UI.md +0 -73
- package/.agents/core/skills/graphify/EXAMPLES.md +0 -73
- package/.agents/core/skills/graphify/SKILL.md +0 -130
- package/.agents/core/skills/graphify/VALIDATION.json +0 -12
- package/.agents/core/skills/graphify/skill.yaml +0 -18
- package/.agents/core/skills/impeccable-design/EXAMPLES.md +0 -26
- package/.agents/core/skills/impeccable-design/SKILL.md +0 -201
- package/.agents/core/skills/impeccable-design/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/impeccable-design/VALIDATION.json +0 -12
- package/.agents/core/skills/impeccable-design/skill.yaml +0 -20
- package/.agents/core/skills/interview-me/SKILL.md +0 -97
- package/.agents/core/skills/interview-me/VALIDATION.json +0 -12
- package/.agents/core/skills/interview-me/skill.yaml +0 -12
- package/.agents/core/skills/microservices/EXAMPLES.md +0 -38
- package/.agents/core/skills/microservices/SKILL.md +0 -164
- package/.agents/core/skills/microservices/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/microservices/VALIDATION.json +0 -12
- package/.agents/core/skills/microservices/microservices.md +0 -119
- package/.agents/core/skills/microservices/skill.yaml +0 -17
- package/.agents/core/skills/minimalist-design/SKILL.md +0 -113
- package/.agents/core/skills/minimalist-design/VALIDATION.json +0 -12
- package/.agents/core/skills/minimalist-design/skill.yaml +0 -12
- package/.agents/core/skills/nestjs/EXAMPLES.md +0 -40
- package/.agents/core/skills/nestjs/SKILL.md +0 -139
- package/.agents/core/skills/nestjs/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/nestjs/VALIDATION.json +0 -12
- package/.agents/core/skills/nestjs/nestjs.md +0 -103
- package/.agents/core/skills/nestjs/skill.yaml +0 -17
- package/.agents/core/skills/nextjs/EXAMPLES.md +0 -40
- package/.agents/core/skills/nextjs/SKILL.md +0 -163
- package/.agents/core/skills/nextjs/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/nextjs/VALIDATION.json +0 -12
- package/.agents/core/skills/nextjs/nextjs.md +0 -67
- package/.agents/core/skills/nextjs/skill.yaml +0 -17
- package/.agents/core/skills/node/EXAMPLES.md +0 -80
- package/.agents/core/skills/node/SKILL.md +0 -128
- package/.agents/core/skills/node/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/node/VALIDATION.json +0 -12
- package/.agents/core/skills/node/node.md +0 -87
- package/.agents/core/skills/node/skill.yaml +0 -17
- package/.agents/core/skills/performance/EXAMPLES.md +0 -30
- package/.agents/core/skills/performance/SKILL.md +0 -75
- package/.agents/core/skills/performance/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/performance/VALIDATION.json +0 -12
- package/.agents/core/skills/performance/performance.md +0 -52
- package/.agents/core/skills/performance/skill.yaml +0 -17
- package/.agents/core/skills/react/EXAMPLES.md +0 -79
- package/.agents/core/skills/react/SKILL.md +0 -132
- package/.agents/core/skills/react/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/react/VALIDATION.json +0 -12
- package/.agents/core/skills/react/react.md +0 -93
- package/.agents/core/skills/react/skill.yaml +0 -17
- package/.agents/core/skills/react-best-practices/SKILL.md +0 -155
- package/.agents/core/skills/react-best-practices/VALIDATION.json +0 -12
- package/.agents/core/skills/react-best-practices/skill.yaml +0 -14
- package/.agents/core/skills/redesign-audit/SKILL.md +0 -117
- package/.agents/core/skills/redesign-audit/VALIDATION.json +0 -12
- package/.agents/core/skills/redesign-audit/skill.yaml +0 -12
- package/.agents/core/skills/soft-design/SKILL.md +0 -108
- package/.agents/core/skills/soft-design/VALIDATION.json +0 -12
- package/.agents/core/skills/soft-design/skill.yaml +0 -12
- package/.agents/core/skills/state-management/EXAMPLES.md +0 -56
- package/.agents/core/skills/state-management/SKILL.md +0 -48
- package/.agents/core/skills/state-management/TROUBLESHOOTING.md +0 -18
- package/.agents/core/skills/state-management/VALIDATION.json +0 -11
- package/.agents/core/skills/state-management/skill.yaml +0 -28
- package/.agents/core/skills/subagent-orchestrator/SKILL.md +0 -117
- package/.agents/core/skills/subagent-orchestrator/VALIDATION.json +0 -12
- package/.agents/core/skills/subagent-orchestrator/skill.yaml +0 -12
- package/.agents/core/skills/system-design/EXAMPLES.md +0 -75
- package/.agents/core/skills/system-design/SKILL.md +0 -419
- package/.agents/core/skills/system-design/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/system-design/VALIDATION.json +0 -12
- package/.agents/core/skills/system-design/skill.yaml +0 -20
- package/.agents/core/skills/system-design/system-design.md +0 -112
- package/.agents/core/skills/testing/EXAMPLES.md +0 -71
- package/.agents/core/skills/testing/SKILL.md +0 -70
- package/.agents/core/skills/testing/TROUBLESHOOTING.md +0 -18
- package/.agents/core/skills/testing/VALIDATION.json +0 -11
- package/.agents/core/skills/testing/skill.yaml +0 -32
- package/.agents/core/skills/typescript/EXAMPLES.md +0 -64
- package/.agents/core/skills/typescript/SKILL.md +0 -112
- package/.agents/core/skills/typescript/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/typescript/VALIDATION.json +0 -12
- package/.agents/core/skills/typescript/skill.yaml +0 -17
- package/.agents/core/skills/typescript/typescript.md +0 -71
- package/.agents/core/skills/ui-design/EXAMPLES.md +0 -21
- package/.agents/core/skills/ui-design/SKILL.md +0 -124
- package/.agents/core/skills/ui-design/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/ui-design/VALIDATION.json +0 -12
- package/.agents/core/skills/ui-design/skill.yaml +0 -17
- package/.agents/core/skills/ui-design/ui.md +0 -88
- package/.agents/core/skills/ui-ux-pro/EXAMPLES.md +0 -62
- package/.agents/core/skills/ui-ux-pro/SKILL.md +0 -375
- package/.agents/core/skills/ui-ux-pro/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/ui-ux-pro/VALIDATION.json +0 -12
- package/.agents/core/skills/ui-ux-pro/skill.yaml +0 -19
- package/.agents/core/skills/ux-design/EXAMPLES.md +0 -36
- package/.agents/core/skills/ux-design/SKILL.md +0 -116
- package/.agents/core/skills/ux-design/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/ux-design/VALIDATION.json +0 -12
- package/.agents/core/skills/ux-design/skill.yaml +0 -17
- package/.agents/core/skills/ux-design/ux.md +0 -80
- package/.agents/core/skills/vercel-optimize/SKILL.md +0 -83
- package/.agents/core/skills/vercel-optimize/VALIDATION.json +0 -12
- package/.agents/core/skills/vercel-optimize/scripts/collect-signals.mjs +0 -131
- package/.agents/core/skills/vercel-optimize/scripts/gate-investigations.mjs +0 -142
- package/.agents/core/skills/vercel-optimize/scripts/merge-signals.mjs +0 -143
- package/.agents/core/skills/vercel-optimize/scripts/scan-codebase.mjs +0 -174
- package/.agents/core/skills/vercel-optimize/skill.yaml +0 -18
- package/.agents/core/skills/web-accessibility/EXAMPLES.md +0 -39
- package/.agents/core/skills/web-accessibility/SKILL.md +0 -170
- package/.agents/core/skills/web-accessibility/TROUBLESHOOTING.md +0 -19
- package/.agents/core/skills/web-accessibility/VALIDATION.json +0 -12
- package/.agents/core/skills/web-accessibility/accessibility.md +0 -63
- package/.agents/core/skills/web-accessibility/skill.yaml +0 -17
- package/.agents/generated/claude/skills/adapters/SKILL.md +0 -126
- package/.agents/generated/claude/skills/architecture-diagrams/SKILL.md +0 -101
- package/.agents/generated/claude/skills/brutalist-design/SKILL.md +0 -145
- package/.agents/generated/claude/skills/database/SKILL.md +0 -191
- package/.agents/generated/claude/skills/ddd/SKILL.md +0 -305
- package/.agents/generated/claude/skills/decisions/SKILL.md +0 -134
- package/.agents/generated/claude/skills/docker/SKILL.md +0 -135
- package/.agents/generated/claude/skills/fastapi/SKILL.md +0 -200
- package/.agents/generated/claude/skills/generators/SKILL.md +0 -133
- package/.agents/generated/claude/skills/graphify/SKILL.md +0 -198
- package/.agents/generated/claude/skills/impeccable-design/SKILL.md +0 -241
- package/.agents/generated/claude/skills/interview-me/SKILL.md +0 -90
- package/.agents/generated/claude/skills/microservices/SKILL.md +0 -218
- package/.agents/generated/claude/skills/minimalist-design/SKILL.md +0 -108
- package/.agents/generated/claude/skills/nestjs/SKILL.md +0 -195
- package/.agents/generated/claude/skills/nextjs/SKILL.md +0 -219
- package/.agents/generated/claude/skills/node/SKILL.md +0 -224
- package/.agents/generated/claude/skills/performance/SKILL.md +0 -121
- package/.agents/generated/claude/skills/react/SKILL.md +0 -227
- package/.agents/generated/claude/skills/react-best-practices/SKILL.md +0 -146
- package/.agents/generated/claude/skills/redesign-audit/SKILL.md +0 -112
- package/.agents/generated/claude/skills/soft-design/SKILL.md +0 -103
- package/.agents/generated/claude/skills/state-management/SKILL.md +0 -120
- package/.agents/generated/claude/skills/subagent-orchestrator/SKILL.md +0 -110
- package/.agents/generated/claude/skills/system-design/SKILL.md +0 -507
- package/.agents/generated/claude/skills/testing/SKILL.md +0 -157
- package/.agents/generated/claude/skills/typescript/SKILL.md +0 -192
- package/.agents/generated/claude/skills/ui-design/SKILL.md +0 -161
- package/.agents/generated/claude/skills/ui-ux-pro/SKILL.md +0 -451
- package/.agents/generated/claude/skills/ux-design/SKILL.md +0 -168
- package/.agents/generated/claude/skills/vercel-optimize/SKILL.md +0 -76
- package/.agents/generated/claude/skills/web-accessibility/SKILL.md +0 -225
- package/.agents/generated/gemini/skills/adapters/SKILL.md +0 -135
- package/.agents/generated/gemini/skills/architecture-diagrams/SKILL.md +0 -107
- package/.agents/generated/gemini/skills/brutalist-design/SKILL.md +0 -151
- package/.agents/generated/gemini/skills/database/SKILL.md +0 -200
- package/.agents/generated/gemini/skills/ddd/SKILL.md +0 -314
- package/.agents/generated/gemini/skills/decisions/SKILL.md +0 -143
- package/.agents/generated/gemini/skills/docker/SKILL.md +0 -144
- package/.agents/generated/gemini/skills/fastapi/SKILL.md +0 -209
- package/.agents/generated/gemini/skills/generators/SKILL.md +0 -142
- package/.agents/generated/gemini/skills/graphify/SKILL.md +0 -205
- package/.agents/generated/gemini/skills/impeccable-design/SKILL.md +0 -250
- package/.agents/generated/gemini/skills/interview-me/SKILL.md +0 -96
- package/.agents/generated/gemini/skills/microservices/SKILL.md +0 -227
- package/.agents/generated/gemini/skills/minimalist-design/SKILL.md +0 -114
- package/.agents/generated/gemini/skills/nestjs/SKILL.md +0 -204
- package/.agents/generated/gemini/skills/nextjs/SKILL.md +0 -298
- package/.agents/generated/gemini/skills/node/SKILL.md +0 -323
- package/.agents/generated/gemini/skills/performance/SKILL.md +0 -185
- package/.agents/generated/gemini/skills/react/SKILL.md +0 -332
- package/.agents/generated/gemini/skills/react-best-practices/SKILL.md +0 -152
- package/.agents/generated/gemini/skills/redesign-audit/SKILL.md +0 -118
- package/.agents/generated/gemini/skills/soft-design/SKILL.md +0 -109
- package/.agents/generated/gemini/skills/state-management/SKILL.md +0 -129
- package/.agents/generated/gemini/skills/subagent-orchestrator/SKILL.md +0 -116
- package/.agents/generated/gemini/skills/system-design/SKILL.md +0 -631
- package/.agents/generated/gemini/skills/testing/SKILL.md +0 -166
- package/.agents/generated/gemini/skills/typescript/SKILL.md +0 -275
- package/.agents/generated/gemini/skills/ui-design/SKILL.md +0 -170
- package/.agents/generated/gemini/skills/ui-ux-pro/SKILL.md +0 -460
- package/.agents/generated/gemini/skills/ux-design/SKILL.md +0 -177
- package/.agents/generated/gemini/skills/vercel-optimize/SKILL.md +0 -82
- package/.agents/generated/gemini/skills/web-accessibility/SKILL.md +0 -300
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# ui-ux-pro Troubleshooting & Common Mistakes
|
|
2
|
-
|
|
3
|
-
## 1. Obvious AI Design Tells
|
|
4
|
-
|
|
5
|
-
- **Symptom**: The interface immediately looks like a generic AI prototype.
|
|
6
|
-
- **Root Cause**: Using Inter alone, pure black (#000000), purple-blue gradients, and rounded icon squares above every title.
|
|
7
|
-
- **Fix**: Use tinted backgrounds (#090A0F), pair primary font with JetBrains Mono for code/numbers, use subtle border highlights.
|
|
8
|
-
|
|
9
|
-
## 2. Contrast Failures in Secondary Elements
|
|
10
|
-
|
|
11
|
-
- **Symptom**: Captions, timestamps, and borders are invisible or impossible to read.
|
|
12
|
-
- **Root Cause**: Using flat #666 or #444 grays without testing against actual background luminance.
|
|
13
|
-
- **Fix**: Always test contrast ratios (minimum 4.5:1 for body, 3:1 for graphical boundaries) using semantic theme tokens.
|
|
14
|
-
|
|
15
|
-
## 3. Nesting Cards Inside Cards
|
|
16
|
-
|
|
17
|
-
- **Symptom**: Visual claustrophobia and slop aesthetic.
|
|
18
|
-
- **Root Cause**: Putting bordered cards inside other bordered cards.
|
|
19
|
-
- **Fix**: Flatten the hierarchy. Use background surface contrast and negative space instead of border-in-border nesting.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
name: ui-ux-pro
|
|
2
|
-
type: instruction-only
|
|
3
|
-
description: >
|
|
4
|
-
Professional UI/UX design skill with strict anti-pattern enforcement.
|
|
5
|
-
Prevents AI slop design, enforces accessibility standards, semantic
|
|
6
|
-
color palettes, proper spacing, and bans overused design clichés.
|
|
7
|
-
tags:
|
|
8
|
-
- ui
|
|
9
|
-
- ux
|
|
10
|
-
- design
|
|
11
|
-
- accessibility
|
|
12
|
-
- frontend
|
|
13
|
-
version: 1.0.0
|
|
14
|
-
source: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill
|
|
15
|
-
resources:
|
|
16
|
-
- EXAMPLES.md
|
|
17
|
-
- SKILL.md
|
|
18
|
-
- TROUBLESHOOTING.md
|
|
19
|
-
- VALIDATION.json
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# ux-design Examples — Anti-patterns vs ContextOS Standard
|
|
2
|
-
|
|
3
|
-
## Example 1: Destructive Actions
|
|
4
|
-
|
|
5
|
-
### Anti-pattern: Instant Deletion Without Confirmation or Recovery
|
|
6
|
-
|
|
7
|
-
```tsx
|
|
8
|
-
// BAD: Immediate delete on click, no confirmation, irreversible data loss
|
|
9
|
-
<button onClick={() => deleteProject(project.id)}>Delete</button>
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
### Best practice: ContextOS Standard (Two-Step Confirmation or Undo Toast)
|
|
13
|
-
|
|
14
|
-
```tsx
|
|
15
|
-
// GOOD: Clear confirmation dialog stating exact item name and non-reversible impact
|
|
16
|
-
<AlertDialog>
|
|
17
|
-
<AlertDialogTrigger asChild>
|
|
18
|
-
<Button variant="destructive">Delete Project</Button>
|
|
19
|
-
</AlertDialogTrigger>
|
|
20
|
-
<AlertDialogContent>
|
|
21
|
-
<AlertDialogHeader>
|
|
22
|
-
<AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
|
|
23
|
-
<AlertDialogDescription>
|
|
24
|
-
This action cannot be undone. This will permanently delete <strong>{project.name}</strong>
|
|
25
|
-
and all associated API keys.
|
|
26
|
-
</AlertDialogDescription>
|
|
27
|
-
</AlertDialogHeader>
|
|
28
|
-
<AlertDialogFooter>
|
|
29
|
-
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
30
|
-
<AlertDialogAction onClick={handleDelete} className="bg-destructive">
|
|
31
|
-
Delete permanently
|
|
32
|
-
</AlertDialogAction>
|
|
33
|
-
</AlertDialogFooter>
|
|
34
|
-
</AlertDialogContent>
|
|
35
|
-
</AlertDialog>
|
|
36
|
-
```
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: UX Design
|
|
3
|
-
description: >
|
|
4
|
-
ContextOS skill for UX Design
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# UX Design
|
|
8
|
-
|
|
9
|
-
## Overview
|
|
10
|
-
|
|
11
|
-
User experience and interaction design standard. Enforces progressive disclosure, predictable user flows, designed empty/loading/error states, form usability, and keyboard navigation ergonomics.
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
|
|
15
|
-
Activate when designing complex multi-step workflows, onboarding funnels, form validation feedback, error recovery flows, and user journeys.
|
|
16
|
-
|
|
17
|
-
## Rules & Patterns
|
|
18
|
-
<!-- Source: ux.md -->
|
|
19
|
-
|
|
20
|
-
## UX Design — Best Practices
|
|
21
|
-
|
|
22
|
-
## Information Architecture
|
|
23
|
-
|
|
24
|
-
- **Mental models** — organize content the way users think, not the way your code is structured
|
|
25
|
-
- **Card sorting** — group features into logical categories
|
|
26
|
-
- **Navigation structure** — no more than 3 clicks to any page
|
|
27
|
-
- **Naming** — use user's language, not internal jargon
|
|
28
|
-
|
|
29
|
-
## User Flows
|
|
30
|
-
|
|
31
|
-
### Design every state
|
|
32
|
-
|
|
33
|
-
Every screen has 5 states. Design ALL of them:
|
|
34
|
-
|
|
35
|
-
1. **Empty state** — first visit, no data yet. Include CTA to get started
|
|
36
|
-
2. **Loading state** — skeleton screens > spinners
|
|
37
|
-
3. **Partial state** — some data, not complete
|
|
38
|
-
4. **Ideal state** — normal usage with data
|
|
39
|
-
5. **Error state** — what went wrong and how to fix it
|
|
40
|
-
|
|
41
|
-
### Reduce cognitive load
|
|
42
|
-
|
|
43
|
-
- **Progressive disclosure** — show only what's needed now
|
|
44
|
-
- **Sensible defaults** — pre-fill what you can
|
|
45
|
-
- **Inline help** — tooltips and contextual guidance
|
|
46
|
-
- **Confirmation for destructive actions** — but NOT for every action
|
|
47
|
-
|
|
48
|
-
## Forms UX
|
|
49
|
-
|
|
50
|
-
- Show progress for multi-step forms
|
|
51
|
-
- Validate inline (on blur), not on submit
|
|
52
|
-
- Show password requirements as the user types
|
|
53
|
-
- Auto-focus the first input
|
|
54
|
-
- Use appropriate input types (email, tel, date)
|
|
55
|
-
- Disable submit button only when form is submitting, never as "validation"
|
|
56
|
-
|
|
57
|
-
## Onboarding
|
|
58
|
-
|
|
59
|
-
- **Quick win** — let users see value within 30 seconds
|
|
60
|
-
- **Minimal signup** — only ask for what's absolutely needed
|
|
61
|
-
- **Progressive onboarding** — teach features as users encounter them
|
|
62
|
-
- **Skip option** — always let users skip tutorials
|
|
63
|
-
|
|
64
|
-
## Feedback
|
|
65
|
-
|
|
66
|
-
- Every action needs feedback (success, error, pending)
|
|
67
|
-
- Use toast notifications for non-blocking feedback
|
|
68
|
-
- Use inline messages for form validation
|
|
69
|
-
- Loading states should be < 300ms before showing (avoid flash)
|
|
70
|
-
- Optimistic UI for fast-perceived actions
|
|
71
|
-
|
|
72
|
-
## Mobile UX
|
|
73
|
-
|
|
74
|
-
- Touch targets: minimum 44x44px
|
|
75
|
-
- Thumb zones — place primary actions within easy reach
|
|
76
|
-
- Bottom navigation for core actions
|
|
77
|
-
- Pull-to-refresh for content lists
|
|
78
|
-
- Haptic feedback for important actions
|
|
79
|
-
|
|
80
|
-
## Psychology Principles
|
|
81
|
-
|
|
82
|
-
- **Fitts's Law** — make important targets large and close
|
|
83
|
-
- **Hick's Law** — reduce choices to reduce decision time
|
|
84
|
-
- **Jakob's Law** — users prefer familiar patterns
|
|
85
|
-
- **Peak-End Rule** — make the last interaction great
|
|
86
|
-
- **Aesthetic-Usability Effect** — beautiful things are perceived as easier to use
|
|
87
|
-
|
|
88
|
-
## Usability Heuristics (Nielsen)
|
|
89
|
-
|
|
90
|
-
1. Visibility of system status
|
|
91
|
-
2. Match between system and real world
|
|
92
|
-
3. User control and freedom (undo, escape)
|
|
93
|
-
4. Consistency and standards
|
|
94
|
-
5. Error prevention
|
|
95
|
-
6. Recognition rather than recall
|
|
96
|
-
7. Flexibility and efficiency of use
|
|
97
|
-
8. Aesthetic and minimalist design
|
|
98
|
-
9. Help users recognize and recover from errors
|
|
99
|
-
10. Help and documentation
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
## Code Examples
|
|
103
|
-
|
|
104
|
-
See `EXAMPLES.md` for detailed code examples.
|
|
105
|
-
|
|
106
|
-
## Validation Checklist
|
|
107
|
-
|
|
108
|
-
What to verify during the review phase before completing the task.
|
|
109
|
-
|
|
110
|
-
## Common Mistakes
|
|
111
|
-
|
|
112
|
-
Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
|
|
113
|
-
|
|
114
|
-
## Integration Notes
|
|
115
|
-
|
|
116
|
-
How this skill interacts with other skills.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# ux-design Troubleshooting & Common Mistakes
|
|
2
|
-
|
|
3
|
-
## 1. Mystery Meat Navigation
|
|
4
|
-
|
|
5
|
-
- **Symptom**: Users don't know what icons do and have to hover to guess.
|
|
6
|
-
- **Root Cause**: Relying on ambiguous icons without text labels or tooltips.
|
|
7
|
-
- **Fix**: Pair icons with text labels wherever space permits; always provide accessible tooltips on icon-only actions.
|
|
8
|
-
|
|
9
|
-
## 2. Loss of User Input on Interruption
|
|
10
|
-
|
|
11
|
-
- **Symptom**: User accidentally clicks outside a long modal form and all typed content vanishes.
|
|
12
|
-
- **Root Cause**: Modals closing on backdrop click without checking form dirty state.
|
|
13
|
-
- **Fix**: Prevent dismiss on outside click when form has unsaved modifications, or autosave drafts to local storage.
|
|
14
|
-
|
|
15
|
-
## 3. Double-Click Submission Bugs
|
|
16
|
-
|
|
17
|
-
- **Symptom**: Users double-click a submit button on slow network, resulting in duplicate charges or items.
|
|
18
|
-
- **Root Cause**: Form buttons remaining active during in-flight network requests.
|
|
19
|
-
- **Fix**: Disable button and show spinner state as soon as form submission begins.
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
id: ux-design
|
|
2
|
-
name: UX Design
|
|
3
|
-
category: design
|
|
4
|
-
type: instruction-only
|
|
5
|
-
tags: [design, ux, user-flows, usability, information-architecture]
|
|
6
|
-
requires: []
|
|
7
|
-
optional: [ui-design, web-accessibility]
|
|
8
|
-
conflicts: []
|
|
9
|
-
weight: 7
|
|
10
|
-
documents:
|
|
11
|
-
- ux.md
|
|
12
|
-
resources:
|
|
13
|
-
- EXAMPLES.md
|
|
14
|
-
- SKILL.md
|
|
15
|
-
- TROUBLESHOOTING.md
|
|
16
|
-
- VALIDATION.json
|
|
17
|
-
- ux.md
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# UX Design — Best Practices
|
|
2
|
-
|
|
3
|
-
## Information Architecture
|
|
4
|
-
|
|
5
|
-
- **Mental models** — organize content the way users think, not the way your code is structured
|
|
6
|
-
- **Card sorting** — group features into logical categories
|
|
7
|
-
- **Navigation structure** — no more than 3 clicks to any page
|
|
8
|
-
- **Naming** — use user's language, not internal jargon
|
|
9
|
-
|
|
10
|
-
## User Flows
|
|
11
|
-
|
|
12
|
-
### Design every state
|
|
13
|
-
|
|
14
|
-
Every screen has 5 states. Design ALL of them:
|
|
15
|
-
|
|
16
|
-
1. **Empty state** — first visit, no data yet. Include CTA to get started
|
|
17
|
-
2. **Loading state** — skeleton screens > spinners
|
|
18
|
-
3. **Partial state** — some data, not complete
|
|
19
|
-
4. **Ideal state** — normal usage with data
|
|
20
|
-
5. **Error state** — what went wrong and how to fix it
|
|
21
|
-
|
|
22
|
-
### Reduce cognitive load
|
|
23
|
-
|
|
24
|
-
- **Progressive disclosure** — show only what's needed now
|
|
25
|
-
- **Sensible defaults** — pre-fill what you can
|
|
26
|
-
- **Inline help** — tooltips and contextual guidance
|
|
27
|
-
- **Confirmation for destructive actions** — but NOT for every action
|
|
28
|
-
|
|
29
|
-
## Forms UX
|
|
30
|
-
|
|
31
|
-
- Show progress for multi-step forms
|
|
32
|
-
- Validate inline (on blur), not on submit
|
|
33
|
-
- Show password requirements as the user types
|
|
34
|
-
- Auto-focus the first input
|
|
35
|
-
- Use appropriate input types (email, tel, date)
|
|
36
|
-
- Disable submit button only when form is submitting, never as "validation"
|
|
37
|
-
|
|
38
|
-
## Onboarding
|
|
39
|
-
|
|
40
|
-
- **Quick win** — let users see value within 30 seconds
|
|
41
|
-
- **Minimal signup** — only ask for what's absolutely needed
|
|
42
|
-
- **Progressive onboarding** — teach features as users encounter them
|
|
43
|
-
- **Skip option** — always let users skip tutorials
|
|
44
|
-
|
|
45
|
-
## Feedback
|
|
46
|
-
|
|
47
|
-
- Every action needs feedback (success, error, pending)
|
|
48
|
-
- Use toast notifications for non-blocking feedback
|
|
49
|
-
- Use inline messages for form validation
|
|
50
|
-
- Loading states should be < 300ms before showing (avoid flash)
|
|
51
|
-
- Optimistic UI for fast-perceived actions
|
|
52
|
-
|
|
53
|
-
## Mobile UX
|
|
54
|
-
|
|
55
|
-
- Touch targets: minimum 44x44px
|
|
56
|
-
- Thumb zones — place primary actions within easy reach
|
|
57
|
-
- Bottom navigation for core actions
|
|
58
|
-
- Pull-to-refresh for content lists
|
|
59
|
-
- Haptic feedback for important actions
|
|
60
|
-
|
|
61
|
-
## Psychology Principles
|
|
62
|
-
|
|
63
|
-
- **Fitts's Law** — make important targets large and close
|
|
64
|
-
- **Hick's Law** — reduce choices to reduce decision time
|
|
65
|
-
- **Jakob's Law** — users prefer familiar patterns
|
|
66
|
-
- **Peak-End Rule** — make the last interaction great
|
|
67
|
-
- **Aesthetic-Usability Effect** — beautiful things are perceived as easier to use
|
|
68
|
-
|
|
69
|
-
## Usability Heuristics (Nielsen)
|
|
70
|
-
|
|
71
|
-
1. Visibility of system status
|
|
72
|
-
2. Match between system and real world
|
|
73
|
-
3. User control and freedom (undo, escape)
|
|
74
|
-
4. Consistency and standards
|
|
75
|
-
5. Error prevention
|
|
76
|
-
6. Recognition rather than recall
|
|
77
|
-
7. Flexibility and efficiency of use
|
|
78
|
-
8. Aesthetic and minimalist design
|
|
79
|
-
9. Help users recognize and recover from errors
|
|
80
|
-
10. Help and documentation
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: vercel-optimize
|
|
3
|
-
description: "Use for Vercel cost and performance optimization on deployed projects, especially Next.js, SvelteKit, Nuxt, and limited Astro apps. Collect Vercel metrics, usage, project config, and code scan results first; investigate only metric-backed candidates; produce ranked recommendations grounded in verified files and version-aware Vercel/framework docs. Trigger for Vercel bill reduction, slow or expensive routes, caching opportunities, Function Invocations, Build Minutes, Fast Data Transfer, Core Web Vitals, Bot Management, Fluid compute, or cost breakdown requests."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.2.0"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Vercel Optimize
|
|
9
|
-
|
|
10
|
-
## Overview
|
|
11
|
-
|
|
12
|
-
Observability-first Vercel performance and cost reduction optimization skill. Evaluates deployed Next.js, SvelteKit, Nuxt, and Astro projects using production telemetry signals (`signals.json`), deterministic candidate gating, and code scanning to deliver ranked, verified architectural recommendations.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- When tasked with reducing Vercel bills, Function Invocations, Fast Data Transfer, or Build Minutes.
|
|
17
|
-
- When diagnosing slow serverless routes, cold starts, or Edge vs Node runtime mismatches.
|
|
18
|
-
- When evaluating caching opportunities (`stale-while-revalidate`, ISR, CDN edge caching) or Core Web Vitals degradation.
|
|
19
|
-
|
|
20
|
-
## Rules & Patterns
|
|
21
|
-
|
|
22
|
-
### 1. Prerequisites & Framework Support
|
|
23
|
-
|
|
24
|
-
- Vercel CLI v53+ with `vercel metrics`, `vercel usage`, `vercel contract`, and `vercel api`.
|
|
25
|
-
- Authenticated CLI session (`vercel login`) and linked app directory (`vercel link`).
|
|
26
|
-
- Framework support: Next.js App Router (Full), Pages Router (Supported), SvelteKit (Supported), Nuxt (Supported), Astro (Limited).
|
|
27
|
-
- Security rule: Never put auth tokens in shell commands (`VERCEL_TOKEN=...` is banned in chat/logs).
|
|
28
|
-
|
|
29
|
-
### 2. Core Doctrine & Gating Pipeline
|
|
30
|
-
|
|
31
|
-
- **Metrics First:** Recommendations start from Vercel production signals (14-day window), not repo-wide grep.
|
|
32
|
-
- **Deterministic Gates:** `scripts/gate-investigations.mjs` selects code-scope and platform-scope candidates.
|
|
33
|
-
- **Candidate-Bound Scope:** Inspect only files named by a candidate or a route-local import chain.
|
|
34
|
-
- **Version-Aware Citations:** Use only verified citations matching the target framework version.
|
|
35
|
-
- **Specific Cache Policies:** When recommending caching, state the exact cache policy and headers; keep auth-sensitive and error responses dynamic.
|
|
36
|
-
|
|
37
|
-
### 3. Recommendation Rules
|
|
38
|
-
|
|
39
|
-
- Every recommendation must trace to a launched candidate and include observed metric evidence.
|
|
40
|
-
- Cite verified files with line numbers when code changes are proposed.
|
|
41
|
-
- Use precise observed performance numbers; avoid customer-facing speculative `$N` savings formulas.
|
|
42
|
-
- Do not recommend duration reductions for Vercel Workflow runtime endpoints (`/.well-known/workflow/v1/*`).
|
|
43
|
-
|
|
44
|
-
## Code Examples
|
|
45
|
-
|
|
46
|
-
```typescript
|
|
47
|
-
// [GOOD] Next.js Route Segment Config for Caching & Edge Runtime
|
|
48
|
-
export const dynamic = 'force-static';
|
|
49
|
-
export const revalidate = 3600; // Cache at Edge for 1 hour
|
|
50
|
-
|
|
51
|
-
export default async function CachedCatalogPage() {
|
|
52
|
-
const products = await getCatalogData();
|
|
53
|
-
return <CatalogGrid items={products} />;
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Running the signals collection and gate
|
|
59
|
-
node scripts/collect-signals.mjs [projectId] > "$RUN_DIR/vercel-signals.json"
|
|
60
|
-
node scripts/scan-codebase.mjs <repo-root> > "$RUN_DIR/codebase.json"
|
|
61
|
-
node scripts/merge-signals.mjs "$RUN_DIR/vercel-signals.json" "$RUN_DIR/codebase.json" --out "$RUN_DIR/signals.json"
|
|
62
|
-
node scripts/gate-investigations.mjs "$RUN_DIR/signals.json" > "$RUN_DIR/gate.json"
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Validation Checklist
|
|
66
|
-
|
|
67
|
-
- [ ] Project is properly linked with valid team/personal scope (`vercel link`).
|
|
68
|
-
- [ ] Production metrics signals collected across 14-day window before inspecting code.
|
|
69
|
-
- [ ] No secrets or tokens passed in command line arguments.
|
|
70
|
-
- [ ] Recommendations grounded in specific verified file paths and line numbers.
|
|
71
|
-
- [ ] Unsafe or auth-sensitive paths kept strictly dynamic.
|
|
72
|
-
|
|
73
|
-
## Common Mistakes
|
|
74
|
-
|
|
75
|
-
- Inspecting repository source code before metric signals exist.
|
|
76
|
-
- Hardcoding `VERCEL_TOKEN` into terminal commands or prompt logs.
|
|
77
|
-
- Recommending duration reductions on long-lived streaming routes or workflow runners.
|
|
78
|
-
- Applying static caching to user-specific or authenticated routes.
|
|
79
|
-
|
|
80
|
-
## Integration Notes
|
|
81
|
-
|
|
82
|
-
- Complements `nextjs` and `react-best-practices` for server-side optimization.
|
|
83
|
-
- Pairs with `performance` and `security` skills.
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* collect-signals.mjs
|
|
4
|
-
* Collects or simulates 14-day production telemetry signals for Vercel projects.
|
|
5
|
-
*
|
|
6
|
-
* Usage:
|
|
7
|
-
* node scripts/collect-signals.mjs [projectId] [--window <days>] [--out <file>] [--help]
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { writeFileSync, readFileSync, existsSync } from 'node:fs';
|
|
11
|
-
import { resolve } from 'node:path';
|
|
12
|
-
|
|
13
|
-
function printHelp() {
|
|
14
|
-
console.log(`
|
|
15
|
-
collect-signals.mjs — Vercel Telemetry Signal Collector
|
|
16
|
-
|
|
17
|
-
Usage:
|
|
18
|
-
node scripts/collect-signals.mjs [projectId] [options]
|
|
19
|
-
|
|
20
|
-
Arguments:
|
|
21
|
-
projectId Optional Vercel project ID or slug (default: auto-detected from .vercel/project.json)
|
|
22
|
-
|
|
23
|
-
Options:
|
|
24
|
-
--window <days> Window in days for metric collection (default: 14)
|
|
25
|
-
--out <file> Output file path (default: stdout)
|
|
26
|
-
--help, -h Show this help message
|
|
27
|
-
`);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const args = process.argv.slice(2);
|
|
31
|
-
if (args.includes('--help') || args.includes('-h')) {
|
|
32
|
-
printHelp();
|
|
33
|
-
process.exit(0);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
let projectId = null;
|
|
37
|
-
let windowDays = 14;
|
|
38
|
-
let outFile = null;
|
|
39
|
-
|
|
40
|
-
for (let i = 0; i < args.length; i++) {
|
|
41
|
-
const arg = args[i];
|
|
42
|
-
if (arg === '--window' && i + 1 < args.length) {
|
|
43
|
-
windowDays = parseInt(args[++i], 10) || 14;
|
|
44
|
-
} else if (arg === '--out' && i + 1 < args.length) {
|
|
45
|
-
outFile = args[++i];
|
|
46
|
-
} else if (!arg.startsWith('-') && !projectId) {
|
|
47
|
-
projectId = arg;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (!projectId) {
|
|
52
|
-
const localProjectJson = resolve(process.cwd(), '.vercel', 'project.json');
|
|
53
|
-
if (existsSync(localProjectJson)) {
|
|
54
|
-
try {
|
|
55
|
-
const parsed = JSON.parse(readFileSync(localProjectJson, 'utf8'));
|
|
56
|
-
projectId = parsed.projectId || parsed.name || 'local-vercel-project';
|
|
57
|
-
} catch {
|
|
58
|
-
projectId = 'local-vercel-project';
|
|
59
|
-
}
|
|
60
|
-
} else {
|
|
61
|
-
projectId = 'local-vercel-project';
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const signals = {
|
|
66
|
-
timestamp: new Date().toISOString(),
|
|
67
|
-
projectId,
|
|
68
|
-
windowDays,
|
|
69
|
-
telemetrySource: 'vercel-metrics-v1',
|
|
70
|
-
metrics: {
|
|
71
|
-
totalInvocations: 1250400,
|
|
72
|
-
averageDurationMs: 245,
|
|
73
|
-
p95DurationMs: 820,
|
|
74
|
-
fastDataTransferBytes: 15420000000, // 15.4 GB
|
|
75
|
-
buildMinutes: 142,
|
|
76
|
-
coldStartRate: 0.084,
|
|
77
|
-
},
|
|
78
|
-
routes: [
|
|
79
|
-
{
|
|
80
|
-
route: '/api/items',
|
|
81
|
-
method: 'GET',
|
|
82
|
-
invocations: 420000,
|
|
83
|
-
p95DurationMs: 1250,
|
|
84
|
-
avgDurationMs: 340,
|
|
85
|
-
coldStartRate: 0.12,
|
|
86
|
-
errorRate: 0.002,
|
|
87
|
-
cacheable: true,
|
|
88
|
-
currentCacheControl: 'no-store'
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
route: '/api/auth/session',
|
|
92
|
-
method: 'GET',
|
|
93
|
-
invocations: 310000,
|
|
94
|
-
p95DurationMs: 140,
|
|
95
|
-
avgDurationMs: 65,
|
|
96
|
-
coldStartRate: 0.02,
|
|
97
|
-
errorRate: 0.0001,
|
|
98
|
-
cacheable: false,
|
|
99
|
-
currentCacheControl: 'private, no-cache'
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
route: '/api/catalog/search',
|
|
103
|
-
method: 'GET',
|
|
104
|
-
invocations: 280000,
|
|
105
|
-
p95DurationMs: 980,
|
|
106
|
-
avgDurationMs: 290,
|
|
107
|
-
coldStartRate: 0.09,
|
|
108
|
-
errorRate: 0.001,
|
|
109
|
-
cacheable: true,
|
|
110
|
-
currentCacheControl: 'public, max-age=0'
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
route: '/api/checkout',
|
|
114
|
-
method: 'POST',
|
|
115
|
-
invocations: 45000,
|
|
116
|
-
p95DurationMs: 1650,
|
|
117
|
-
avgDurationMs: 520,
|
|
118
|
-
coldStartRate: 0.15,
|
|
119
|
-
errorRate: 0.005,
|
|
120
|
-
cacheable: false,
|
|
121
|
-
currentCacheControl: 'no-store'
|
|
122
|
-
}
|
|
123
|
-
]
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
const outputJson = JSON.stringify(signals, null, 2);
|
|
127
|
-
if (outFile) {
|
|
128
|
-
writeFileSync(resolve(process.cwd(), outFile), outputJson, 'utf8');
|
|
129
|
-
} else {
|
|
130
|
-
console.log(outputJson);
|
|
131
|
-
}
|