codeply-cli 0.5.6 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/THIRD_PARTY_NOTICES.md +65 -65
- package/bin/codeply.js +8 -3
- package/lib/agent.mjs +2596 -2268
- package/lib/ai.js +135 -27
- 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/autopilot.js +84 -0
- package/lib/bot-mail.js +46 -0
- package/lib/bots.js +142 -15
- package/lib/brain.js +914 -0
- package/lib/call-assist.js +120 -0
- package/lib/chatgpt.js +282 -282
- package/lib/cloud-browser.mjs +143 -143
- package/lib/cloud.mjs +1396 -1320
- package/lib/commands.js +103 -103
- package/lib/computer.js +136 -0
- 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/design-tools.mjs +173 -0
- package/lib/diagnostics.js +192 -192
- package/lib/dsh-acp.mjs +444 -0
- package/lib/edit-engine.js +364 -364
- package/lib/github-agent.mjs +326 -326
- package/lib/handoff.mjs +245 -0
- package/lib/history.js +78 -75
- package/lib/life-sources.js +319 -0
- package/lib/life-store.js +356 -0
- package/lib/life-triggers.js +286 -0
- package/lib/life.js +487 -0
- package/lib/mail-watch.js +3 -3
- package/lib/mcp.js +258 -258
- package/lib/native-tools.mjs +17 -5
- package/lib/oauth-connectors.js +76 -21
- package/lib/permissions.js +109 -109
- package/lib/plugins.js +356 -353
- package/lib/reach.js +67 -67
- package/lib/render-md.mjs +647 -617
- package/lib/screen.js +77 -0
- package/lib/server.mjs +458 -457
- package/lib/session-db.js +220 -220
- package/lib/share.js +208 -168
- package/lib/skills.js +4 -1
- package/lib/snapshot.js +146 -146
- package/lib/subagents.js +4 -2
- package/lib/telemetry.js +105 -105
- package/lib/terminal-hints.js +154 -154
- package/lib/textarea.mjs +264 -258
- package/lib/tools.mjs +326 -40
- package/lib/tui.mjs +1459 -1086
- package/lib/typecheck-worker.js +147 -147
- package/lib/web-tools.js +209 -209
- package/package.json +1 -1
- 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/codeply-taste/LICENSE +21 -0
- package/skills/codeply-taste/SKILL.md +100 -0
- package/skills/codeply-taste/SOURCE.md +10 -0
- package/skills/codeply-taste/assets/base.css +100 -0
- package/skills/codeply-taste/assets/base.js +37 -0
- package/skills/codeply-taste/library/directions.json +1078 -0
- package/skills/codeply-taste/library/heroes.json +894 -0
- package/skills/codeply-taste/library/motions.json +57 -0
- package/skills/codeply-taste/library/palettes.json +1485 -0
- package/skills/codeply-taste/library/photos.json +7240 -0
- package/skills/codeply-taste/library/sections.json +4136 -0
- package/skills/codeply-taste/library/sites.json +7274 -0
- package/skills/codeply-taste/library/type.json +2024 -0
- package/skills/codeply-taste/references/colour.md +141 -0
- package/skills/codeply-taste/references/copy.md +177 -0
- package/skills/codeply-taste/references/critique.md +171 -0
- package/skills/codeply-taste/references/imagery.md +377 -0
- package/skills/codeply-taste/references/layout.md +178 -0
- package/skills/codeply-taste/references/motion.md +292 -0
- package/skills/codeply-taste/references/research.md +306 -0
- package/skills/codeply-taste/references/tells.md +115 -0
- package/skills/codeply-taste/references/type.md +170 -0
- package/skills/codeply-taste/scripts/assets.mjs +865 -0
- package/skills/codeply-taste/scripts/draw.mjs +525 -0
- package/skills/codeply-taste/scripts/inspect.mjs +205 -0
- package/skills/codeply-taste/scripts/lib/cdp.mjs +205 -0
- package/skills/codeply-taste/scripts/lib/probe.mjs +569 -0
- package/skills/codeply-taste/scripts/lib/rules.mjs +137 -0
- package/skills/codeply-taste/scripts/lint.mjs +108 -0
- 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/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,167 +1,167 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: codehealth-mcp
|
|
3
|
-
description: Real-time structural Code Health via CodeScene MCP — review before edits, verify score deltas after changes, gate commits and PRs. Use when reviewing code quality, refactoring, checking if AI changes degraded a file, or before commit/PR.
|
|
4
|
-
metadata:
|
|
5
|
-
origin: community
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Code Health MCP (CodeScene)
|
|
9
|
-
|
|
10
|
-
Structural maintainability feedback for AI-assisted coding. Complements style/lint skills (`coding-standards`, `plankton-code-quality`) with **design-level** health scores and regression gates.
|
|
11
|
-
|
|
12
|
-
**Upstream:** [codescene-oss/codescene-mcp-server](https://github.com/codescene-oss/codescene-mcp-server)
|
|
13
|
-
**Package:** `@codescene/codehealth-mcp` (stdio via npx)
|
|
14
|
-
|
|
15
|
-
## Security and boundaries
|
|
16
|
-
|
|
17
|
-
**Opt-in (ECC):** The `codescene` block in `mcp-configs/mcp-servers.json` is a template only. ECC plugin installs do not auto-enable bundled MCP servers. Copy the entry into your config only if you want it. You can exclude it during ECC install/sync with `ECC_DISABLED_MCPS=codescene,...`.
|
|
18
|
-
|
|
19
|
-
**Credentials:** No bundled token. Set `CS_ACCESS_TOKEN` yourself (see [getting-a-personal-access-token.md](https://github.com/codescene-oss/codescene-mcp-server/blob/main/docs/getting-a-personal-access-token.md) in the upstream repo). Never commit tokens to the repo.
|
|
20
|
-
|
|
21
|
-
**What the tools read:** When invoked, tools analyze files and git state **in the local repository** you point them at (paths you pass, plus branch context for `analyze_change_set`). They do not run by themselves. For standalone mode, follow upstream privacy docs: [codescene-mcp-server README](https://github.com/codescene-oss/codescene-mcp-server#frequently-asked-questions) and [CodeScene policies](https://codescene.com/policies). Do not use this skill for secrets, credentials, or paths you do not want analyzed.
|
|
22
|
-
|
|
23
|
-
**If the MCP is unavailable (offline, bad token, server crash):** Do not invent Code Health scores. Tell the user the check was skipped. Continue only with explicit user approval. Prefer lint/tests/verification-loop for gating when MCP is down. Re-enable checks once the server connects.
|
|
24
|
-
|
|
25
|
-
## When to Use
|
|
26
|
-
|
|
27
|
-
- User asks to **review code quality**, **refactor** a file, or check if **AI changes degraded** maintainability
|
|
28
|
-
- Before editing a **hotspot**, legacy module, or unfamiliar file
|
|
29
|
-
- Before **commit** or **pull request** when you need a maintainability safeguard
|
|
30
|
-
- After a large agent-written diff — verify Code Health did not regress
|
|
31
|
-
- Pair with `verification-loop`, `tdd-workflow`, or `/quality-gate` as a structural check (not a replacement for tests/lint)
|
|
32
|
-
|
|
33
|
-
## When to Activate
|
|
34
|
-
|
|
35
|
-
Same triggers as **When to Use** above — this heading is what ECC uses for skill auto-activation.
|
|
36
|
-
|
|
37
|
-
## How It Works
|
|
38
|
-
|
|
39
|
-
### 1. Connect the MCP server
|
|
40
|
-
|
|
41
|
-
Copy the `codescene` entry from `mcp-configs/mcp-servers.json` into your harness MCP config.
|
|
42
|
-
|
|
43
|
-
**Claude Code** (`~/.claude.json` → `mcpServers`):
|
|
44
|
-
|
|
45
|
-
```json
|
|
46
|
-
"codescene": {
|
|
47
|
-
"command": "npx",
|
|
48
|
-
"args": ["-y", "@codescene/codehealth-mcp"],
|
|
49
|
-
"env": {
|
|
50
|
-
"CS_ACCESS_TOKEN": "YOUR_CS_ACCESS_TOKEN_HERE"
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Project-scoped:** merge the same block into `.mcp.json` at the repo root.
|
|
56
|
-
|
|
57
|
-
Token setup is documented in the upstream repo (link above). Standalone mode does not require a paid CodeScene platform account for the four tools listed below. Restart the session and confirm the `codescene` server is connected before relying on scores.
|
|
58
|
-
|
|
59
|
-
### 2. Call standalone tools only
|
|
60
|
-
|
|
61
|
-
| Tool | When to use |
|
|
62
|
-
|------|-------------|
|
|
63
|
-
| `code_health_review` | Full structural analysis **before** modifying a file |
|
|
64
|
-
| `code_health_score` | Quick numeric score after each change (delta check) |
|
|
65
|
-
| `pre_commit_code_health_safeguard` | Block commits that introduce Code Health regressions |
|
|
66
|
-
| `analyze_change_set` | Branch-level check **before** opening a PR |
|
|
67
|
-
|
|
68
|
-
Do **not** call platform-only tools (e.g. repository-wide technical debt hotspot lists). Do **not** reference `delta_analysis` — not available on standalone.
|
|
69
|
-
|
|
70
|
-
### 3. Interpret scores (1–10)
|
|
71
|
-
|
|
72
|
-
| Range | Meaning | Agent behavior |
|
|
73
|
-
|-------|---------|----------------|
|
|
74
|
-
| **9.0–10.0** | Green — healthy | Safer to extend; still prefer vertical slices |
|
|
75
|
-
| **4.0–8.9** | Yellow — debt | Tread carefully; no drive-by refactors |
|
|
76
|
-
| **1.0–3.9** | Red — severe debt | Narrow scope only |
|
|
77
|
-
|
|
78
|
-
### 4. Run the feedback loop
|
|
79
|
-
|
|
80
|
-
**Before touching a file**
|
|
81
|
-
|
|
82
|
-
1. Run `code_health_review` on the target path.
|
|
83
|
-
2. Record baseline score and listed code smells.
|
|
84
|
-
3. Plan the smallest change that addresses the task.
|
|
85
|
-
|
|
86
|
-
Scope by score: **below 5** — minimal diff only; **5–7** — no broad refactors; **above 7** — safer to refactor, still verify after each edit.
|
|
87
|
-
|
|
88
|
-
**After each change**
|
|
89
|
-
|
|
90
|
-
1. Run `code_health_score` on the same file.
|
|
91
|
-
2. Compare to the baseline from `code_health_review`.
|
|
92
|
-
3. If the score **regressed**, fix before continuing. Never mark the task done while the score is lower than when you started.
|
|
93
|
-
|
|
94
|
-
**Before every commit** — run `pre_commit_code_health_safeguard` on the repository path.
|
|
95
|
-
|
|
96
|
-
**Before a PR** — run `analyze_change_set` against the base branch (e.g. `main`).
|
|
97
|
-
|
|
98
|
-
## Examples
|
|
99
|
-
|
|
100
|
-
### Example: Flask maintainability improvement
|
|
101
|
-
|
|
102
|
-
On `pallets/flask`, an agent loop using only standalone tools:
|
|
103
|
-
|
|
104
|
-
1. `code_health_review` on a target module (baseline **4.82**)
|
|
105
|
-
2. Targeted refactor addressing listed smells
|
|
106
|
-
3. `code_health_score` after each edit
|
|
107
|
-
4. `pre_commit_code_health_safeguard` before commit
|
|
108
|
-
5. `analyze_change_set` before PR
|
|
109
|
-
|
|
110
|
-
Result: Code Health **4.82 → 9.1** (free standalone token only).
|
|
111
|
-
|
|
112
|
-
### Example: AGENTS.md enforcement block
|
|
113
|
-
|
|
114
|
-
Paste into the project `AGENTS.md` or `CLAUDE.md`:
|
|
115
|
-
|
|
116
|
-
```md
|
|
117
|
-
## Code Health (CodeScene MCP)
|
|
118
|
-
|
|
119
|
-
Before modifying any file: run `code_health_review`, note score and issues.
|
|
120
|
-
|
|
121
|
-
- Score below 5: problematic range — scope changes narrowly.
|
|
122
|
-
- Score 5–7: warning range — no broad refactors.
|
|
123
|
-
|
|
124
|
-
After each change: run `code_health_score` to verify delta.
|
|
125
|
-
|
|
126
|
-
- If score regressed: fix before continuing; never declare done if score dropped.
|
|
127
|
-
|
|
128
|
-
Before every commit: run `pre_commit_code_health_safeguard`.
|
|
129
|
-
|
|
130
|
-
Before PR: run `analyze_change_set`.
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Example: anti-patterns vs correct loop
|
|
134
|
-
|
|
135
|
-
```markdown
|
|
136
|
-
# BAD: Edit first, check later
|
|
137
|
-
[large refactor without code_health_review]
|
|
138
|
-
|
|
139
|
-
# BAD: Ignore score drop
|
|
140
|
-
"Tests pass" → mark task done while Code Health decreased
|
|
141
|
-
|
|
142
|
-
# BAD: Broad refactor on red-score file (below 5)
|
|
143
|
-
Drive-by cleanup across the module
|
|
144
|
-
|
|
145
|
-
# GOOD: review → small change → score → commit safeguard → analyze_change_set
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## Pairing with ECC
|
|
149
|
-
|
|
150
|
-
| ECC skill / flow | Code Health MCP role |
|
|
151
|
-
|------------------|----------------------|
|
|
152
|
-
| `coding-standards` | Style/naming; Code Health = structure/complexity |
|
|
153
|
-
| `plankton-code-quality` | Write-time lint/format; Code Health = pre/post edit structural gate |
|
|
154
|
-
| `verification-loop` / `/quality-gate` | Add structural regression check before "done" |
|
|
155
|
-
| `security-review` | Security vs maintainability — use both when relevant |
|
|
156
|
-
| `tdd-workflow` | Tests pass ≠ healthy design — check score after refactors |
|
|
157
|
-
|
|
158
|
-
**Context tip:** ECC recommends keeping MCP count low. Enable `codescene` when doing substantive edits; disable when not needed.
|
|
159
|
-
|
|
160
|
-
## Related Skills
|
|
161
|
-
|
|
162
|
-
- `coding-standards` — baseline conventions
|
|
163
|
-
- `plankton-code-quality` — write-time lint/format hooks
|
|
164
|
-
- `verification-loop` — build/test/lint gate
|
|
165
|
-
- `tdd-workflow` — test-first development
|
|
166
|
-
- `security-review` — security checklist
|
|
167
|
-
- `documentation-lookup` — library docs via Context7 (orthogonal)
|
|
1
|
+
---
|
|
2
|
+
name: codehealth-mcp
|
|
3
|
+
description: Real-time structural Code Health via CodeScene MCP — review before edits, verify score deltas after changes, gate commits and PRs. Use when reviewing code quality, refactoring, checking if AI changes degraded a file, or before commit/PR.
|
|
4
|
+
metadata:
|
|
5
|
+
origin: community
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Code Health MCP (CodeScene)
|
|
9
|
+
|
|
10
|
+
Structural maintainability feedback for AI-assisted coding. Complements style/lint skills (`coding-standards`, `plankton-code-quality`) with **design-level** health scores and regression gates.
|
|
11
|
+
|
|
12
|
+
**Upstream:** [codescene-oss/codescene-mcp-server](https://github.com/codescene-oss/codescene-mcp-server)
|
|
13
|
+
**Package:** `@codescene/codehealth-mcp` (stdio via npx)
|
|
14
|
+
|
|
15
|
+
## Security and boundaries
|
|
16
|
+
|
|
17
|
+
**Opt-in (ECC):** The `codescene` block in `mcp-configs/mcp-servers.json` is a template only. ECC plugin installs do not auto-enable bundled MCP servers. Copy the entry into your config only if you want it. You can exclude it during ECC install/sync with `ECC_DISABLED_MCPS=codescene,...`.
|
|
18
|
+
|
|
19
|
+
**Credentials:** No bundled token. Set `CS_ACCESS_TOKEN` yourself (see [getting-a-personal-access-token.md](https://github.com/codescene-oss/codescene-mcp-server/blob/main/docs/getting-a-personal-access-token.md) in the upstream repo). Never commit tokens to the repo.
|
|
20
|
+
|
|
21
|
+
**What the tools read:** When invoked, tools analyze files and git state **in the local repository** you point them at (paths you pass, plus branch context for `analyze_change_set`). They do not run by themselves. For standalone mode, follow upstream privacy docs: [codescene-mcp-server README](https://github.com/codescene-oss/codescene-mcp-server#frequently-asked-questions) and [CodeScene policies](https://codescene.com/policies). Do not use this skill for secrets, credentials, or paths you do not want analyzed.
|
|
22
|
+
|
|
23
|
+
**If the MCP is unavailable (offline, bad token, server crash):** Do not invent Code Health scores. Tell the user the check was skipped. Continue only with explicit user approval. Prefer lint/tests/verification-loop for gating when MCP is down. Re-enable checks once the server connects.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- User asks to **review code quality**, **refactor** a file, or check if **AI changes degraded** maintainability
|
|
28
|
+
- Before editing a **hotspot**, legacy module, or unfamiliar file
|
|
29
|
+
- Before **commit** or **pull request** when you need a maintainability safeguard
|
|
30
|
+
- After a large agent-written diff — verify Code Health did not regress
|
|
31
|
+
- Pair with `verification-loop`, `tdd-workflow`, or `/quality-gate` as a structural check (not a replacement for tests/lint)
|
|
32
|
+
|
|
33
|
+
## When to Activate
|
|
34
|
+
|
|
35
|
+
Same triggers as **When to Use** above — this heading is what ECC uses for skill auto-activation.
|
|
36
|
+
|
|
37
|
+
## How It Works
|
|
38
|
+
|
|
39
|
+
### 1. Connect the MCP server
|
|
40
|
+
|
|
41
|
+
Copy the `codescene` entry from `mcp-configs/mcp-servers.json` into your harness MCP config.
|
|
42
|
+
|
|
43
|
+
**Claude Code** (`~/.claude.json` → `mcpServers`):
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
"codescene": {
|
|
47
|
+
"command": "npx",
|
|
48
|
+
"args": ["-y", "@codescene/codehealth-mcp"],
|
|
49
|
+
"env": {
|
|
50
|
+
"CS_ACCESS_TOKEN": "YOUR_CS_ACCESS_TOKEN_HERE"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Project-scoped:** merge the same block into `.mcp.json` at the repo root.
|
|
56
|
+
|
|
57
|
+
Token setup is documented in the upstream repo (link above). Standalone mode does not require a paid CodeScene platform account for the four tools listed below. Restart the session and confirm the `codescene` server is connected before relying on scores.
|
|
58
|
+
|
|
59
|
+
### 2. Call standalone tools only
|
|
60
|
+
|
|
61
|
+
| Tool | When to use |
|
|
62
|
+
|------|-------------|
|
|
63
|
+
| `code_health_review` | Full structural analysis **before** modifying a file |
|
|
64
|
+
| `code_health_score` | Quick numeric score after each change (delta check) |
|
|
65
|
+
| `pre_commit_code_health_safeguard` | Block commits that introduce Code Health regressions |
|
|
66
|
+
| `analyze_change_set` | Branch-level check **before** opening a PR |
|
|
67
|
+
|
|
68
|
+
Do **not** call platform-only tools (e.g. repository-wide technical debt hotspot lists). Do **not** reference `delta_analysis` — not available on standalone.
|
|
69
|
+
|
|
70
|
+
### 3. Interpret scores (1–10)
|
|
71
|
+
|
|
72
|
+
| Range | Meaning | Agent behavior |
|
|
73
|
+
|-------|---------|----------------|
|
|
74
|
+
| **9.0–10.0** | Green — healthy | Safer to extend; still prefer vertical slices |
|
|
75
|
+
| **4.0–8.9** | Yellow — debt | Tread carefully; no drive-by refactors |
|
|
76
|
+
| **1.0–3.9** | Red — severe debt | Narrow scope only |
|
|
77
|
+
|
|
78
|
+
### 4. Run the feedback loop
|
|
79
|
+
|
|
80
|
+
**Before touching a file**
|
|
81
|
+
|
|
82
|
+
1. Run `code_health_review` on the target path.
|
|
83
|
+
2. Record baseline score and listed code smells.
|
|
84
|
+
3. Plan the smallest change that addresses the task.
|
|
85
|
+
|
|
86
|
+
Scope by score: **below 5** — minimal diff only; **5–7** — no broad refactors; **above 7** — safer to refactor, still verify after each edit.
|
|
87
|
+
|
|
88
|
+
**After each change**
|
|
89
|
+
|
|
90
|
+
1. Run `code_health_score` on the same file.
|
|
91
|
+
2. Compare to the baseline from `code_health_review`.
|
|
92
|
+
3. If the score **regressed**, fix before continuing. Never mark the task done while the score is lower than when you started.
|
|
93
|
+
|
|
94
|
+
**Before every commit** — run `pre_commit_code_health_safeguard` on the repository path.
|
|
95
|
+
|
|
96
|
+
**Before a PR** — run `analyze_change_set` against the base branch (e.g. `main`).
|
|
97
|
+
|
|
98
|
+
## Examples
|
|
99
|
+
|
|
100
|
+
### Example: Flask maintainability improvement
|
|
101
|
+
|
|
102
|
+
On `pallets/flask`, an agent loop using only standalone tools:
|
|
103
|
+
|
|
104
|
+
1. `code_health_review` on a target module (baseline **4.82**)
|
|
105
|
+
2. Targeted refactor addressing listed smells
|
|
106
|
+
3. `code_health_score` after each edit
|
|
107
|
+
4. `pre_commit_code_health_safeguard` before commit
|
|
108
|
+
5. `analyze_change_set` before PR
|
|
109
|
+
|
|
110
|
+
Result: Code Health **4.82 → 9.1** (free standalone token only).
|
|
111
|
+
|
|
112
|
+
### Example: AGENTS.md enforcement block
|
|
113
|
+
|
|
114
|
+
Paste into the project `AGENTS.md` or `CLAUDE.md`:
|
|
115
|
+
|
|
116
|
+
```md
|
|
117
|
+
## Code Health (CodeScene MCP)
|
|
118
|
+
|
|
119
|
+
Before modifying any file: run `code_health_review`, note score and issues.
|
|
120
|
+
|
|
121
|
+
- Score below 5: problematic range — scope changes narrowly.
|
|
122
|
+
- Score 5–7: warning range — no broad refactors.
|
|
123
|
+
|
|
124
|
+
After each change: run `code_health_score` to verify delta.
|
|
125
|
+
|
|
126
|
+
- If score regressed: fix before continuing; never declare done if score dropped.
|
|
127
|
+
|
|
128
|
+
Before every commit: run `pre_commit_code_health_safeguard`.
|
|
129
|
+
|
|
130
|
+
Before PR: run `analyze_change_set`.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Example: anti-patterns vs correct loop
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
# BAD: Edit first, check later
|
|
137
|
+
[large refactor without code_health_review]
|
|
138
|
+
|
|
139
|
+
# BAD: Ignore score drop
|
|
140
|
+
"Tests pass" → mark task done while Code Health decreased
|
|
141
|
+
|
|
142
|
+
# BAD: Broad refactor on red-score file (below 5)
|
|
143
|
+
Drive-by cleanup across the module
|
|
144
|
+
|
|
145
|
+
# GOOD: review → small change → score → commit safeguard → analyze_change_set
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Pairing with ECC
|
|
149
|
+
|
|
150
|
+
| ECC skill / flow | Code Health MCP role |
|
|
151
|
+
|------------------|----------------------|
|
|
152
|
+
| `coding-standards` | Style/naming; Code Health = structure/complexity |
|
|
153
|
+
| `plankton-code-quality` | Write-time lint/format; Code Health = pre/post edit structural gate |
|
|
154
|
+
| `verification-loop` / `/quality-gate` | Add structural regression check before "done" |
|
|
155
|
+
| `security-review` | Security vs maintainability — use both when relevant |
|
|
156
|
+
| `tdd-workflow` | Tests pass ≠ healthy design — check score after refactors |
|
|
157
|
+
|
|
158
|
+
**Context tip:** ECC recommends keeping MCP count low. Enable `codescene` when doing substantive edits; disable when not needed.
|
|
159
|
+
|
|
160
|
+
## Related Skills
|
|
161
|
+
|
|
162
|
+
- `coding-standards` — baseline conventions
|
|
163
|
+
- `plankton-code-quality` — write-time lint/format hooks
|
|
164
|
+
- `verification-loop` — build/test/lint gate
|
|
165
|
+
- `tdd-workflow` — test-first development
|
|
166
|
+
- `security-review` — security checklist
|
|
167
|
+
- `documentation-lookup` — library docs via Context7 (orthogonal)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Leonxlnx
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: codeply-taste
|
|
3
|
+
description: Codeply's design layer. Use for any design a person will look at - a website or landing page, app screens, a slide deck, a document, a poster, a social post, a logo - when it has to look designed, not generated. It deals an art direction from a research library (design_direction), checks the result against measured rules and a real render (design_lint), and holds the type, colour, layout, copy, imagery and motion guides in references/.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Codeply taste
|
|
7
|
+
|
|
8
|
+
A design that looks generated has the same tells every time: the category's default
|
|
9
|
+
palette, a centred hero with a gradient, three icon cards, pill buttons with a glow,
|
|
10
|
+
and copy that says nothing. This skill exists to make something else: a design with
|
|
11
|
+
one idea, carried by type, colour, pictures and layout that were chosen for it.
|
|
12
|
+
|
|
13
|
+
The research behind it is in `references/research.md`. The short version: strong
|
|
14
|
+
pages commit to one idea, set type at few sizes far apart, use colour in planned
|
|
15
|
+
proportions, and use real pictures. Weak pages decorate.
|
|
16
|
+
|
|
17
|
+
## The workflow
|
|
18
|
+
|
|
19
|
+
1. **Know the brief.** Who is it for, what one thing must it make them feel or do,
|
|
20
|
+
what real material exists (a name, a product, photographs, numbers). If a fact
|
|
21
|
+
the design depends on is missing and only the person can say, ask once with
|
|
22
|
+
ask_user. Otherwise decide and say what you decided.
|
|
23
|
+
|
|
24
|
+
2. **Deal a direction** (websites, landing pages, and the look of an app):
|
|
25
|
+
`design_direction` with a one-line `brief`, a `sector` and a `tone`. Use
|
|
26
|
+
`options` = 3 to see three directions first when the brief is open, then
|
|
27
|
+
`direction` = the chosen id for the full sheet. The sheet gives the idea,
|
|
28
|
+
composition, type, palette, imagery, sections and the pitfalls to avoid.
|
|
29
|
+
Follow it. Re-deal one part with `redraw` (`type`, `palette`, `hero`, `photos`,
|
|
30
|
+
`section:<role>`) rather than ignoring it. For slides, documents, posters and
|
|
31
|
+
social posts, a direction is optional: when the subject has a brand or sector,
|
|
32
|
+
deal one and use its palette and type.
|
|
33
|
+
|
|
34
|
+
3. **Look at real work** for app screens: `design_reference_search` for the screen
|
|
35
|
+
type, then `view_images` on 2 to 4 results from different apps, and build from
|
|
36
|
+
what you saw.
|
|
37
|
+
|
|
38
|
+
4. **Read the guide you need** before writing: `references/type.md` and
|
|
39
|
+
`references/colour.md` always; `references/layout.md` for pages and screens;
|
|
40
|
+
`references/copy.md` for every headline and button; `references/imagery.md`
|
|
41
|
+
when pictures are involved; `references/motion.md` for websites;
|
|
42
|
+
`references/tells.md` for what not to do. Read with read_file on
|
|
43
|
+
`<skill folder>/references/<name>.md` (the use_skill output gives the folder).
|
|
44
|
+
|
|
45
|
+
5. **Write it** (see "Formats" below). Real words, not lorem ipsum: write copy the
|
|
46
|
+
way `references/copy.md` says. Real pictures: `image_search`, then
|
|
47
|
+
`fetch_image` into `assets/`, and credit them; or the dealt photographs from the
|
|
48
|
+
direction sheet.
|
|
49
|
+
|
|
50
|
+
6. **Check it, once or twice**: `design_lint` with the `path` and the `kind`, when
|
|
51
|
+
the design is complete (not after every edit). Fix every FAIL in one or two edits
|
|
52
|
+
and check once more; three checks per request at most. WARNs are optional: fix
|
|
53
|
+
the quick ones alongside the FAILs. Look at the attached screenshots the way
|
|
54
|
+
`references/critique.md` says and fix what is plainly wrong in the same edit.
|
|
55
|
+
Once a check passes, stop checking.
|
|
56
|
+
|
|
57
|
+
7. **Say what you made** in two or three lines: the idea, the type and colour, and
|
|
58
|
+
anything you decided for the person. Never say a design "works": its buttons and
|
|
59
|
+
forms are pictures of buttons and forms until someone builds it.
|
|
60
|
+
|
|
61
|
+
## Formats
|
|
62
|
+
|
|
63
|
+
One self-contained HTML file per design, so it opens anywhere: CSS in a `<style>`
|
|
64
|
+
tag, any script inline, fonts from Google Fonts with `display=swap`, pictures in
|
|
65
|
+
`assets/`. No frameworks, no build step, no external scripts except fonts.
|
|
66
|
+
|
|
67
|
+
- **website**: a full page at desktop and phone widths, responsive, with
|
|
68
|
+
`<meta name="viewport" content="width=device-width, initial-scale=1">`.
|
|
69
|
+
Motion from `assets/base.css` and `assets/base.js` (copy them in, they are
|
|
70
|
+
small): transform and opacity only, with a reduced-motion fallback.
|
|
71
|
+
- **app**: the screens of the flow side by side on a neutral canvas, each one a
|
|
72
|
+
390 by 844 frame (`<section class="screen">`) with a short label under it. Real
|
|
73
|
+
content in every state: the empty state, a loaded list, an error, as the brief
|
|
74
|
+
needs.
|
|
75
|
+
- **slides**: a 16:9 deck, each slide a `<section class="slide">` of exactly
|
|
76
|
+
1280 by 720 pixels, stacked with a gap. One idea per slide, big type, real
|
|
77
|
+
numbers. No bullet walls: three lines at most.
|
|
78
|
+
- **doc**: pages of 816 by 1056 pixels (US Letter at 96 dpi; A4 is 794 by 1123),
|
|
79
|
+
each a `<section class="page">` with its own margins, set for print too
|
|
80
|
+
(`@page` and `break-after: page`). A real typographic hierarchy, not a web page
|
|
81
|
+
squeezed onto paper.
|
|
82
|
+
- **poster**: one `<section class="poster">` at the asked size (1080 by 1350 by
|
|
83
|
+
default).
|
|
84
|
+
- **social**: one or more `<section class="post">` at 1080 by 1080 (or 1080 by
|
|
85
|
+
1350 / 1080 by 1920 when asked).
|
|
86
|
+
- **logo**: the mark as inline SVG, shown on light and dark grounds, at large and
|
|
87
|
+
small sizes, with the wordmark lockup. Simple enough to read at 16 pixels.
|
|
88
|
+
|
|
89
|
+
Only pages and app screens move. Slides, documents, posters, posts and logos are
|
|
90
|
+
still.
|
|
91
|
+
|
|
92
|
+
## What never ships
|
|
93
|
+
|
|
94
|
+
The registry is `references/tells.md`; `design_lint` catches most of it. The ones
|
|
95
|
+
that matter most: gradient text and purple-blue gradients; glassmorphism; glow
|
|
96
|
+
and coloured shadows on buttons; three identical icon cards; everything centred;
|
|
97
|
+
eyebrow labels over every heading; emoji as icons; the cream-and-terracotta and
|
|
98
|
+
the purple "AI" palettes; grey body text with low contrast; more than two
|
|
99
|
+
typefaces; copy that could describe any product ("Unlock the power of...",
|
|
100
|
+
"Seamless", "Elevate").
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Source
|
|
2
|
+
|
|
3
|
+
Vendored from [Leonxlnx/taste-skill](https://github.com/Leonxlnx/taste-skill) (MIT, see `LICENSE`),
|
|
4
|
+
the `skills/taste-skill` folder (tasteskill v2) at commit `f624f37a8c650b9cc550253104925efe4c8de246`.
|
|
5
|
+
|
|
6
|
+
Copied unchanged: `references/`, `library/`, `scripts/`, `assets/`.
|
|
7
|
+
|
|
8
|
+
Work in progress on the Codeply design layer: Codeply's own `SKILL.md` (websites and app screens,
|
|
9
|
+
wired to the App Store reference library and the engine's `design_direction` / `design_lint` tools)
|
|
10
|
+
is added in a later commit.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* tasteskill / base.css
|
|
2
|
+
A neutral foundation: reset, token names, fluid type steps, a 12-column grid, states and the motion
|
|
3
|
+
helpers from references/motion.md. It has no look of its own. Copy it into the project, replace the
|
|
4
|
+
token values with the ones on the direction sheet, and build on top. Delete what you do not use. */
|
|
5
|
+
|
|
6
|
+
/* ---------- tokens (replace with the dealt palette and type system) ---------- */
|
|
7
|
+
:root {
|
|
8
|
+
--bg: #ffffff;
|
|
9
|
+
--surface: #f2f2f2;
|
|
10
|
+
--ink: #111111;
|
|
11
|
+
--muted: #5c5c5c;
|
|
12
|
+
--accent: #111111;
|
|
13
|
+
--accent-ink: #ffffff;
|
|
14
|
+
|
|
15
|
+
--font-display: system-ui, sans-serif;
|
|
16
|
+
--font-text: system-ui, sans-serif;
|
|
17
|
+
|
|
18
|
+
--step-small: clamp(0.8125rem, 0.79rem + 0.1vw, 0.875rem);
|
|
19
|
+
--step-body: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
|
|
20
|
+
--step-lead: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
|
|
21
|
+
--step-head: clamp(2rem, 1.3rem + 3.2vw, 4rem);
|
|
22
|
+
--step-display: clamp(3rem, 1rem + 9vw, 9rem); /* set from the hero blueprint */
|
|
23
|
+
|
|
24
|
+
--margin: clamp(1rem, 2.2vw, 2rem); /* page side margin: tight, so content reaches the edges */
|
|
25
|
+
--gutter: clamp(1rem, 2vw, 2rem); /* column gap */
|
|
26
|
+
--section: clamp(5rem, 12vw, 13rem); /* space between sections */
|
|
27
|
+
--radius: 0px; /* one radius for the whole page: 0, or large, decided once */
|
|
28
|
+
|
|
29
|
+
--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
|
|
30
|
+
--ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
|
|
31
|
+
--ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
|
|
32
|
+
--t-press: 140ms;
|
|
33
|
+
--t-hover: 180ms;
|
|
34
|
+
--t-ui: 240ms;
|
|
35
|
+
--t-reveal: 800ms;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* ---------- reset ---------- */
|
|
39
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
40
|
+
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: auto; }
|
|
41
|
+
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-text); font-size: var(--step-body); line-height: 1.5; font-kerning: normal; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
|
|
42
|
+
h1, h2, h3, h4, p, figure, blockquote, ul, ol, dl, dd { margin: 0; }
|
|
43
|
+
ul[class], ol[class] { padding: 0; list-style: none; }
|
|
44
|
+
img, video, svg, canvas { display: block; max-width: 100%; }
|
|
45
|
+
img, video { height: auto; background: var(--surface); }
|
|
46
|
+
button, input, select, textarea { font: inherit; color: inherit; }
|
|
47
|
+
button { background: none; border: 0; padding: 0; cursor: pointer; }
|
|
48
|
+
a { color: inherit; }
|
|
49
|
+
:target { scroll-margin-top: 6rem; }
|
|
50
|
+
::selection { background: var(--accent); color: var(--accent-ink); }
|
|
51
|
+
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
|
|
52
|
+
|
|
53
|
+
/* ---------- type ---------- */
|
|
54
|
+
h1, h2, h3 { font-family: var(--font-display); font-weight: inherit; text-wrap: balance; hyphens: none; }
|
|
55
|
+
.display { font-size: var(--step-display); line-height: 0.95; letter-spacing: -0.035em; }
|
|
56
|
+
.head { font-size: var(--step-head); line-height: 1.02; letter-spacing: -0.025em; }
|
|
57
|
+
.lead { font-size: var(--step-lead); line-height: 1.35; max-width: 40ch; }
|
|
58
|
+
.small { font-size: var(--step-small); line-height: 1.45; }
|
|
59
|
+
.muted { color: var(--muted); }
|
|
60
|
+
p { max-width: 62ch; text-wrap: pretty; }
|
|
61
|
+
p + p { margin-top: 0.9em; }
|
|
62
|
+
.nums { font-variant-numeric: tabular-nums; }
|
|
63
|
+
.only-wide { display: none; }
|
|
64
|
+
@media (min-width: 48em) { .only-wide { display: inline; } }
|
|
65
|
+
|
|
66
|
+
/* ---------- layout ---------- */
|
|
67
|
+
.wrap { padding-inline: var(--margin); }
|
|
68
|
+
.grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
|
|
69
|
+
.section { padding-block: calc(var(--section) / 2); }
|
|
70
|
+
.section + .section { margin-top: 0; }
|
|
71
|
+
.bleed { margin-inline: calc(var(--margin) * -1); }
|
|
72
|
+
.cover { width: 100%; height: 100%; object-fit: cover; }
|
|
73
|
+
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
|
|
74
|
+
|
|
75
|
+
/* ---------- controls ---------- */
|
|
76
|
+
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0 1.4rem; background: var(--accent); color: var(--accent-ink); border-radius: var(--radius); text-decoration: none; white-space: nowrap; transition: transform var(--t-press) var(--ease-out), background-color var(--t-hover) ease, color var(--t-hover) ease; }
|
|
77
|
+
.button:active { transform: scale(0.97); }
|
|
78
|
+
.link { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.2em; text-decoration-thickness: 0.07em; transition: text-decoration-color var(--t-hover) ease; }
|
|
79
|
+
.link-plain { text-decoration: underline; text-underline-offset: 0.18em; text-decoration-thickness: 0.07em; }
|
|
80
|
+
@media (hover: hover) and (pointer: fine) {
|
|
81
|
+
.link:hover { text-decoration-color: currentColor; }
|
|
82
|
+
}
|
|
83
|
+
.field { width: 100%; min-height: 3rem; padding: 0.7rem 0.9rem; background: var(--surface); border: 0; border-radius: var(--radius); font-size: max(1rem, var(--step-body)); }
|
|
84
|
+
|
|
85
|
+
/* ---------- motion helpers (content stays visible without JavaScript) ---------- */
|
|
86
|
+
.lines .line { display: block; overflow: hidden; padding-bottom: 0.08em; margin-bottom: -0.08em; }
|
|
87
|
+
.lines [data-line] { display: block; }
|
|
88
|
+
.shutter { overflow: hidden; }
|
|
89
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
90
|
+
.js [data-rise] { opacity: 0; transform: translateY(18px); animation: ad-rise var(--t-reveal) var(--ease-out) forwards; animation-delay: calc(var(--i, 0) * 90ms + 120ms); }
|
|
91
|
+
.js .lines [data-line] { transform: translateY(105%); animation: ad-line 900ms var(--ease-out) forwards; animation-delay: calc(var(--i, 0) * 110ms + 150ms); }
|
|
92
|
+
.js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 700ms var(--ease-out), transform 900ms var(--ease-out); }
|
|
93
|
+
.js [data-reveal].is-in { opacity: 1; transform: none; }
|
|
94
|
+
.js .shutter[data-reveal] { opacity: 1; transform: none; clip-path: inset(0 0 100% 0); transition: clip-path 1100ms var(--ease-in-out); }
|
|
95
|
+
.js .shutter[data-reveal] img { transform: scale(1.12); transition: transform 1500ms var(--ease-soft); }
|
|
96
|
+
.js .shutter[data-reveal].is-in { clip-path: inset(0); }
|
|
97
|
+
.js .shutter[data-reveal].is-in img { transform: none; }
|
|
98
|
+
}
|
|
99
|
+
@keyframes ad-rise { to { opacity: 1; transform: none; } }
|
|
100
|
+
@keyframes ad-line { to { transform: none; } }
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// tasteskill / base.js — the small amount of script the motion helpers in base.css need.
|
|
2
|
+
// Put this line in <head> so the hidden states only apply when scripting works:
|
|
3
|
+
// <script>document.documentElement.classList.add('js')</script>
|
|
4
|
+
// Then load this file at the end of <body> (or with defer).
|
|
5
|
+
|
|
6
|
+
// Reveal once when an element enters the viewport. Never replays, never leaves content hidden.
|
|
7
|
+
(() => {
|
|
8
|
+
const targets = document.querySelectorAll('[data-reveal]');
|
|
9
|
+
if (!targets.length) return;
|
|
10
|
+
if (!('IntersectionObserver' in window)) { targets.forEach((el) => el.classList.add('is-in')); return; }
|
|
11
|
+
const io = new IntersectionObserver((entries) => {
|
|
12
|
+
for (const entry of entries) {
|
|
13
|
+
if (!entry.isIntersecting) continue;
|
|
14
|
+
entry.target.classList.add('is-in');
|
|
15
|
+
io.unobserve(entry.target);
|
|
16
|
+
}
|
|
17
|
+
}, { rootMargin: '0px 0px -12% 0px', threshold: 0.1 });
|
|
18
|
+
targets.forEach((el) => io.observe(el));
|
|
19
|
+
// safety net: if anything is still hidden a few seconds after load (observer never fired), show it
|
|
20
|
+
window.addEventListener('load', () => setTimeout(() => {
|
|
21
|
+
targets.forEach((el) => { const r = el.getBoundingClientRect(); if (r.top < innerHeight && r.bottom > 0) el.classList.add('is-in'); });
|
|
22
|
+
}, 2500));
|
|
23
|
+
})();
|
|
24
|
+
|
|
25
|
+
// Optional, for "colour by chapter": each chapter paints its own full-bleed ground in CSS
|
|
26
|
+
// (style="background: var(--field-2); color: var(--field-2-ink)"), so the colour changes exactly at
|
|
27
|
+
// section edges. This only lets a fixed header take the ink of the chapter under it. Give each chapter
|
|
28
|
+
// data-ink="#hex" and style the header with color: var(--header-ink, var(--ink)).
|
|
29
|
+
// Never recolour the whole page from an observer: mid-change, a paragraph sits on two colours.
|
|
30
|
+
(() => {
|
|
31
|
+
const chapters = document.querySelectorAll('[data-ink]');
|
|
32
|
+
if (!chapters.length || !('IntersectionObserver' in window)) return;
|
|
33
|
+
const io = new IntersectionObserver((entries) => {
|
|
34
|
+
for (const entry of entries) if (entry.isIntersecting) document.documentElement.style.setProperty('--header-ink', entry.target.dataset.ink);
|
|
35
|
+
}, { rootMargin: '0px 0px -92% 0px', threshold: 0 });
|
|
36
|
+
chapters.forEach((el) => io.observe(el));
|
|
37
|
+
})();
|