nubos-pilot 0.7.2 → 0.8.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/agents/np-executor.md +1 -0
- package/bin/install.js +2 -0
- package/bin/np-tools/_commands.cjs +98 -64
- package/bin/np-tools/dashboard.cjs +11 -5
- package/bin/np-tools/dashboard.test.cjs +80 -0
- package/bin/np-tools/help.cjs +16 -7
- package/bin/np-tools/help.test.cjs +63 -0
- package/bin/np-tools/stats.cjs +99 -3
- package/bin/np-tools/stats.test.cjs +65 -0
- package/lib/dashboard.cjs +41 -10
- package/lib/dashboard.test.cjs +83 -0
- package/lib/install/runtime-assets.cjs +50 -1
- package/lib/install/runtime-assets.test.cjs +190 -0
- package/lib/install/runtimes-registry.cjs +1 -0
- package/lib/runtime/_readline.cjs +49 -11
- package/lib/runtime/_readline.test.cjs +59 -0
- package/lib/runtime/claude.cjs +8 -1
- package/package.json +2 -1
- package/skills/np-composition-patterns/AGENTS.md +946 -0
- package/skills/np-composition-patterns/README.md +60 -0
- package/skills/np-composition-patterns/SKILL.md +89 -0
- package/skills/np-composition-patterns/metadata.json +11 -0
- package/skills/np-composition-patterns/rules/_sections.md +29 -0
- package/skills/np-composition-patterns/rules/_template.md +24 -0
- package/skills/np-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/skills/np-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/skills/np-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/skills/np-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/skills/np-composition-patterns/rules/react19-no-forwardref.md +42 -0
- package/skills/np-composition-patterns/rules/state-context-interface.md +191 -0
- package/skills/np-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/skills/np-composition-patterns/rules/state-lift-state.md +125 -0
- package/skills/np-council/SKILL.md +300 -0
- package/skills/np-design/SKILL.md +679 -0
- package/skills/np-frontend-design/LICENSE.txt +177 -0
- package/skills/np-frontend-design/SKILL.md +42 -0
- package/skills/np-high-end-visual-design/SKILL.md +98 -0
- package/skills/np-impeccable/SKILL.md +152 -0
- package/skills/np-impeccable/agents/openai.yaml +4 -0
- package/skills/np-impeccable/reference/adapt.md +190 -0
- package/skills/np-impeccable/reference/animate.md +173 -0
- package/skills/np-impeccable/reference/audit.md +134 -0
- package/skills/np-impeccable/reference/bolder.md +113 -0
- package/skills/np-impeccable/reference/brand.md +104 -0
- package/skills/np-impeccable/reference/clarify.md +174 -0
- package/skills/np-impeccable/reference/cognitive-load.md +106 -0
- package/skills/np-impeccable/reference/color-and-contrast.md +105 -0
- package/skills/np-impeccable/reference/colorize.md +154 -0
- package/skills/np-impeccable/reference/craft.md +138 -0
- package/skills/np-impeccable/reference/critique.md +213 -0
- package/skills/np-impeccable/reference/delight.md +302 -0
- package/skills/np-impeccable/reference/distill.md +111 -0
- package/skills/np-impeccable/reference/document.md +427 -0
- package/skills/np-impeccable/reference/extract.md +70 -0
- package/skills/np-impeccable/reference/harden.md +347 -0
- package/skills/np-impeccable/reference/heuristics-scoring.md +234 -0
- package/skills/np-impeccable/reference/interaction-design.md +195 -0
- package/skills/np-impeccable/reference/layout.md +141 -0
- package/skills/np-impeccable/reference/live.md +513 -0
- package/skills/np-impeccable/reference/motion-design.md +99 -0
- package/skills/np-impeccable/reference/onboard.md +234 -0
- package/skills/np-impeccable/reference/optimize.md +258 -0
- package/skills/np-impeccable/reference/overdrive.md +130 -0
- package/skills/np-impeccable/reference/personas.md +178 -0
- package/skills/np-impeccable/reference/polish.md +232 -0
- package/skills/np-impeccable/reference/product.md +62 -0
- package/skills/np-impeccable/reference/quieter.md +99 -0
- package/skills/np-impeccable/reference/responsive-design.md +114 -0
- package/skills/np-impeccable/reference/shape.md +136 -0
- package/skills/np-impeccable/reference/spatial-design.md +100 -0
- package/skills/np-impeccable/reference/teach.md +137 -0
- package/skills/np-impeccable/reference/typeset.md +124 -0
- package/skills/np-impeccable/reference/typography.md +159 -0
- package/skills/np-impeccable/reference/ux-writing.md +107 -0
- package/skills/np-impeccable/scripts/cleanup-deprecated.mjs +284 -0
- package/skills/np-impeccable/scripts/command-metadata.json +94 -0
- package/skills/np-impeccable/scripts/design-parser.mjs +820 -0
- package/skills/np-impeccable/scripts/detect-csp.mjs +198 -0
- package/skills/np-impeccable/scripts/is-generated.mjs +69 -0
- package/skills/np-impeccable/scripts/live-accept.mjs +465 -0
- package/skills/np-impeccable/scripts/live-browser.js +4684 -0
- package/skills/np-impeccable/scripts/live-inject.mjs +436 -0
- package/skills/np-impeccable/scripts/live-poll.mjs +187 -0
- package/skills/np-impeccable/scripts/live-server.mjs +679 -0
- package/skills/np-impeccable/scripts/live-wrap.mjs +395 -0
- package/skills/np-impeccable/scripts/live.mjs +247 -0
- package/skills/np-impeccable/scripts/load-context.mjs +93 -0
- package/skills/np-impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/skills/np-impeccable/scripts/pin.mjs +214 -0
- package/skills/np-industrial-brutalist-ui/SKILL.md +92 -0
- package/skills/np-minimalist-ui/SKILL.md +85 -0
- package/skills/np-react-best-practices/AGENTS.md +3810 -0
- package/skills/np-react-best-practices/README.md +123 -0
- package/skills/np-react-best-practices/SKILL.md +149 -0
- package/skills/np-react-best-practices/metadata.json +15 -0
- package/skills/np-react-best-practices/rules/_sections.md +46 -0
- package/skills/np-react-best-practices/rules/_template.md +28 -0
- package/skills/np-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
- package/skills/np-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/np-react-best-practices/rules/advanced-init-once.md +42 -0
- package/skills/np-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/skills/np-react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/np-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
- package/skills/np-react-best-practices/rules/async-defer-await.md +82 -0
- package/skills/np-react-best-practices/rules/async-dependencies.md +51 -0
- package/skills/np-react-best-practices/rules/async-parallel.md +28 -0
- package/skills/np-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/np-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
- package/skills/np-react-best-practices/rules/bundle-barrel-imports.md +60 -0
- package/skills/np-react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/np-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/np-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/np-react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/np-react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/np-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/skills/np-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/np-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/np-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/skills/np-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/np-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/np-react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/np-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/np-react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/np-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/skills/np-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/np-react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/np-react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/np-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/np-react-best-practices/rules/js-request-idle-callback.md +105 -0
- package/skills/np-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/np-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/np-react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/np-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/np-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/np-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/np-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/np-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/np-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/skills/np-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/skills/np-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/skills/np-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/np-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/skills/np-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/np-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/np-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/skills/np-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/np-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/np-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/np-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/skills/np-react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/np-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/skills/np-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/skills/np-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/skills/np-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/skills/np-react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/np-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/skills/np-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/skills/np-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/np-react-best-practices/rules/server-auth-actions.md +96 -0
- package/skills/np-react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/np-react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/np-react-best-practices/rules/server-dedup-props.md +65 -0
- package/skills/np-react-best-practices/rules/server-hoist-static-io.md +149 -0
- package/skills/np-react-best-practices/rules/server-no-shared-module-state.md +50 -0
- package/skills/np-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/np-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
- package/skills/np-react-best-practices/rules/server-serialization.md +38 -0
- package/skills/np-react-native-skills/AGENTS.md +2897 -0
- package/skills/np-react-native-skills/README.md +165 -0
- package/skills/np-react-native-skills/SKILL.md +121 -0
- package/skills/np-react-native-skills/metadata.json +16 -0
- package/skills/np-react-native-skills/rules/_sections.md +86 -0
- package/skills/np-react-native-skills/rules/_template.md +28 -0
- package/skills/np-react-native-skills/rules/animation-derived-value.md +53 -0
- package/skills/np-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
- package/skills/np-react-native-skills/rules/animation-gpu-properties.md +65 -0
- package/skills/np-react-native-skills/rules/design-system-compound-components.md +66 -0
- package/skills/np-react-native-skills/rules/fonts-config-plugin.md +71 -0
- package/skills/np-react-native-skills/rules/imports-design-system-folder.md +68 -0
- package/skills/np-react-native-skills/rules/js-hoist-intl.md +61 -0
- package/skills/np-react-native-skills/rules/list-performance-callbacks.md +44 -0
- package/skills/np-react-native-skills/rules/list-performance-function-references.md +132 -0
- package/skills/np-react-native-skills/rules/list-performance-images.md +53 -0
- package/skills/np-react-native-skills/rules/list-performance-inline-objects.md +97 -0
- package/skills/np-react-native-skills/rules/list-performance-item-expensive.md +94 -0
- package/skills/np-react-native-skills/rules/list-performance-item-memo.md +82 -0
- package/skills/np-react-native-skills/rules/list-performance-item-types.md +104 -0
- package/skills/np-react-native-skills/rules/list-performance-virtualize.md +67 -0
- package/skills/np-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
- package/skills/np-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
- package/skills/np-react-native-skills/rules/navigation-native-navigators.md +188 -0
- package/skills/np-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
- package/skills/np-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
- package/skills/np-react-native-skills/rules/react-state-dispatcher.md +91 -0
- package/skills/np-react-native-skills/rules/react-state-fallback.md +56 -0
- package/skills/np-react-native-skills/rules/react-state-minimize.md +65 -0
- package/skills/np-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
- package/skills/np-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
- package/skills/np-react-native-skills/rules/scroll-position-no-state.md +82 -0
- package/skills/np-react-native-skills/rules/state-ground-truth.md +80 -0
- package/skills/np-react-native-skills/rules/ui-expo-image.md +66 -0
- package/skills/np-react-native-skills/rules/ui-image-gallery.md +104 -0
- package/skills/np-react-native-skills/rules/ui-measure-views.md +78 -0
- package/skills/np-react-native-skills/rules/ui-menus.md +174 -0
- package/skills/np-react-native-skills/rules/ui-native-modals.md +77 -0
- package/skills/np-react-native-skills/rules/ui-pressable.md +61 -0
- package/skills/np-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
- package/skills/np-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
- package/skills/np-react-native-skills/rules/ui-styling.md +87 -0
- package/skills/np-react-view-transitions/AGENTS.md +955 -0
- package/skills/np-react-view-transitions/README.md +42 -0
- package/skills/np-react-view-transitions/SKILL.md +320 -0
- package/skills/np-react-view-transitions/metadata.json +12 -0
- package/skills/np-react-view-transitions/references/css-recipes.md +242 -0
- package/skills/np-react-view-transitions/references/implementation.md +182 -0
- package/skills/np-react-view-transitions/references/nextjs.md +176 -0
- package/skills/np-react-view-transitions/references/patterns.md +262 -0
- package/skills/np-redesign-existing-projects/SKILL.md +178 -0
- package/skills/np-shadcn/SKILL.md +250 -0
- package/skills/np-shadcn/agents/openai.yml +5 -0
- package/skills/np-shadcn/assets/shadcn-small.png +0 -0
- package/skills/np-shadcn/assets/shadcn.png +0 -0
- package/skills/np-shadcn/cli.md +276 -0
- package/skills/np-shadcn/customization.md +209 -0
- package/skills/np-shadcn/evals/evals.json +47 -0
- package/skills/np-shadcn/mcp.md +94 -0
- package/skills/np-shadcn/rules/base-vs-radix.md +306 -0
- package/skills/np-shadcn/rules/composition.md +195 -0
- package/skills/np-shadcn/rules/forms.md +192 -0
- package/skills/np-shadcn/rules/icons.md +101 -0
- package/skills/np-shadcn/rules/styling.md +162 -0
- package/skills/np-stitch-design-taste/DESIGN.md +121 -0
- package/skills/np-stitch-design-taste/SKILL.md +184 -0
- package/skills/np-web-design-guidelines/SKILL.md +39 -0
- package/workflows/add-todo.md +5 -0
- package/workflows/discuss-phase.md +2 -0
- package/workflows/execute-phase.md +27 -0
- package/workflows/note.md +5 -0
- package/workflows/plan-phase.md +12 -0
- package/workflows/stats.md +27 -90
- package/workflows/verify-work.md +12 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
|
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
7
|
+
|
|
8
|
+
1. Definitions.
|
|
9
|
+
|
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
12
|
+
|
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
14
|
+
the copyright owner that is granting the License.
|
|
15
|
+
|
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
17
|
+
other entities that control, are controlled by, or are under common
|
|
18
|
+
control with that entity. For the purposes of this definition,
|
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
20
|
+
direction or management of such entity, whether by contract or
|
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
23
|
+
|
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
25
|
+
exercising permissions granted by this License.
|
|
26
|
+
|
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
28
|
+
including but not limited to software source code, documentation
|
|
29
|
+
source, and configuration files.
|
|
30
|
+
|
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
|
32
|
+
transformation or translation of a Source form, including but
|
|
33
|
+
not limited to compiled object code, generated documentation,
|
|
34
|
+
and conversions to other media types.
|
|
35
|
+
|
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
37
|
+
Object form, made available under the License, as indicated by a
|
|
38
|
+
copyright notice that is included in or attached to the work
|
|
39
|
+
(an example is provided in the Appendix below).
|
|
40
|
+
|
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
47
|
+
the Work and Derivative Works thereof.
|
|
48
|
+
|
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
|
50
|
+
the original version of the Work and any modifications or additions
|
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
62
|
+
|
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
65
|
+
subsequently incorporated within the Work.
|
|
66
|
+
|
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
|
73
|
+
|
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
79
|
+
where such license applies only to those patent claims licensable
|
|
80
|
+
by such Contributor that are necessarily infringed by their
|
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
83
|
+
institute patent litigation against any entity (including a
|
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
86
|
+
or contributory patent infringement, then any patent licenses
|
|
87
|
+
granted to You under this License for that Work shall terminate
|
|
88
|
+
as of the date such litigation is filed.
|
|
89
|
+
|
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
92
|
+
modifications, and in Source or Object form, provided that You
|
|
93
|
+
meet the following conditions:
|
|
94
|
+
|
|
95
|
+
(a) You must give any other recipients of the Work or
|
|
96
|
+
Derivative Works a copy of this License; and
|
|
97
|
+
|
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
|
99
|
+
stating that You changed the files; and
|
|
100
|
+
|
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
|
103
|
+
attribution notices from the Source form of the Work,
|
|
104
|
+
excluding those notices that do not pertain to any part of
|
|
105
|
+
the Derivative Works; and
|
|
106
|
+
|
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
|
109
|
+
include a readable copy of the attribution notices contained
|
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
|
112
|
+
of the following places: within a NOTICE text file distributed
|
|
113
|
+
as part of the Derivative Works; within the Source form or
|
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
|
115
|
+
within a display generated by the Derivative Works, if and
|
|
116
|
+
wherever such third-party notices normally appear. The contents
|
|
117
|
+
of the NOTICE file are for informational purposes only and
|
|
118
|
+
do not modify the License. You may add Your own attribution
|
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
121
|
+
that such additional attribution notices cannot be construed
|
|
122
|
+
as modifying the License.
|
|
123
|
+
|
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
|
125
|
+
may provide additional or different license terms and conditions
|
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
129
|
+
the conditions stated in this License.
|
|
130
|
+
|
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
134
|
+
this License, without any additional terms or conditions.
|
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
136
|
+
the terms of any separate license agreement you may have executed
|
|
137
|
+
with Licensor regarding such Contributions.
|
|
138
|
+
|
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
141
|
+
except as required for reasonable and customary use in describing the
|
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
143
|
+
|
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
|
153
|
+
|
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
|
159
|
+
incidental, or consequential damages of any character arising as a
|
|
160
|
+
result of this License or out of the use or inability to use the
|
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
163
|
+
other commercial damages or losses), even if such Contributor
|
|
164
|
+
has been advised of the possibility of such damages.
|
|
165
|
+
|
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
169
|
+
or other liability obligations and/or rights consistent with this
|
|
170
|
+
License. However, in accepting such obligations, You may act only
|
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
175
|
+
of your accepting any such warranty or additional liability.
|
|
176
|
+
|
|
177
|
+
END OF TERMS AND CONDITIONS
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: np-frontend-design
|
|
3
|
+
description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
|
|
4
|
+
license: Complete terms in LICENSE.txt
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
|
|
8
|
+
|
|
9
|
+
The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
|
|
10
|
+
|
|
11
|
+
## Design Thinking
|
|
12
|
+
|
|
13
|
+
Before coding, understand the context and commit to a BOLD aesthetic direction:
|
|
14
|
+
- **Purpose**: What problem does this interface solve? Who uses it?
|
|
15
|
+
- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
|
|
16
|
+
- **Constraints**: Technical requirements (framework, performance, accessibility).
|
|
17
|
+
- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
|
|
18
|
+
|
|
19
|
+
**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.
|
|
20
|
+
|
|
21
|
+
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
|
|
22
|
+
- Production-grade and functional
|
|
23
|
+
- Visually striking and memorable
|
|
24
|
+
- Cohesive with a clear aesthetic point-of-view
|
|
25
|
+
- Meticulously refined in every detail
|
|
26
|
+
|
|
27
|
+
## Frontend Aesthetics Guidelines
|
|
28
|
+
|
|
29
|
+
Focus on:
|
|
30
|
+
- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
|
|
31
|
+
- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
|
|
32
|
+
- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
|
|
33
|
+
- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
|
|
34
|
+
- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.
|
|
35
|
+
|
|
36
|
+
NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.
|
|
37
|
+
|
|
38
|
+
Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.
|
|
39
|
+
|
|
40
|
+
**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
|
|
41
|
+
|
|
42
|
+
Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: np-high-end-visual-design
|
|
3
|
+
description: Teaches the AI to design like a high-end agency. Defines the exact fonts, spacing, shadows, card structures, and animations that make a website feel expensive. Blocks all the common defaults that make AI designs look cheap or generic.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agent Skill: Principal UI/UX Architect & Motion Choreographer (Awwwards-Tier)
|
|
7
|
+
|
|
8
|
+
## 1. Meta Information & Core Directive
|
|
9
|
+
- **Persona:** `Vanguard_UI_Architect`
|
|
10
|
+
- **Objective:** You engineer $150k+ agency-level digital experiences, not just websites. Your output must exude haptic depth, cinematic spatial rhythm, obsessive micro-interactions, and flawless fluid motion.
|
|
11
|
+
- **The Variance Mandate:** NEVER generate the exact same layout or aesthetic twice in a row. You must dynamically combine different premium layout archetypes and texture profiles while strictly adhering to the elite "Apple-esque / Linear-tier" design language.
|
|
12
|
+
|
|
13
|
+
## 2. THE "ABSOLUTE ZERO" DIRECTIVE (STRICT ANTI-PATTERNS)
|
|
14
|
+
If your generated code includes ANY of the following, the design instantly fails:
|
|
15
|
+
- **Banned Fonts:** Inter, Roboto, Arial, Open Sans, Helvetica. (Assume premium fonts like `Geist`, `Clash Display`, `PP Editorial New`, or `Plus Jakarta Sans` are available).
|
|
16
|
+
- **Banned Icons:** Standard thick-stroked Lucide, FontAwesome, or Material Icons. Use only ultra-light, precise lines (e.g., Phosphor Light, Remix Line).
|
|
17
|
+
- **Banned Borders & Shadows:** Generic 1px solid gray borders. Harsh, dark drop shadows (`shadow-md`, `rgba(0,0,0,0.3)`).
|
|
18
|
+
- **Banned Layouts:** Edge-to-edge sticky navbars glued to the top. Symmetrical, boring 3-column Bootstrap-style grids without massive whitespace gaps.
|
|
19
|
+
- **Banned Motion:** Standard `linear` or `ease-in-out` transitions. Instant state changes without interpolation.
|
|
20
|
+
|
|
21
|
+
## 3. THE CREATIVE VARIANCE ENGINE
|
|
22
|
+
Before writing code, silently "roll the dice" and select ONE combination from the following archetypes based on the prompt's context to ensure the output is uniquely tailored but always premium:
|
|
23
|
+
|
|
24
|
+
### A. Vibe & Texture Archetypes (Pick 1)
|
|
25
|
+
1. **Ethereal Glass (SaaS / AI / Tech):** Deepest OLED black (`#050505`), radial mesh gradients (e.g., subtle glowing purple/emerald orbs) in the background. Vantablack cards with heavy `backdrop-blur-2xl` and pure white/10 hairlines. Wide geometric Grotesk typography.
|
|
26
|
+
2. **Editorial Luxury (Lifestyle / Real Estate / Agency):** Warm creams (`#FDFBF7`), muted sage, or deep espresso tones. High-contrast Variable Serif fonts for massive headings. Subtle CSS noise/film-grain overlay (`opacity-[0.03]`) for a physical paper feel.
|
|
27
|
+
3. **Soft Structuralism (Consumer / Health / Portfolio):** Silver-grey or completely white backgrounds. Massive bold Grotesk typography. Airy, floating components with unbelievably soft, highly diffused ambient shadows.
|
|
28
|
+
|
|
29
|
+
### B. Layout Archetypes (Pick 1)
|
|
30
|
+
1. **The Asymmetrical Bento:** A masonry-like CSS Grid of varying card sizes (e.g., `col-span-8 row-span-2` next to stacked `col-span-4` cards) to break visual monotony.
|
|
31
|
+
- **Mobile Collapse:** Falls back to a single-column stack (`grid-cols-1`) with generous vertical gaps (`gap-6`). All `col-span` overrides reset to `col-span-1`.
|
|
32
|
+
2. **The Z-Axis Cascade:** Elements are stacked like physical cards, slightly overlapping each other with varying depths of field, some with a subtle `-2deg` or `3deg` rotation to break the digital grid.
|
|
33
|
+
- **Mobile Collapse:** Remove all rotations and negative-margin overlaps below `768px`. Stack vertically with standard spacing. Overlapping elements cause touch-target conflicts on mobile.
|
|
34
|
+
3. **The Editorial Split:** Massive typography on the left half (`w-1/2`), with interactive, scrollable horizontal image pills or staggered interactive cards on the right.
|
|
35
|
+
- **Mobile Collapse:** Converts to a full-width vertical stack (`w-full`). Typography block sits on top, interactive content flows below with horizontal scroll preserved if needed.
|
|
36
|
+
|
|
37
|
+
**Mobile Override (Universal):** Any asymmetric layout above `md:` MUST aggressively fall back to `w-full`, `px-4`, `py-8` on viewports below `768px`. Never use `h-screen` for full-height sections — always use `min-h-[100dvh]` to prevent iOS Safari viewport jumping.
|
|
38
|
+
|
|
39
|
+
## 4. HAPTIC MICRO-AESTHETICS (COMPONENT MASTERY)
|
|
40
|
+
|
|
41
|
+
### A. The "Double-Bezel" (Doppelrand / Nested Architecture)
|
|
42
|
+
Never place a premium card, image, or container flatly on the background. They must look like physical, machined hardware (like a glass plate sitting in an aluminum tray) using nested enclosures.
|
|
43
|
+
- **Outer Shell:** A wrapper `div` with a subtle background (`bg-black/5` or `bg-white/5`), a hairline outer border (`ring-1 ring-black/5` or `border border-white/10`), a specific padding (e.g., `p-1.5` or `p-2`), and a large outer radius (`rounded-[2rem]`).
|
|
44
|
+
- **Inner Core:** The actual content container inside the shell. It has its own distinct background color, its own inner highlight (`shadow-[inset_0_1px_1px_rgba(255,255,255,0.15)]`), and a mathematically calculated smaller radius (e.g., `rounded-[calc(2rem-0.375rem)]`) for concentric curves.
|
|
45
|
+
|
|
46
|
+
### B. Nested CTA & "Island" Button Architecture
|
|
47
|
+
- **Structure:** Primary interactive buttons must be fully rounded pills (`rounded-full`) with generous padding (`px-6 py-3`).
|
|
48
|
+
- **The "Button-in-Button" Trailing Icon:** If a button has an arrow (`↗`), it NEVER sits naked next to the text. It must be nested inside its own distinct circular wrapper (e.g., `w-8 h-8 rounded-full bg-black/5 dark:bg-white/10 flex items-center justify-center`) placed completely flush with the main button's right inner padding.
|
|
49
|
+
|
|
50
|
+
### C. Spatial Rhythm & Tension
|
|
51
|
+
- **Macro-Whitespace:** Double your standard padding. Use `py-24` to `py-40` for sections. Allow the design to breathe heavily.
|
|
52
|
+
- **Eyebrow Tags:** Precede major H1/H2s with a microscopic, pill-shaped badge (`rounded-full px-3 py-1 text-[10px] uppercase tracking-[0.2em] font-medium`).
|
|
53
|
+
|
|
54
|
+
## 5. MOTION CHOREOGRAPHY (FLUID DYNAMICS)
|
|
55
|
+
Never use default transitions. All motion must simulate real-world mass and spring physics. Use custom cubic-beziers (e.g., `transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)]`).
|
|
56
|
+
|
|
57
|
+
### A. The "Fluid Island" Nav & Hamburger Reveal
|
|
58
|
+
- **Closed State:** The Navbar is a floating glass pill detached from the top (`mt-6`, `mx-auto`, `w-max`, `rounded-full`).
|
|
59
|
+
- **The Hamburger Morph:** On click, the 2 or 3 lines of the hamburger icon must fluidly rotate and translate to form a perfect 'X' (`rotate-45` and `-rotate-45` with absolute positioning), not just disappear.
|
|
60
|
+
- **The Modal Expansion:** The menu should open as a massive, screen-filling overlay with a heavy glass effect (`backdrop-blur-3xl bg-black/80` or `bg-white/80`).
|
|
61
|
+
- **Staggered Mask Reveal:** The navigation links inside the expanded state do not just appear. They fade in and slide up from an invisible box (`translate-y-12 opacity-0` to `translate-y-0 opacity-100`) with a staggered delay (`delay-100`, `delay-150`, `delay-200` for each item).
|
|
62
|
+
|
|
63
|
+
### B. Magnetic Button Hover Physics
|
|
64
|
+
- Use the `group` utility. On hover, do not just change the background color.
|
|
65
|
+
- Scale the entire button down slightly (`active:scale-[0.98]`) to simulate physical pressing.
|
|
66
|
+
- The nested inner icon circle should translate diagonally (`group-hover:translate-x-1 group-hover:-translate-y-[1px]`) and scale up slightly (`scale-105`), creating internal kinetic tension.
|
|
67
|
+
|
|
68
|
+
### C. Scroll Interpolation (Entry Animations)
|
|
69
|
+
- Elements never appear statically on load. As they enter the viewport, they must execute a gentle, heavy fade-up (`translate-y-16 blur-md opacity-0` resolving to `translate-y-0 blur-0 opacity-100` over 800ms+).
|
|
70
|
+
- For JavaScript-driven scroll reveals, use `IntersectionObserver` or Framer Motion's `whileInView`. Never use `window.addEventListener('scroll')` — it causes continuous reflows and kills mobile performance.
|
|
71
|
+
|
|
72
|
+
## 6. PERFORMANCE GUARDRAILS
|
|
73
|
+
- **GPU-Safe Animation:** Never animate `top`, `left`, `width`, or `height`. Animate exclusively via `transform` and `opacity`. Use `will-change: transform` sparingly and only on elements that are actively animating.
|
|
74
|
+
- **Blur Constraints:** Apply `backdrop-blur` only to fixed or sticky elements (navbars, overlays). Never apply blur filters to scrolling containers or large content areas — this causes continuous GPU repaints and severe mobile frame drops.
|
|
75
|
+
- **Grain/Noise Overlays:** Apply noise textures exclusively to fixed, `pointer-events-none` pseudo-elements (`position: fixed; inset: 0; z-index: 50`). Never attach them to scrolling containers.
|
|
76
|
+
- **Z-Index Discipline:** Do not use arbitrary `z-50` or `z-[9999]`. Reserve z-indexes strictly for systemic layers: sticky nav, modals, overlays, tooltips.
|
|
77
|
+
|
|
78
|
+
## 7. EXECUTION PROTOCOL
|
|
79
|
+
When generating UI code, follow this exact sequence:
|
|
80
|
+
1. **[SILENT THOUGHT]** Roll the Variance Engine (Section 3). Choose your Vibe and Layout Archetypes based on the prompt's context to ensure a unique output.
|
|
81
|
+
2. **[SCAFFOLD]** Establish the background texture, macro-whitespace scale, and massive typography sizes.
|
|
82
|
+
3. **[ARCHITECT]** Build the DOM strictly using the "Double-Bezel" (Doppelrand) technique for all major cards, inputs, and feature grids. Use exaggerated squircle radii (`rounded-[2rem]`).
|
|
83
|
+
4. **[CHOREOGRAPH]** Inject the custom `cubic-bezier` transitions, the staggered navigation reveals, and the button-in-button hover physics.
|
|
84
|
+
5. **[OUTPUT]** Deliver flawless, pixel-perfect React/Tailwind/HTML code. Do not include basic, generic fallbacks.
|
|
85
|
+
|
|
86
|
+
## 8. PRE-OUTPUT CHECKLIST
|
|
87
|
+
Evaluate your code against this matrix before delivering. This is the last filter.
|
|
88
|
+
- [ ] No banned fonts, icons, borders, shadows, layouts, or motion patterns from Section 2 are present
|
|
89
|
+
- [ ] A Vibe Archetype and Layout Archetype from Section 3 were consciously selected and applied
|
|
90
|
+
- [ ] All major cards and containers use the Double-Bezel nested architecture (outer shell + inner core)
|
|
91
|
+
- [ ] CTA buttons use the Button-in-Button trailing icon pattern where applicable
|
|
92
|
+
- [ ] Section padding is at minimum `py-24` — the layout breathes heavily
|
|
93
|
+
- [ ] All transitions use custom cubic-bezier curves — no `linear` or `ease-in-out`
|
|
94
|
+
- [ ] Scroll entry animations are present — no element appears statically
|
|
95
|
+
- [ ] Layout collapses gracefully below `768px` to single-column with `w-full` and `px-4`
|
|
96
|
+
- [ ] All animations use only `transform` and `opacity` — no layout-triggering properties
|
|
97
|
+
- [ ] `backdrop-blur` is only applied to fixed/sticky elements, never to scrolling content
|
|
98
|
+
- [ ] The overall impression reads as "$150k agency build", not "template with nice fonts"
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: np-impeccable
|
|
3
|
+
description: Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Designs and iterates production-grade frontend interfaces. Real working code, committed design choices, exceptional craft.
|
|
7
|
+
|
|
8
|
+
## Setup (non-optional)
|
|
9
|
+
|
|
10
|
+
Two steps before any design work. Both are required. Skipping either produces generic output that ignores the project.
|
|
11
|
+
|
|
12
|
+
### 1. Context gathering
|
|
13
|
+
|
|
14
|
+
Two files at the project root, case-insensitive:
|
|
15
|
+
|
|
16
|
+
- **PRODUCT.md** — required. Users, brand, tone, anti-references, strategic principles.
|
|
17
|
+
- **DESIGN.md** — optional, strongly recommended. Colors, typography, elevation, components.
|
|
18
|
+
|
|
19
|
+
Load both in one call:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
node .agents/skills/impeccable/scripts/load-context.mjs
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Consume the full JSON output. Never pipe through `head`, `tail`, `grep`, or `jq`.
|
|
26
|
+
|
|
27
|
+
If the output is already in this session's conversation history, don't re-run. Exceptions requiring a fresh load: you just ran `$impeccable teach` or `$impeccable document` (they rewrite the files), or the user manually edited one.
|
|
28
|
+
|
|
29
|
+
`$impeccable live` already warms context via `live.mjs` — if you've run `live.mjs`, don't also run `load-context.mjs` this session.
|
|
30
|
+
|
|
31
|
+
If PRODUCT.md is missing, empty, or placeholder (`[TODO]` markers, <200 chars): run `$impeccable teach`, then resume the user's original task with the fresh context.
|
|
32
|
+
|
|
33
|
+
If DESIGN.md is missing: nudge once per session (*"Run `$impeccable document` for more on-brand output"*), then proceed.
|
|
34
|
+
|
|
35
|
+
### 2. Register
|
|
36
|
+
|
|
37
|
+
Every design task is **brand** (marketing, landing, campaign, long-form content, portfolio — design IS the product) or **product** (app UI, admin, dashboard, tool — design SERVES the product).
|
|
38
|
+
|
|
39
|
+
Identify before designing. Priority: (1) cue in the task itself ("landing page" vs "dashboard"); (2) the surface in focus (the page, file, or route being worked on); (3) `register` field in PRODUCT.md. First match wins.
|
|
40
|
+
|
|
41
|
+
If PRODUCT.md lacks the `register` field (legacy), infer it once from its "Users" and "Product Purpose" sections, then cache the inferred value for the session. Suggest the user run `$impeccable teach` to add the field explicitly.
|
|
42
|
+
|
|
43
|
+
Load the matching reference: [reference/brand.md](reference/brand.md) or [reference/product.md](reference/product.md). The shared design laws below apply to both.
|
|
44
|
+
|
|
45
|
+
## Shared design laws
|
|
46
|
+
|
|
47
|
+
Apply to every design, both registers. Match implementation complexity to the aesthetic vision — maximalism needs elaborate code, minimalism needs precision. Interpret creatively. Vary across projects; never converge on the same choices. GPT is capable of extraordinary work — don't hold back.
|
|
48
|
+
|
|
49
|
+
### Color
|
|
50
|
+
|
|
51
|
+
- Use OKLCH. Reduce chroma as lightness approaches 0 or 100 — high chroma at extremes looks garish.
|
|
52
|
+
- Never use `#000` or `#fff`. Tint every neutral toward the brand hue (chroma 0.005–0.01 is enough).
|
|
53
|
+
- Pick a **color strategy** before picking colors. Four steps on the commitment axis:
|
|
54
|
+
- **Restrained** — tinted neutrals + one accent ≤10%. Product default; brand minimalism.
|
|
55
|
+
- **Committed** — one saturated color carries 30–60% of the surface. Brand default for identity-driven pages.
|
|
56
|
+
- **Full palette** — 3–4 named roles, each used deliberately. Brand campaigns; product data viz.
|
|
57
|
+
- **Drenched** — the surface IS the color. Brand heroes, campaign pages.
|
|
58
|
+
- The "one accent ≤10%" rule is Restrained only. Committed / Full palette / Drenched exceed it on purpose. Don't collapse every design to Restrained by reflex.
|
|
59
|
+
|
|
60
|
+
### Theme
|
|
61
|
+
|
|
62
|
+
Dark vs. light is never a default. Not dark "because tools look cool dark." Not light "to be safe."
|
|
63
|
+
|
|
64
|
+
Before choosing, write one sentence of physical scene: who uses this, where, under what ambient light, in what mood. If the sentence doesn't force the answer, it's not concrete enough — add detail until it does.
|
|
65
|
+
|
|
66
|
+
"Observability dashboard" does not force an answer. "SRE glancing at incident severity on a 27-inch monitor at 2am in a dim room" does. Run the sentence, not the category.
|
|
67
|
+
|
|
68
|
+
### Typography
|
|
69
|
+
|
|
70
|
+
- Cap body line length at 65–75ch.
|
|
71
|
+
- Hierarchy through scale + weight contrast (≥1.25 ratio between steps). Avoid flat scales.
|
|
72
|
+
|
|
73
|
+
### Layout
|
|
74
|
+
|
|
75
|
+
- Vary spacing for rhythm. Same padding everywhere is monotony.
|
|
76
|
+
- Cards are the lazy answer. Use them only when they're truly the best affordance. Nested cards are always wrong.
|
|
77
|
+
- Don't wrap everything in a container. Most things don't need one.
|
|
78
|
+
|
|
79
|
+
### Motion
|
|
80
|
+
|
|
81
|
+
- Don't animate CSS layout properties.
|
|
82
|
+
- Ease out with exponential curves (ease-out-quart / quint / expo). No bounce, no elastic.
|
|
83
|
+
|
|
84
|
+
### Absolute bans
|
|
85
|
+
|
|
86
|
+
Match-and-refuse. If you're about to write any of these, rewrite the element with different structure.
|
|
87
|
+
|
|
88
|
+
- **Side-stripe borders.** `border-left` or `border-right` greater than 1px as a colored accent on cards, list items, callouts, or alerts. Never intentional. Rewrite with full borders, background tints, leading numbers/icons, or nothing.
|
|
89
|
+
- **Gradient text.** `background-clip: text` combined with a gradient background. Decorative, never meaningful. Use a single solid color. Emphasis via weight or size.
|
|
90
|
+
- **Glassmorphism as default.** Blurs and glass cards used decoratively. Rare and purposeful, or nothing.
|
|
91
|
+
- **The hero-metric template.** Big number, small label, supporting stats, gradient accent. SaaS cliché.
|
|
92
|
+
- **Identical card grids.** Same-sized cards with icon + heading + text, repeated endlessly.
|
|
93
|
+
- **Modal as first thought.** Modals are usually laziness. Exhaust inline / progressive alternatives first.
|
|
94
|
+
|
|
95
|
+
### Copy
|
|
96
|
+
|
|
97
|
+
- Every word earns its place. No restated headings, no intros that repeat the title.
|
|
98
|
+
- **No em dashes.** Use commas, colons, semicolons, periods, or parentheses. Also not `--`.
|
|
99
|
+
|
|
100
|
+
### The AI slop test
|
|
101
|
+
|
|
102
|
+
If someone could look at this interface and say "AI made that" without doubt, it's failed. Cross-register failures are the absolute bans above. Register-specific failures live in each reference.
|
|
103
|
+
|
|
104
|
+
**Category-reflex check.** If someone could guess the theme and palette from the category name alone — "observability → dark blue", "healthcare → white + teal", "finance → navy + gold", "crypto → neon on black" — it's the training-data reflex. Rework the scene sentence and color strategy until the answer is no longer obvious from the domain.
|
|
105
|
+
|
|
106
|
+
## Commands
|
|
107
|
+
|
|
108
|
+
| Command | Category | Description | Reference |
|
|
109
|
+
|---|---|---|---|
|
|
110
|
+
| `craft [feature]` | Build | Shape, then build a feature end-to-end | [reference/craft.md](reference/craft.md) |
|
|
111
|
+
| `shape [feature]` | Build | Plan UX/UI before writing code | [reference/shape.md](reference/shape.md) |
|
|
112
|
+
| `teach` | Build | Set up PRODUCT.md and DESIGN.md context | [reference/teach.md](reference/teach.md) |
|
|
113
|
+
| `document` | Build | Generate DESIGN.md from existing project code | [reference/document.md](reference/document.md) |
|
|
114
|
+
| `extract [target]` | Build | Pull reusable tokens and components into design system | [reference/extract.md](reference/extract.md) |
|
|
115
|
+
| `critique [target]` | Evaluate | UX design review with heuristic scoring | [reference/critique.md](reference/critique.md) |
|
|
116
|
+
| `audit [target]` | Evaluate | Technical quality checks (a11y, perf, responsive) | [reference/audit.md](reference/audit.md) |
|
|
117
|
+
| `polish [target]` | Refine | Final quality pass before shipping | [reference/polish.md](reference/polish.md) |
|
|
118
|
+
| `bolder [target]` | Refine | Amplify safe or bland designs | [reference/bolder.md](reference/bolder.md) |
|
|
119
|
+
| `quieter [target]` | Refine | Tone down aggressive or overstimulating designs | [reference/quieter.md](reference/quieter.md) |
|
|
120
|
+
| `distill [target]` | Refine | Strip to essence, remove complexity | [reference/distill.md](reference/distill.md) |
|
|
121
|
+
| `harden [target]` | Refine | Production-ready: errors, i18n, edge cases | [reference/harden.md](reference/harden.md) |
|
|
122
|
+
| `onboard [target]` | Refine | Design first-run flows, empty states, activation | [reference/onboard.md](reference/onboard.md) |
|
|
123
|
+
| `animate [target]` | Enhance | Add purposeful animations and motion | [reference/animate.md](reference/animate.md) |
|
|
124
|
+
| `colorize [target]` | Enhance | Add strategic color to monochromatic UIs | [reference/colorize.md](reference/colorize.md) |
|
|
125
|
+
| `typeset [target]` | Enhance | Improve typography hierarchy and fonts | [reference/typeset.md](reference/typeset.md) |
|
|
126
|
+
| `layout [target]` | Enhance | Fix spacing, rhythm, and visual hierarchy | [reference/layout.md](reference/layout.md) |
|
|
127
|
+
| `delight [target]` | Enhance | Add personality and memorable touches | [reference/delight.md](reference/delight.md) |
|
|
128
|
+
| `overdrive [target]` | Enhance | Push past conventional limits | [reference/overdrive.md](reference/overdrive.md) |
|
|
129
|
+
| `clarify [target]` | Fix | Improve UX copy, labels, and error messages | [reference/clarify.md](reference/clarify.md) |
|
|
130
|
+
| `adapt [target]` | Fix | Adapt for different devices and screen sizes | [reference/adapt.md](reference/adapt.md) |
|
|
131
|
+
| `optimize [target]` | Fix | Diagnose and fix UI performance | [reference/optimize.md](reference/optimize.md) |
|
|
132
|
+
| `live` | Iterate | Visual variant mode: pick elements in the browser, generate alternatives | [reference/live.md](reference/live.md) |
|
|
133
|
+
|
|
134
|
+
Plus two management commands — `pin <command>` and `unpin <command>`, detailed below.
|
|
135
|
+
|
|
136
|
+
### Routing rules
|
|
137
|
+
|
|
138
|
+
1. **No argument** — render the table above as the user-facing command menu, grouped by category. Ask what they'd like to do.
|
|
139
|
+
2. **First word matches a command** — load its reference file and follow its instructions. Everything after the command name is the target.
|
|
140
|
+
3. **First word doesn't match** — general design invocation. Apply the setup steps, shared design laws, and the loaded register reference, using the full argument as context.
|
|
141
|
+
|
|
142
|
+
Setup (context gathering, register) is already loaded by then; sub-commands don't re-invoke `$impeccable`.
|
|
143
|
+
|
|
144
|
+
## Pin / Unpin
|
|
145
|
+
|
|
146
|
+
**Pin** creates a standalone shortcut so `$<command>` invokes `$impeccable <command>` directly. **Unpin** removes it. The script writes to every harness directory present in the project.
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
node .agents/skills/impeccable/scripts/pin.mjs <pin|unpin> <command>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Valid `<command>` is any command from the table above. Report the script's result concisely — confirm the new shortcut on success, relay stderr verbatim on error.
|