codeply-cli 0.5.1 → 0.5.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/LICENSE +21 -0
- package/THIRD_PARTY_NOTICES.md +65 -63
- package/bin/codeply.js +1 -1
- package/lib/agent.mjs +133 -24
- package/lib/ai.js +268 -9
- package/lib/ai.mjs +6 -6
- package/lib/apply-patch.js +217 -217
- package/lib/arity-table.json +138 -138
- package/lib/arity.js +70 -70
- package/lib/auth.mjs +6 -6
- package/lib/bots.js +82 -17
- package/lib/chatgpt.js +282 -0
- package/lib/cloud-browser.mjs +143 -143
- package/lib/cloud.mjs +1186 -1144
- package/lib/commands.js +103 -103
- package/lib/config.js +83 -3
- package/lib/design-library/assemble-artifact.mjs +21 -21
- package/lib/design-library/cleanup.mjs +45 -45
- package/lib/design-library/index.json +22379 -22379
- package/lib/design-library/make-table-data.mjs +39 -39
- package/lib/diagnostics.js +192 -192
- package/lib/edit-engine.js +364 -364
- package/lib/github-agent.mjs +311 -311
- package/lib/history.js +75 -75
- package/lib/mail-watch.js +504 -0
- package/lib/mcp.js +258 -258
- package/lib/model-sync.js +114 -0
- package/lib/native-tools.mjs +16 -1
- package/lib/oauth-connectors.js +146 -24
- package/lib/permissions.js +109 -109
- package/lib/plugins.js +353 -353
- package/lib/publish.js +916 -0
- package/lib/reach.js +67 -0
- package/lib/server.mjs +457 -457
- package/lib/session-db.js +220 -220
- package/lib/share.js +168 -168
- package/lib/skills.js +2 -0
- package/lib/snapshot.js +146 -146
- package/lib/telemetry.js +102 -0
- package/lib/terminal-hints.js +154 -154
- package/lib/tools.mjs +316 -14
- package/lib/typecheck-worker.js +147 -147
- package/lib/web-tools.js +209 -158
- package/package.json +49 -49
- package/skills/SOURCE.md +58 -58
- package/skills/accessibility/SKILL.md +147 -147
- package/skills/agent-architecture-audit/SKILL.md +257 -257
- package/skills/agent-eval/SKILL.md +147 -147
- package/skills/agent-harness-construction/SKILL.md +74 -74
- package/skills/agent-introspection-debugging/SKILL.md +154 -154
- package/skills/agent-payment-x402/SKILL.md +225 -225
- package/skills/agent-self-evaluation/SKILL.md +182 -182
- package/skills/agent-self-evaluation/references/evaluation-criteria.md +71 -71
- package/skills/agent-self-evaluation/references/hook-integration.md +64 -64
- package/skills/agent-sort/SKILL.md +216 -216
- package/skills/agentic-engineering/SKILL.md +64 -64
- package/skills/agentic-os/SKILL.md +388 -388
- package/skills/ai-first-engineering/SKILL.md +52 -52
- package/skills/ai-regression-testing/SKILL.md +386 -386
- package/skills/android-clean-architecture/SKILL.md +340 -340
- package/skills/angular-developer/SKILL.md +155 -155
- package/skills/angular-developer/references/angular-animations.md +160 -160
- package/skills/angular-developer/references/angular-aria.md +410 -410
- package/skills/angular-developer/references/cli.md +86 -86
- package/skills/angular-developer/references/component-harnesses.md +59 -59
- package/skills/angular-developer/references/component-styling.md +91 -91
- package/skills/angular-developer/references/components.md +117 -117
- package/skills/angular-developer/references/creating-services.md +97 -97
- package/skills/angular-developer/references/data-resolvers.md +69 -69
- package/skills/angular-developer/references/define-routes.md +67 -67
- package/skills/angular-developer/references/defining-providers.md +72 -72
- package/skills/angular-developer/references/di-fundamentals.md +120 -120
- package/skills/angular-developer/references/e2e-testing.md +56 -56
- package/skills/angular-developer/references/effects.md +83 -83
- package/skills/angular-developer/references/hierarchical-injectors.md +43 -43
- package/skills/angular-developer/references/host-elements.md +80 -80
- package/skills/angular-developer/references/injection-context.md +63 -63
- package/skills/angular-developer/references/inputs.md +101 -101
- package/skills/angular-developer/references/linked-signal.md +59 -59
- package/skills/angular-developer/references/loading-strategies.md +61 -61
- package/skills/angular-developer/references/mcp.md +108 -108
- package/skills/angular-developer/references/navigate-to-routes.md +69 -69
- package/skills/angular-developer/references/outputs.md +86 -86
- package/skills/angular-developer/references/reactive-forms.md +122 -122
- package/skills/angular-developer/references/rendering-strategies.md +44 -44
- package/skills/angular-developer/references/resource.md +77 -77
- package/skills/angular-developer/references/route-animations.md +56 -56
- package/skills/angular-developer/references/route-guards.md +52 -52
- package/skills/angular-developer/references/router-lifecycle.md +45 -45
- package/skills/angular-developer/references/router-testing.md +87 -87
- package/skills/angular-developer/references/show-routes-with-outlets.md +68 -68
- package/skills/angular-developer/references/signal-forms.md +795 -795
- package/skills/angular-developer/references/signals-overview.md +94 -94
- package/skills/angular-developer/references/tailwind-css.md +69 -69
- package/skills/angular-developer/references/template-driven-forms.md +114 -114
- package/skills/angular-developer/references/testing-fundamentals.md +65 -65
- package/skills/api-connector-builder/SKILL.md +121 -121
- package/skills/api-design/SKILL.md +524 -524
- package/skills/architecture-decision-records/SKILL.md +180 -180
- package/skills/article-writing/SKILL.md +80 -80
- package/skills/automation-audit-ops/SKILL.md +143 -143
- package/skills/autonomous-agent-harness/SKILL.md +274 -274
- package/skills/autonomous-loops/SKILL.md +611 -611
- package/skills/backend-patterns/SKILL.md +562 -562
- package/skills/benchmark/SKILL.md +95 -95
- package/skills/benchmark-methodology/SKILL.md +191 -191
- package/skills/benchmark-optimization-loop/SKILL.md +71 -71
- package/skills/blender-motion-state-inspection/SKILL.md +165 -165
- package/skills/blueprint/SKILL.md +106 -106
- package/skills/brand-discovery/SKILL.md +145 -145
- package/skills/brand-discovery/references/10_purpose-why.md +40 -40
- package/skills/brand-discovery/references/20_positioning.md +44 -44
- package/skills/brand-discovery/references/30_audience-niche.md +52 -52
- package/skills/brand-discovery/references/40_personality-archetype.md +57 -57
- package/skills/brand-discovery/references/50_voice-tone.md +59 -59
- package/skills/brand-discovery/references/60_narrative-story.md +50 -50
- package/skills/brand-discovery/references/70_founder-tension.md +49 -49
- package/skills/brand-discovery/references/90_SYNTHESIS.md +133 -133
- package/skills/brand-voice/SKILL.md +98 -98
- package/skills/brand-voice/references/voice-profile-schema.md +55 -55
- package/skills/browser-qa/SKILL.md +105 -105
- package/skills/bun-runtime/SKILL.md +85 -85
- package/skills/canary-watch/SKILL.md +108 -108
- package/skills/carrier-relationship-management/SKILL.md +212 -212
- package/skills/cisco-ios-patterns/SKILL.md +164 -164
- package/skills/ck/SKILL.md +148 -148
- package/skills/claude-devfleet/SKILL.md +112 -112
- package/skills/click-path-audit/SKILL.md +245 -245
- package/skills/clickhouse-io/SKILL.md +445 -445
- package/skills/code-tour/SKILL.md +254 -254
- package/skills/codebase-onboarding/SKILL.md +234 -234
- package/skills/codehealth-mcp/SKILL.md +167 -167
- package/skills/coding-standards/SKILL.md +551 -551
- package/skills/competitive-platform-analysis/SKILL.md +214 -214
- package/skills/competitive-report-structure/SKILL.md +162 -162
- package/skills/compose-multiplatform-patterns/SKILL.md +300 -300
- package/skills/config-gc/SKILL.md +120 -120
- package/skills/configure-ecc/SKILL.md +385 -385
- package/skills/connections-optimizer/SKILL.md +190 -190
- package/skills/content-engine/SKILL.md +132 -132
- package/skills/content-hash-cache-pattern/SKILL.md +162 -162
- package/skills/context-budget/SKILL.md +136 -136
- package/skills/continuous-agent-loop/SKILL.md +46 -46
- package/skills/continuous-learning/SKILL.md +132 -132
- package/skills/continuous-learning-v2/SKILL.md +361 -361
- package/skills/contract-first/SKILL.md +287 -287
- package/skills/cost-aware-llm-pipeline/SKILL.md +184 -184
- package/skills/cost-tracking/SKILL.md +97 -97
- package/skills/council/SKILL.md +204 -204
- package/skills/cpp-coding-standards/SKILL.md +724 -724
- package/skills/cpp-testing/SKILL.md +325 -325
- package/skills/crosspost/SKILL.md +112 -112
- package/skills/csharp-testing/SKILL.md +322 -322
- package/skills/customer-billing-ops/SKILL.md +141 -141
- package/skills/customs-trade-compliance/SKILL.md +263 -263
- package/skills/dart-flutter-patterns/SKILL.md +564 -564
- package/skills/dashboard-builder/SKILL.md +109 -109
- package/skills/data-scraper-agent/SKILL.md +765 -765
- package/skills/data-throughput-accelerator/SKILL.md +74 -74
- package/skills/database-migrations/SKILL.md +430 -430
- package/skills/deep-research/SKILL.md +160 -160
- package/skills/defi-amm-security/SKILL.md +167 -167
- package/skills/delivery-gate/SKILL.md +126 -126
- package/skills/deployment-patterns/SKILL.md +428 -428
- package/skills/design-system/SKILL.md +83 -83
- package/skills/django-celery/SKILL.md +458 -458
- package/skills/django-patterns/SKILL.md +735 -735
- package/skills/django-security/SKILL.md +644 -644
- package/skills/django-tdd/SKILL.md +730 -730
- package/skills/django-verification/SKILL.md +470 -470
- package/skills/dmux-workflows/SKILL.md +192 -192
- package/skills/docker-patterns/SKILL.md +365 -365
- package/skills/documentation-lookup/SKILL.md +91 -91
- package/skills/dotnet-patterns/SKILL.md +322 -322
- package/skills/dynamic-workflow-mode/SKILL.md +124 -124
- package/skills/e2e-testing/SKILL.md +327 -327
- package/skills/ecc-guide/SKILL.md +190 -190
- package/skills/ecc-recipes/SKILL.md +149 -149
- package/skills/ecc-tools-cost-audit/SKILL.md +161 -161
- package/skills/email-ops/SKILL.md +122 -122
- package/skills/energy-procurement/SKILL.md +228 -228
- package/skills/enterprise-agent-ops/SKILL.md +51 -51
- package/skills/error-handling/SKILL.md +377 -377
- package/skills/eval-harness/SKILL.md +271 -271
- package/skills/evm-token-decimals/SKILL.md +131 -131
- package/skills/exa-search/SKILL.md +108 -108
- package/skills/fal-ai-media/SKILL.md +289 -289
- package/skills/fastapi-patterns/SKILL.md +514 -514
- package/skills/finance-billing-ops/SKILL.md +128 -128
- package/skills/flox-environments/SKILL.md +497 -497
- package/skills/flutter-dart-code-review/SKILL.md +436 -436
- package/skills/foundation-models-on-device/SKILL.md +243 -243
- package/skills/frontend-a11y/SKILL.md +446 -446
- package/skills/frontend-design-direction/SKILL.md +93 -93
- package/skills/frontend-patterns/SKILL.md +657 -657
- package/skills/frontend-slides/SKILL.md +185 -185
- package/skills/fsharp-testing/SKILL.md +281 -281
- package/skills/gan-style-harness/SKILL.md +279 -279
- package/skills/gateguard/SKILL.md +133 -133
- package/skills/generating-python-installer/SKILL.md +820 -820
- package/skills/git-workflow/SKILL.md +716 -716
- package/skills/github-ops/SKILL.md +145 -145
- package/skills/golang-patterns/SKILL.md +676 -676
- package/skills/golang-testing/SKILL.md +721 -721
- package/skills/google-workspace-ops/SKILL.md +96 -96
- package/skills/growth-log/SKILL.md +128 -128
- package/skills/healthcare-cdss-patterns/SKILL.md +246 -246
- package/skills/healthcare-emr-patterns/SKILL.md +160 -160
- package/skills/healthcare-eval-harness/SKILL.md +208 -208
- package/skills/healthcare-phi-compliance/SKILL.md +146 -146
- package/skills/hermes-imports/SKILL.md +89 -89
- package/skills/hexagonal-architecture/SKILL.md +277 -277
- package/skills/hipaa-compliance/SKILL.md +79 -79
- package/skills/homelab-network-readiness/SKILL.md +170 -170
- package/skills/homelab-network-setup/SKILL.md +130 -130
- package/skills/homelab-pihole-dns/SKILL.md +275 -275
- package/skills/homelab-vlan-segmentation/SKILL.md +312 -312
- package/skills/homelab-wireguard-vpn/SKILL.md +306 -306
- package/skills/hookify-rules/SKILL.md +128 -128
- package/skills/inherit-legacy-style/SKILL.md +157 -157
- package/skills/intent-driven-development/SKILL.md +360 -360
- package/skills/inventory-demand-planning/SKILL.md +247 -247
- package/skills/investor-materials/SKILL.md +97 -97
- package/skills/investor-outreach/SKILL.md +92 -92
- package/skills/ios-icon-gen/SKILL.md +158 -158
- package/skills/iterative-retrieval/SKILL.md +212 -212
- package/skills/ito-basket-compare/SKILL.md +64 -64
- package/skills/ito-compute/SKILL.md +129 -129
- package/skills/ito-data-atlas-agent/SKILL.md +64 -64
- package/skills/ito-market-intelligence/SKILL.md +61 -61
- package/skills/ito-trade-planner/SKILL.md +68 -68
- package/skills/java-coding-standards/SKILL.md +384 -384
- package/skills/jira-integration/SKILL.md +303 -303
- package/skills/jpa-patterns/SKILL.md +152 -152
- package/skills/knowledge-ops/SKILL.md +155 -155
- package/skills/kotlin-coroutines-flows/SKILL.md +285 -285
- package/skills/kotlin-exposed-patterns/SKILL.md +720 -720
- package/skills/kotlin-ktor-patterns/SKILL.md +690 -690
- package/skills/kotlin-patterns/SKILL.md +712 -712
- package/skills/kotlin-testing/SKILL.md +825 -825
- package/skills/kubernetes-patterns/SKILL.md +756 -756
- package/skills/laravel-patterns/SKILL.md +416 -416
- package/skills/laravel-plugin-discovery/SKILL.md +230 -230
- package/skills/laravel-security/SKILL.md +948 -948
- package/skills/laravel-tdd/SKILL.md +675 -675
- package/skills/laravel-verification/SKILL.md +180 -180
- package/skills/latency-critical-systems/SKILL.md +75 -75
- package/skills/lead-intelligence/SKILL.md +322 -322
- package/skills/liquid-glass-design/SKILL.md +279 -279
- package/skills/llm-trading-agent-security/SKILL.md +147 -147
- package/skills/logistics-exception-management/SKILL.md +222 -222
- package/skills/loop-design-check/SKILL.md +143 -143
- package/skills/mailtrap-email-integration/SKILL.md +77 -77
- package/skills/make-interfaces-feel-better/SKILL.md +152 -152
- package/skills/manim-video/SKILL.md +90 -90
- package/skills/market-research/SKILL.md +76 -76
- package/skills/marketing-campaign/SKILL.md +114 -114
- package/skills/mcp-server-patterns/SKILL.md +70 -70
- package/skills/messages-ops/SKILL.md +105 -105
- package/skills/ml-adoption-playbook/SKILL.md +57 -57
- package/skills/mle-workflow/SKILL.md +348 -348
- package/skills/motion-advanced/SKILL.md +596 -596
- package/skills/motion-foundations/SKILL.md +299 -299
- package/skills/motion-patterns/SKILL.md +434 -434
- package/skills/motion-ui/SKILL.md +576 -576
- package/skills/mysql-patterns/SKILL.md +413 -413
- package/skills/nanoclaw-repl/SKILL.md +34 -34
- package/skills/nestjs-patterns/SKILL.md +231 -231
- package/skills/netmiko-ssh-automation/SKILL.md +174 -174
- package/skills/network-bgp-diagnostics/SKILL.md +168 -168
- package/skills/network-config-validation/SKILL.md +211 -211
- package/skills/network-interface-health/SKILL.md +153 -153
- package/skills/nextjs-turbopack/SKILL.md +58 -58
- package/skills/nodejs-keccak256/SKILL.md +103 -103
- package/skills/nutrient-document-processing/SKILL.md +168 -168
- package/skills/nuxt4-patterns/SKILL.md +101 -101
- package/skills/openclaw-persona-forge/SKILL.md +289 -289
- package/skills/openclaw-persona-forge/references/avatar-style.md +124 -124
- package/skills/openclaw-persona-forge/references/boundary-rules.md +53 -53
- package/skills/openclaw-persona-forge/references/error-handling.md +53 -53
- package/skills/openclaw-persona-forge/references/identity-tension.md +48 -48
- package/skills/openclaw-persona-forge/references/naming-system.md +39 -39
- package/skills/openclaw-persona-forge/references/output-template.md +166 -166
- package/skills/opensource-pipeline/SKILL.md +256 -256
- package/skills/orch-add-feature/SKILL.md +45 -45
- package/skills/orch-build-mvp/SKILL.md +49 -49
- package/skills/orch-change-feature/SKILL.md +43 -43
- package/skills/orch-fix-defect/SKILL.md +43 -43
- package/skills/orch-pipeline/SKILL.md +121 -121
- package/skills/orch-refine-code/SKILL.md +44 -44
- package/skills/parallel-execution-optimizer/SKILL.md +74 -74
- package/skills/perl-patterns/SKILL.md +505 -505
- package/skills/perl-security/SKILL.md +504 -504
- package/skills/perl-testing/SKILL.md +476 -476
- package/skills/plan-canvas/SKILL.md +153 -153
- package/skills/plan-orchestrate/SKILL.md +263 -263
- package/skills/plankton-code-quality/SKILL.md +237 -237
- package/skills/postgres-patterns/SKILL.md +148 -148
- package/skills/prediction-market-oracle-research/SKILL.md +64 -64
- package/skills/prediction-market-risk-review/SKILL.md +61 -61
- package/skills/premium-web-design/SKILL.md +154 -154
- package/skills/prisma-patterns/SKILL.md +401 -401
- package/skills/product-capability/SKILL.md +142 -142
- package/skills/product-lens/SKILL.md +93 -93
- package/skills/production-audit/SKILL.md +207 -207
- package/skills/production-scheduling/SKILL.md +238 -238
- package/skills/project-flow-ops/SKILL.md +112 -112
- package/skills/prompt-optimizer/SKILL.md +398 -398
- package/skills/publish-website/SKILL.md +76 -0
- package/skills/python-patterns/SKILL.md +751 -751
- package/skills/python-testing/SKILL.md +817 -817
- package/skills/pytorch-patterns/SKILL.md +397 -397
- package/skills/quality-nonconformance/SKILL.md +260 -260
- package/skills/quarkus-patterns/SKILL.md +723 -723
- package/skills/quarkus-security/SKILL.md +468 -468
- package/skills/quarkus-tdd/SKILL.md +812 -812
- package/skills/quarkus-verification/SKILL.md +480 -480
- package/skills/ralphinho-rfc-pipeline/SKILL.md +68 -68
- package/skills/react-native-patterns/SKILL.md +326 -326
- package/skills/react-patterns/SKILL.md +342 -342
- package/skills/react-performance/SKILL.md +575 -575
- package/skills/react-testing/SKILL.md +424 -424
- package/skills/recsys-pipeline-architect/SKILL.md +115 -115
- package/skills/recursive-decision-ledger/SKILL.md +81 -81
- package/skills/redis-patterns/SKILL.md +404 -404
- package/skills/regex-vs-llm-structured-text/SKILL.md +221 -221
- package/skills/remotion-video-creation/SKILL.md +43 -43
- package/skills/repo-scan/SKILL.md +79 -79
- package/skills/research-ops/SKILL.md +113 -113
- package/skills/returns-reverse-logistics/SKILL.md +240 -240
- package/skills/rules-distill/SKILL.md +265 -265
- package/skills/rust-patterns/SKILL.md +500 -500
- package/skills/rust-testing/SKILL.md +501 -501
- package/skills/safety-guard/SKILL.md +76 -76
- package/skills/santa-method/SKILL.md +307 -307
- package/skills/scientific-db-pubmed-database/SKILL.md +176 -176
- package/skills/scientific-db-uspto-database/SKILL.md +178 -178
- package/skills/scientific-pkg-gget/SKILL.md +167 -167
- package/skills/scientific-thinking-literature-review/SKILL.md +193 -193
- package/skills/scientific-thinking-scholar-evaluation/SKILL.md +161 -161
- package/skills/search-first/SKILL.md +183 -183
- package/skills/security-bounty-hunter/SKILL.md +100 -100
- package/skills/security-review/SKILL.md +504 -504
- package/skills/security-scan/SKILL.md +166 -166
- package/skills/seo/SKILL.md +155 -155
- package/skills/skill-comply/SKILL.md +59 -59
- package/skills/skill-scout/SKILL.md +141 -141
- package/skills/skill-stocktake/SKILL.md +195 -195
- package/skills/social-graph-ranker/SKILL.md +155 -155
- package/skills/social-publisher/SKILL.md +130 -130
- package/skills/springboot-patterns/SKILL.md +315 -315
- package/skills/springboot-security/SKILL.md +273 -273
- package/skills/springboot-tdd/SKILL.md +159 -159
- package/skills/springboot-verification/SKILL.md +232 -232
- package/skills/strategic-compact/SKILL.md +142 -142
- package/skills/swift-actor-persistence/SKILL.md +144 -144
- package/skills/swift-concurrency-6-2/SKILL.md +216 -216
- package/skills/swift-protocol-di-testing/SKILL.md +191 -191
- package/skills/swiftui-patterns/SKILL.md +259 -259
- package/skills/taste/SKILL.md +264 -264
- package/skills/taste/references/genre-taxonomy.md +87 -87
- package/skills/tdd-workflow/SKILL.md +583 -583
- package/skills/team-agent-orchestration/SKILL.md +111 -111
- package/skills/team-builder/SKILL.md +169 -169
- package/skills/terminal-ops/SKILL.md +110 -110
- package/skills/tinystruct-patterns/SKILL.md +279 -279
- package/skills/tinystruct-patterns/references/architecture.md +90 -90
- package/skills/tinystruct-patterns/references/data-handling.md +60 -60
- package/skills/tinystruct-patterns/references/database.md +99 -99
- package/skills/tinystruct-patterns/references/routing.md +64 -64
- package/skills/tinystruct-patterns/references/system-usage.md +97 -97
- package/skills/tinystruct-patterns/references/testing.md +72 -72
- package/skills/token-budget-advisor/SKILL.md +134 -134
- package/skills/ui-demo/SKILL.md +466 -466
- package/skills/ui-to-vue/SKILL.md +135 -135
- package/skills/uncloud/SKILL.md +344 -344
- package/skills/unified-memory/SKILL.md +170 -170
- package/skills/unified-notifications-ops/SKILL.md +188 -188
- package/skills/verification-loop/SKILL.md +129 -129
- package/skills/video-editing/SKILL.md +311 -311
- package/skills/videodb/SKILL.md +375 -375
- package/skills/visa-doc-translate/SKILL.md +117 -117
- package/skills/vite-patterns/SKILL.md +450 -450
- package/skills/vue-patterns/SKILL.md +471 -471
- package/skills/windows-desktop-e2e/SKILL.md +888 -888
- package/skills/workspace-surface-audit/SKILL.md +126 -126
- package/skills/x-api/SKILL.md +235 -235
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: benchmark
|
|
3
|
-
description: Use this skill to measure performance baselines, detect regressions before/after PRs, and compare stack alternatives.
|
|
4
|
-
license: MIT
|
|
5
|
-
metadata:
|
|
6
|
-
origin: ECC
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Benchmark — Performance Baseline & Regression Detection
|
|
10
|
-
|
|
11
|
-
## When to Use
|
|
12
|
-
|
|
13
|
-
- Before and after a PR to measure performance impact
|
|
14
|
-
- Setting up performance baselines for a project
|
|
15
|
-
- When users report "it feels slow"
|
|
16
|
-
- Before a launch — ensure you meet performance targets
|
|
17
|
-
- Comparing your stack against alternatives
|
|
18
|
-
|
|
19
|
-
## How It Works
|
|
20
|
-
|
|
21
|
-
### Mode 1: Page Performance
|
|
22
|
-
|
|
23
|
-
Measures real browser metrics via browser MCP:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
1. Navigate to each target URL
|
|
27
|
-
2. Measure Core Web Vitals:
|
|
28
|
-
- LCP (Largest Contentful Paint) — target < 2.5s
|
|
29
|
-
- CLS (Cumulative Layout Shift) — target < 0.1
|
|
30
|
-
- INP (Interaction to Next Paint) — target < 200ms
|
|
31
|
-
- FCP (First Contentful Paint) — target < 1.8s
|
|
32
|
-
- TTFB (Time to First Byte) — target < 800ms
|
|
33
|
-
3. Measure resource sizes:
|
|
34
|
-
- Total page weight (target < 1MB)
|
|
35
|
-
- JS bundle size (target < 200KB gzipped)
|
|
36
|
-
- CSS size
|
|
37
|
-
- Image weight
|
|
38
|
-
- Third-party script weight
|
|
39
|
-
4. Count network requests
|
|
40
|
-
5. Check for render-blocking resources
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Mode 2: API Performance
|
|
44
|
-
|
|
45
|
-
Benchmarks API endpoints:
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
1. Hit each endpoint 100 times
|
|
49
|
-
2. Measure: p50, p95, p99 latency
|
|
50
|
-
3. Track: response size, status codes
|
|
51
|
-
4. Test under load: 10 concurrent requests
|
|
52
|
-
5. Compare against SLA targets
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Mode 3: Build Performance
|
|
56
|
-
|
|
57
|
-
Measures development feedback loop:
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
1. Cold build time
|
|
61
|
-
2. Hot reload time (HMR)
|
|
62
|
-
3. Test suite duration
|
|
63
|
-
4. TypeScript check time
|
|
64
|
-
5. Lint time
|
|
65
|
-
6. Docker build time
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Mode 4: Before/After Comparison
|
|
69
|
-
|
|
70
|
-
Run before and after a change to measure impact:
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
/benchmark baseline # saves current metrics
|
|
74
|
-
# ... make changes ...
|
|
75
|
-
/benchmark compare # compares against baseline
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Output:
|
|
79
|
-
```
|
|
80
|
-
| Metric | Before | After | Delta | Verdict |
|
|
81
|
-
|--------|--------|-------|-------|---------|
|
|
82
|
-
| LCP | 1.2s | 1.4s | +200ms | WARNING: WARN |
|
|
83
|
-
| Bundle | 180KB | 175KB | -5KB | ✓ BETTER |
|
|
84
|
-
| Build | 12s | 14s | +2s | WARNING: WARN |
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Output
|
|
88
|
-
|
|
89
|
-
Stores baselines in `.ecc/benchmarks/` as JSON. Git-tracked so the team shares baselines.
|
|
90
|
-
|
|
91
|
-
## Integration
|
|
92
|
-
|
|
93
|
-
- CI: run `/benchmark compare` on every PR
|
|
94
|
-
- Pair with `/canary-watch` for post-deploy monitoring
|
|
95
|
-
- Pair with `/browser-qa` for full pre-ship checklist
|
|
1
|
+
---
|
|
2
|
+
name: benchmark
|
|
3
|
+
description: Use this skill to measure performance baselines, detect regressions before/after PRs, and compare stack alternatives.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
origin: ECC
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Benchmark — Performance Baseline & Regression Detection
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Before and after a PR to measure performance impact
|
|
14
|
+
- Setting up performance baselines for a project
|
|
15
|
+
- When users report "it feels slow"
|
|
16
|
+
- Before a launch — ensure you meet performance targets
|
|
17
|
+
- Comparing your stack against alternatives
|
|
18
|
+
|
|
19
|
+
## How It Works
|
|
20
|
+
|
|
21
|
+
### Mode 1: Page Performance
|
|
22
|
+
|
|
23
|
+
Measures real browser metrics via browser MCP:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
1. Navigate to each target URL
|
|
27
|
+
2. Measure Core Web Vitals:
|
|
28
|
+
- LCP (Largest Contentful Paint) — target < 2.5s
|
|
29
|
+
- CLS (Cumulative Layout Shift) — target < 0.1
|
|
30
|
+
- INP (Interaction to Next Paint) — target < 200ms
|
|
31
|
+
- FCP (First Contentful Paint) — target < 1.8s
|
|
32
|
+
- TTFB (Time to First Byte) — target < 800ms
|
|
33
|
+
3. Measure resource sizes:
|
|
34
|
+
- Total page weight (target < 1MB)
|
|
35
|
+
- JS bundle size (target < 200KB gzipped)
|
|
36
|
+
- CSS size
|
|
37
|
+
- Image weight
|
|
38
|
+
- Third-party script weight
|
|
39
|
+
4. Count network requests
|
|
40
|
+
5. Check for render-blocking resources
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Mode 2: API Performance
|
|
44
|
+
|
|
45
|
+
Benchmarks API endpoints:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
1. Hit each endpoint 100 times
|
|
49
|
+
2. Measure: p50, p95, p99 latency
|
|
50
|
+
3. Track: response size, status codes
|
|
51
|
+
4. Test under load: 10 concurrent requests
|
|
52
|
+
5. Compare against SLA targets
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Mode 3: Build Performance
|
|
56
|
+
|
|
57
|
+
Measures development feedback loop:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
1. Cold build time
|
|
61
|
+
2. Hot reload time (HMR)
|
|
62
|
+
3. Test suite duration
|
|
63
|
+
4. TypeScript check time
|
|
64
|
+
5. Lint time
|
|
65
|
+
6. Docker build time
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Mode 4: Before/After Comparison
|
|
69
|
+
|
|
70
|
+
Run before and after a change to measure impact:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
/benchmark baseline # saves current metrics
|
|
74
|
+
# ... make changes ...
|
|
75
|
+
/benchmark compare # compares against baseline
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Output:
|
|
79
|
+
```
|
|
80
|
+
| Metric | Before | After | Delta | Verdict |
|
|
81
|
+
|--------|--------|-------|-------|---------|
|
|
82
|
+
| LCP | 1.2s | 1.4s | +200ms | WARNING: WARN |
|
|
83
|
+
| Bundle | 180KB | 175KB | -5KB | ✓ BETTER |
|
|
84
|
+
| Build | 12s | 14s | +2s | WARNING: WARN |
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Output
|
|
88
|
+
|
|
89
|
+
Stores baselines in `.ecc/benchmarks/` as JSON. Git-tracked so the team shares baselines.
|
|
90
|
+
|
|
91
|
+
## Integration
|
|
92
|
+
|
|
93
|
+
- CI: run `/benchmark compare` on every PR
|
|
94
|
+
- Pair with `/canary-watch` for post-deploy monitoring
|
|
95
|
+
- Pair with `/browser-qa` for full pre-ship checklist
|
|
@@ -1,191 +1,191 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: benchmark-methodology
|
|
3
|
-
description: >-
|
|
4
|
-
Use after competitive-platform-analysis has produced a tiered competitor set.
|
|
5
|
-
Scores each competitor across nine weighted dimensions (positioning, voice,
|
|
6
|
-
visual craft, offer packaging, evidence, enterprise-readiness, thought
|
|
7
|
-
leadership, pricing, client's strategic tension) with explicit 1–5 rubrics
|
|
8
|
-
and a tension-plot. Precedes competitive-report-structure.
|
|
9
|
-
license: MIT
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Benchmark Methodology
|
|
13
|
-
|
|
14
|
-
Use this skill to turn a scoped competitor set into **comparable, defensible
|
|
15
|
-
scores**. Each competitor is assessed on the same nine dimensions, with
|
|
16
|
-
explicit 1–5 rubrics, then captured in a uniform profile card. Consistency is
|
|
17
|
-
the point: scores are only useful if the same evidence would earn the same
|
|
18
|
-
number for any competitor.
|
|
19
|
-
|
|
20
|
-
## When to Activate
|
|
21
|
-
|
|
22
|
-
- A scoped, tiered competitor set from competitive-platform-analysis is ready to score.
|
|
23
|
-
- Need comparable, evidence-anchored scores across competitors — not gut-feel rankings.
|
|
24
|
-
- Client's strategic tension (the paired axes defining their target white-space) has been established.
|
|
25
|
-
- Preparing to produce profile cards for assembly in competitive-report-structure.
|
|
26
|
-
|
|
27
|
-
## Client positioning brief (establish first)
|
|
28
|
-
|
|
29
|
-
Before scoring, establish the client's positioning brief. It supplies:
|
|
30
|
-
|
|
31
|
-
- **Strategic tension** — the two axes (e.g., memorability × hireability) whose
|
|
32
|
-
intersection marks the client's target white-space. Dimension 9 is always
|
|
33
|
-
the client's named tension; report both poles separately, never averaged.
|
|
34
|
-
- **Differentiator** — what makes the client's moat. This informs which
|
|
35
|
-
dimensions matter most for the client's positioning argument.
|
|
36
|
-
- **Brand balance** — the intended mix of distinct strategic emphases. Strategic
|
|
37
|
-
recommendations must not break this balance without flagging it.
|
|
38
|
-
|
|
39
|
-
## Why these dimensions
|
|
40
|
-
|
|
41
|
-
The client competes on a **specific tension held across two poles**, not on
|
|
42
|
-
service breadth. The dimensions are weighted to reflect that moat. Two
|
|
43
|
-
dimensions — the tension poles — are scored **separately and never averaged
|
|
44
|
-
together**, because the client's strategic question is precisely whether a rival
|
|
45
|
-
achieves both simultaneously.
|
|
46
|
-
|
|
47
|
-
## The nine dimensions (with weights)
|
|
48
|
-
|
|
49
|
-
Weights guide synthesis emphasis, not a single blended score (avoid a false
|
|
50
|
-
composite — see Bias controls). Sum = 100%.
|
|
51
|
-
|
|
52
|
-
1. **Positioning clarity & distinctiveness** (18%) — Is the studio's position
|
|
53
|
-
sharp, ownable, and instantly legible? Or generic?
|
|
54
|
-
2. **Brand voice / verbal distinctiveness** (15%) — Does the copy have an
|
|
55
|
-
ownable register, or is it interchangeable agency-speak?
|
|
56
|
-
3. **Visual identity & site craft** (15%) — Quality and ownership of the visual
|
|
57
|
-
system; site as proof-of-craft.
|
|
58
|
-
4. **Service offer & packaging** (12%) — Productized and legible (named
|
|
59
|
-
sprints/audits) vs vague. Packaging maturity.
|
|
60
|
-
5. **Evidence & credibility** (12%) — Named clients, quantified outcomes,
|
|
61
|
-
case-study depth. Proof beyond assertion.
|
|
62
|
-
6. **Enterprise-readiness / commercial maturity** (10%) — Signals they can land
|
|
63
|
-
and hold SaaS/fintech/B2B/enterprise work (process, logos, scale, contracts).
|
|
64
|
-
7. **Thought leadership / content presence** (8%) — Owned POV: writing, talks,
|
|
65
|
-
newsletters, frameworks. Depth over volume.
|
|
66
|
-
8. **Pricing transparency & engagement model** (5%) — Is pricing/engagement
|
|
67
|
-
legible? Productized vs bespoke vs opaque.
|
|
68
|
-
9. **[Client's strategic tension]** (5% as a flag; **score BOTH poles,
|
|
69
|
-
report separately**) — Read the tension name and axis descriptions from the
|
|
70
|
-
client's positioning brief. Plot both; the gap is the insight. The client's
|
|
71
|
-
target quadrant is the single most important finding: who else is already
|
|
72
|
-
there?
|
|
73
|
-
|
|
74
|
-
## Scoring rubric (1–5, applies to dimensions 1–8)
|
|
75
|
-
|
|
76
|
-
Anchor every score to observable evidence. Generic descriptors below; adapt the
|
|
77
|
-
specifics per dimension but keep the level meaning constant.
|
|
78
|
-
|
|
79
|
-
- **1 — Absent / generic.** No discernible position or craft; indistinguishable
|
|
80
|
-
from a template. Active liability.
|
|
81
|
-
- **2 — Below par.** Some intent but inconsistent, derivative, or unconvincing.
|
|
82
|
-
Wouldn't survive a side-by-side.
|
|
83
|
-
- **3 — Competent / table-stakes.** Solid, professional, unremarkable. Meets
|
|
84
|
-
expectation, ownable by nobody.
|
|
85
|
-
- **4 — Strong / distinctive.** Clearly above peers; a real strength a buyer
|
|
86
|
-
would notice and cite.
|
|
87
|
-
- **5 — Category-defining.** Best-in-class, ownable, hard to imitate. Sets the
|
|
88
|
-
bar others react to.
|
|
89
|
-
|
|
90
|
-
### Tension axes (dimension 9) — score each 1–5
|
|
91
|
-
|
|
92
|
-
Read the axis labels and their 1/3/5 anchors from the client's positioning
|
|
93
|
-
brief. Example anchors for a memorability × credibility tension:
|
|
94
|
-
|
|
95
|
-
- **Memorability** — 1: forgotten instantly · 3: recognizable in context ·
|
|
96
|
-
5: unforgettable, talked-about, distinctively owned.
|
|
97
|
-
- **Credibility** — 1: feels risky/amateur · 3: safe, competent,
|
|
98
|
-
unexciting · 5: enterprise-trusted, obvious safe choice.
|
|
99
|
-
|
|
100
|
-
Plot competitors on the tension 2×2. The client's target quadrant is named in
|
|
101
|
-
the positioning brief. Who else occupies that quadrant is the single most
|
|
102
|
-
important finding of the benchmark.
|
|
103
|
-
|
|
104
|
-
## How to collect the data
|
|
105
|
-
|
|
106
|
-
For each competitor, work the dimensions in this order (cheapest signal first):
|
|
107
|
-
|
|
108
|
-
1. **Competitor's own site** — positioning, voice, offer packaging, pricing
|
|
109
|
-
posture, named clients, manifesto/POV. Screenshot the homepage + one case
|
|
110
|
-
study.
|
|
111
|
-
2. **Case studies / work** — evidence depth, quantified outcomes, client names.
|
|
112
|
-
Distinguish *asserted* ("we delivered X") from *proven* (metrics, named,
|
|
113
|
-
verifiable).
|
|
114
|
-
3. **Review directories** — corroborate clients, project size, engagement model
|
|
115
|
-
→ credibility & enterprise-readiness (e.g. Clutch.co or the niche equivalent).
|
|
116
|
-
4. **LinkedIn** — team size/model, founder narrative, content cadence →
|
|
117
|
-
thought leadership, model.
|
|
118
|
-
5. **Portfolio / craft platforms** — craft register (use the showcase native to
|
|
119
|
-
the niche: design boards, showreels, published samples, etc.).
|
|
120
|
-
6. **Content channels** — newsletter/talks/writing → thought-leadership depth.
|
|
121
|
-
|
|
122
|
-
**What to record per dimension:** the score, one-line justification, and the
|
|
123
|
-
source link/screenshot that earned it. No score without evidence.
|
|
124
|
-
|
|
125
|
-
## Bias controls
|
|
126
|
-
|
|
127
|
-
- **No single composite score.** Report dimension scores and the tension plot
|
|
128
|
-
separately. A weighted average hides the asymmetry that matters.
|
|
129
|
-
- **Asserted vs proven.** Downgrade credibility/evidence scores for
|
|
130
|
-
self-reported claims with no corroboration. Site copy is marketing, not fact.
|
|
131
|
-
- **Aesthetic affinity bias.** Reviewers may over-score studios whose aesthetic
|
|
132
|
-
they share and under-score rivals' commercial strength. Score craft and
|
|
133
|
-
credibility independently; a "boring" site may be winning bigger clients.
|
|
134
|
-
- **Recency / flashiness bias.** Award-winning, showpiece work dazzles but may
|
|
135
|
-
lack commercial depth — verify with directories/clients before scoring
|
|
136
|
-
credibility.
|
|
137
|
-
- **Survivorship.** The visible, well-marketed studios aren't the whole market;
|
|
138
|
-
note strong-but-quiet operators found via directories/reviews.
|
|
139
|
-
- **Calibrate across the set, not in isolation.** Before finalizing, re-read
|
|
140
|
-
scores side-by-side — a "4" must mean the same thing for every competitor.
|
|
141
|
-
Adjust outliers.
|
|
142
|
-
|
|
143
|
-
## Competitor profile card (output format)
|
|
144
|
-
|
|
145
|
-
Produce one card per profiled competitor — the atomic unit the report assembles
|
|
146
|
-
from:
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
## <Competitor name>
|
|
150
|
-
- **Profile / Tier:** <positioning stance · specialization · size band> / <Direct | Adjacent | Aspirational>
|
|
151
|
-
- **One-liner:** <how they position themselves, in their words>
|
|
152
|
-
- **Model / size / geography:** <solo|micro|boutique> · <region> · <pricing/engagement model>
|
|
153
|
-
- **Notable clients / evidence:** <named, with proven/asserted tag>
|
|
154
|
-
|
|
155
|
-
### Dimension scores
|
|
156
|
-
| Dimension | Score (1–5) | Justification (1 line) | Source |
|
|
157
|
-
|---|---|---|---|
|
|
158
|
-
| Positioning clarity & distinctiveness | | | |
|
|
159
|
-
| Brand voice / verbal distinctiveness | | | |
|
|
160
|
-
| Visual identity & site craft | | | |
|
|
161
|
-
| Service offer & packaging | | | |
|
|
162
|
-
| Evidence & credibility | | | |
|
|
163
|
-
| Enterprise-readiness / commercial maturity | | | |
|
|
164
|
-
| Thought leadership / content presence | | | |
|
|
165
|
-
| Pricing transparency & engagement model | | | |
|
|
166
|
-
|
|
167
|
-
### Tension plot
|
|
168
|
-
- **[Axis 1 from positioning brief]:** <1–5> — <why>
|
|
169
|
-
- **[Axis 2 from positioning brief]:** <1–5> — <why>
|
|
170
|
-
- **Quadrant:** <high/high | high-1/low-2 | low-1/high-2 | low/low>
|
|
171
|
-
|
|
172
|
-
### Read for [client]
|
|
173
|
-
- **Strength to learn from:** <…>
|
|
174
|
-
- **Weakness to exploit / white-space it exposes:** <…>
|
|
175
|
-
- **Threat to [client]:** <…>
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
Hand the completed cards plus the tension plot to `competitive-report-structure`.
|
|
179
|
-
|
|
180
|
-
## Anti-Patterns
|
|
181
|
-
|
|
182
|
-
- **Averaging the tension axes.** The two poles of the client's strategic tension must be scored and reported separately. Averaging destroys the insight — the gap between poles is the finding.
|
|
183
|
-
- **Scoring without evidence.** Every score requires a one-line justification and a source link. A score without evidence is an opinion, not a benchmark.
|
|
184
|
-
- **Creating a single composite score.** Report dimension scores individually. A weighted average hides the asymmetric strengths that matter for positioning.
|
|
185
|
-
- **Applying generic rubric anchors without adapting.** The 1–5 anchors must be calibrated to the specific dimension and competitor set. The generic descriptions are a starting point, not a fixed standard.
|
|
186
|
-
- **Running before the competitor set is scoped.** Use competitive-platform-analysis first to produce a tiered, pruned set. Scoring an unscoped list wastes effort on irrelevant competitors.
|
|
187
|
-
|
|
188
|
-
## Related Skills
|
|
189
|
-
|
|
190
|
-
- `competitive-platform-analysis` — the prerequisite; produces the tiered competitor set this skill scores.
|
|
191
|
-
- `competitive-report-structure` — the next step; assembles the scored profile cards into a client-deliverable report.
|
|
1
|
+
---
|
|
2
|
+
name: benchmark-methodology
|
|
3
|
+
description: >-
|
|
4
|
+
Use after competitive-platform-analysis has produced a tiered competitor set.
|
|
5
|
+
Scores each competitor across nine weighted dimensions (positioning, voice,
|
|
6
|
+
visual craft, offer packaging, evidence, enterprise-readiness, thought
|
|
7
|
+
leadership, pricing, client's strategic tension) with explicit 1–5 rubrics
|
|
8
|
+
and a tension-plot. Precedes competitive-report-structure.
|
|
9
|
+
license: MIT
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Benchmark Methodology
|
|
13
|
+
|
|
14
|
+
Use this skill to turn a scoped competitor set into **comparable, defensible
|
|
15
|
+
scores**. Each competitor is assessed on the same nine dimensions, with
|
|
16
|
+
explicit 1–5 rubrics, then captured in a uniform profile card. Consistency is
|
|
17
|
+
the point: scores are only useful if the same evidence would earn the same
|
|
18
|
+
number for any competitor.
|
|
19
|
+
|
|
20
|
+
## When to Activate
|
|
21
|
+
|
|
22
|
+
- A scoped, tiered competitor set from competitive-platform-analysis is ready to score.
|
|
23
|
+
- Need comparable, evidence-anchored scores across competitors — not gut-feel rankings.
|
|
24
|
+
- Client's strategic tension (the paired axes defining their target white-space) has been established.
|
|
25
|
+
- Preparing to produce profile cards for assembly in competitive-report-structure.
|
|
26
|
+
|
|
27
|
+
## Client positioning brief (establish first)
|
|
28
|
+
|
|
29
|
+
Before scoring, establish the client's positioning brief. It supplies:
|
|
30
|
+
|
|
31
|
+
- **Strategic tension** — the two axes (e.g., memorability × hireability) whose
|
|
32
|
+
intersection marks the client's target white-space. Dimension 9 is always
|
|
33
|
+
the client's named tension; report both poles separately, never averaged.
|
|
34
|
+
- **Differentiator** — what makes the client's moat. This informs which
|
|
35
|
+
dimensions matter most for the client's positioning argument.
|
|
36
|
+
- **Brand balance** — the intended mix of distinct strategic emphases. Strategic
|
|
37
|
+
recommendations must not break this balance without flagging it.
|
|
38
|
+
|
|
39
|
+
## Why these dimensions
|
|
40
|
+
|
|
41
|
+
The client competes on a **specific tension held across two poles**, not on
|
|
42
|
+
service breadth. The dimensions are weighted to reflect that moat. Two
|
|
43
|
+
dimensions — the tension poles — are scored **separately and never averaged
|
|
44
|
+
together**, because the client's strategic question is precisely whether a rival
|
|
45
|
+
achieves both simultaneously.
|
|
46
|
+
|
|
47
|
+
## The nine dimensions (with weights)
|
|
48
|
+
|
|
49
|
+
Weights guide synthesis emphasis, not a single blended score (avoid a false
|
|
50
|
+
composite — see Bias controls). Sum = 100%.
|
|
51
|
+
|
|
52
|
+
1. **Positioning clarity & distinctiveness** (18%) — Is the studio's position
|
|
53
|
+
sharp, ownable, and instantly legible? Or generic?
|
|
54
|
+
2. **Brand voice / verbal distinctiveness** (15%) — Does the copy have an
|
|
55
|
+
ownable register, or is it interchangeable agency-speak?
|
|
56
|
+
3. **Visual identity & site craft** (15%) — Quality and ownership of the visual
|
|
57
|
+
system; site as proof-of-craft.
|
|
58
|
+
4. **Service offer & packaging** (12%) — Productized and legible (named
|
|
59
|
+
sprints/audits) vs vague. Packaging maturity.
|
|
60
|
+
5. **Evidence & credibility** (12%) — Named clients, quantified outcomes,
|
|
61
|
+
case-study depth. Proof beyond assertion.
|
|
62
|
+
6. **Enterprise-readiness / commercial maturity** (10%) — Signals they can land
|
|
63
|
+
and hold SaaS/fintech/B2B/enterprise work (process, logos, scale, contracts).
|
|
64
|
+
7. **Thought leadership / content presence** (8%) — Owned POV: writing, talks,
|
|
65
|
+
newsletters, frameworks. Depth over volume.
|
|
66
|
+
8. **Pricing transparency & engagement model** (5%) — Is pricing/engagement
|
|
67
|
+
legible? Productized vs bespoke vs opaque.
|
|
68
|
+
9. **[Client's strategic tension]** (5% as a flag; **score BOTH poles,
|
|
69
|
+
report separately**) — Read the tension name and axis descriptions from the
|
|
70
|
+
client's positioning brief. Plot both; the gap is the insight. The client's
|
|
71
|
+
target quadrant is the single most important finding: who else is already
|
|
72
|
+
there?
|
|
73
|
+
|
|
74
|
+
## Scoring rubric (1–5, applies to dimensions 1–8)
|
|
75
|
+
|
|
76
|
+
Anchor every score to observable evidence. Generic descriptors below; adapt the
|
|
77
|
+
specifics per dimension but keep the level meaning constant.
|
|
78
|
+
|
|
79
|
+
- **1 — Absent / generic.** No discernible position or craft; indistinguishable
|
|
80
|
+
from a template. Active liability.
|
|
81
|
+
- **2 — Below par.** Some intent but inconsistent, derivative, or unconvincing.
|
|
82
|
+
Wouldn't survive a side-by-side.
|
|
83
|
+
- **3 — Competent / table-stakes.** Solid, professional, unremarkable. Meets
|
|
84
|
+
expectation, ownable by nobody.
|
|
85
|
+
- **4 — Strong / distinctive.** Clearly above peers; a real strength a buyer
|
|
86
|
+
would notice and cite.
|
|
87
|
+
- **5 — Category-defining.** Best-in-class, ownable, hard to imitate. Sets the
|
|
88
|
+
bar others react to.
|
|
89
|
+
|
|
90
|
+
### Tension axes (dimension 9) — score each 1–5
|
|
91
|
+
|
|
92
|
+
Read the axis labels and their 1/3/5 anchors from the client's positioning
|
|
93
|
+
brief. Example anchors for a memorability × credibility tension:
|
|
94
|
+
|
|
95
|
+
- **Memorability** — 1: forgotten instantly · 3: recognizable in context ·
|
|
96
|
+
5: unforgettable, talked-about, distinctively owned.
|
|
97
|
+
- **Credibility** — 1: feels risky/amateur · 3: safe, competent,
|
|
98
|
+
unexciting · 5: enterprise-trusted, obvious safe choice.
|
|
99
|
+
|
|
100
|
+
Plot competitors on the tension 2×2. The client's target quadrant is named in
|
|
101
|
+
the positioning brief. Who else occupies that quadrant is the single most
|
|
102
|
+
important finding of the benchmark.
|
|
103
|
+
|
|
104
|
+
## How to collect the data
|
|
105
|
+
|
|
106
|
+
For each competitor, work the dimensions in this order (cheapest signal first):
|
|
107
|
+
|
|
108
|
+
1. **Competitor's own site** — positioning, voice, offer packaging, pricing
|
|
109
|
+
posture, named clients, manifesto/POV. Screenshot the homepage + one case
|
|
110
|
+
study.
|
|
111
|
+
2. **Case studies / work** — evidence depth, quantified outcomes, client names.
|
|
112
|
+
Distinguish *asserted* ("we delivered X") from *proven* (metrics, named,
|
|
113
|
+
verifiable).
|
|
114
|
+
3. **Review directories** — corroborate clients, project size, engagement model
|
|
115
|
+
→ credibility & enterprise-readiness (e.g. Clutch.co or the niche equivalent).
|
|
116
|
+
4. **LinkedIn** — team size/model, founder narrative, content cadence →
|
|
117
|
+
thought leadership, model.
|
|
118
|
+
5. **Portfolio / craft platforms** — craft register (use the showcase native to
|
|
119
|
+
the niche: design boards, showreels, published samples, etc.).
|
|
120
|
+
6. **Content channels** — newsletter/talks/writing → thought-leadership depth.
|
|
121
|
+
|
|
122
|
+
**What to record per dimension:** the score, one-line justification, and the
|
|
123
|
+
source link/screenshot that earned it. No score without evidence.
|
|
124
|
+
|
|
125
|
+
## Bias controls
|
|
126
|
+
|
|
127
|
+
- **No single composite score.** Report dimension scores and the tension plot
|
|
128
|
+
separately. A weighted average hides the asymmetry that matters.
|
|
129
|
+
- **Asserted vs proven.** Downgrade credibility/evidence scores for
|
|
130
|
+
self-reported claims with no corroboration. Site copy is marketing, not fact.
|
|
131
|
+
- **Aesthetic affinity bias.** Reviewers may over-score studios whose aesthetic
|
|
132
|
+
they share and under-score rivals' commercial strength. Score craft and
|
|
133
|
+
credibility independently; a "boring" site may be winning bigger clients.
|
|
134
|
+
- **Recency / flashiness bias.** Award-winning, showpiece work dazzles but may
|
|
135
|
+
lack commercial depth — verify with directories/clients before scoring
|
|
136
|
+
credibility.
|
|
137
|
+
- **Survivorship.** The visible, well-marketed studios aren't the whole market;
|
|
138
|
+
note strong-but-quiet operators found via directories/reviews.
|
|
139
|
+
- **Calibrate across the set, not in isolation.** Before finalizing, re-read
|
|
140
|
+
scores side-by-side — a "4" must mean the same thing for every competitor.
|
|
141
|
+
Adjust outliers.
|
|
142
|
+
|
|
143
|
+
## Competitor profile card (output format)
|
|
144
|
+
|
|
145
|
+
Produce one card per profiled competitor — the atomic unit the report assembles
|
|
146
|
+
from:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
## <Competitor name>
|
|
150
|
+
- **Profile / Tier:** <positioning stance · specialization · size band> / <Direct | Adjacent | Aspirational>
|
|
151
|
+
- **One-liner:** <how they position themselves, in their words>
|
|
152
|
+
- **Model / size / geography:** <solo|micro|boutique> · <region> · <pricing/engagement model>
|
|
153
|
+
- **Notable clients / evidence:** <named, with proven/asserted tag>
|
|
154
|
+
|
|
155
|
+
### Dimension scores
|
|
156
|
+
| Dimension | Score (1–5) | Justification (1 line) | Source |
|
|
157
|
+
|---|---|---|---|
|
|
158
|
+
| Positioning clarity & distinctiveness | | | |
|
|
159
|
+
| Brand voice / verbal distinctiveness | | | |
|
|
160
|
+
| Visual identity & site craft | | | |
|
|
161
|
+
| Service offer & packaging | | | |
|
|
162
|
+
| Evidence & credibility | | | |
|
|
163
|
+
| Enterprise-readiness / commercial maturity | | | |
|
|
164
|
+
| Thought leadership / content presence | | | |
|
|
165
|
+
| Pricing transparency & engagement model | | | |
|
|
166
|
+
|
|
167
|
+
### Tension plot
|
|
168
|
+
- **[Axis 1 from positioning brief]:** <1–5> — <why>
|
|
169
|
+
- **[Axis 2 from positioning brief]:** <1–5> — <why>
|
|
170
|
+
- **Quadrant:** <high/high | high-1/low-2 | low-1/high-2 | low/low>
|
|
171
|
+
|
|
172
|
+
### Read for [client]
|
|
173
|
+
- **Strength to learn from:** <…>
|
|
174
|
+
- **Weakness to exploit / white-space it exposes:** <…>
|
|
175
|
+
- **Threat to [client]:** <…>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Hand the completed cards plus the tension plot to `competitive-report-structure`.
|
|
179
|
+
|
|
180
|
+
## Anti-Patterns
|
|
181
|
+
|
|
182
|
+
- **Averaging the tension axes.** The two poles of the client's strategic tension must be scored and reported separately. Averaging destroys the insight — the gap between poles is the finding.
|
|
183
|
+
- **Scoring without evidence.** Every score requires a one-line justification and a source link. A score without evidence is an opinion, not a benchmark.
|
|
184
|
+
- **Creating a single composite score.** Report dimension scores individually. A weighted average hides the asymmetric strengths that matter for positioning.
|
|
185
|
+
- **Applying generic rubric anchors without adapting.** The 1–5 anchors must be calibrated to the specific dimension and competitor set. The generic descriptions are a starting point, not a fixed standard.
|
|
186
|
+
- **Running before the competitor set is scoped.** Use competitive-platform-analysis first to produce a tiered, pruned set. Scoring an unscoped list wastes effort on irrelevant competitors.
|
|
187
|
+
|
|
188
|
+
## Related Skills
|
|
189
|
+
|
|
190
|
+
- `competitive-platform-analysis` — the prerequisite; produces the tiered competitor set this skill scores.
|
|
191
|
+
- `competitive-report-structure` — the next step; assembles the scored profile cards into a client-deliverable report.
|