ai-developer-skill-os 3.1.4 → 5.0.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.
Files changed (97) hide show
  1. package/README.md +15 -19
  2. package/_template/SKILL.md +37 -133
  3. package/framework/KERNEL.md +58 -0
  4. package/framework/bias-library/cosmetic-refactor.md +21 -0
  5. package/framework/bias-library/enterprise-crud.md +21 -0
  6. package/framework/bias-library/fake-ui-slop.md +20 -0
  7. package/framework/bias-library/hallucinated-tools.md +20 -0
  8. package/framework/bias-library/missing-ui-states.md +19 -0
  9. package/framework/bias-library/over-indexing.md +20 -0
  10. package/framework/bias-library/swallow-errors.md +19 -0
  11. package/framework/bias-library/ui-only-security.md +17 -0
  12. package/framework/dial-library/complexity-budget.md +13 -0
  13. package/framework/dial-library/granularity.md +13 -0
  14. package/framework/dial-library/optimization-strategy.md +13 -0
  15. package/framework/dial-library/strictness.md +13 -0
  16. package/framework/rule-library/delegation-only.md +9 -0
  17. package/framework/rule-library/minimal-diff.md +9 -0
  18. package/package.json +1 -1
  19. package/skills/qk-access-policy/SKILL.md +41 -31
  20. package/skills/qk-ai-builder/SKILL.md +40 -31
  21. package/skills/qk-api-lifecycle/SKILL.md +40 -53
  22. package/skills/qk-bug-resolution/SKILL.md +40 -57
  23. package/skills/qk-context-loader/SKILL.md +37 -36
  24. package/skills/qk-data-lifecycle/SKILL.md +38 -50
  25. package/skills/qk-db-optimizer/SKILL.md +56 -0
  26. package/skills/qk-design-to-code/SKILL.md +41 -36
  27. package/skills/qk-docs/SKILL.md +38 -42
  28. package/skills/qk-engineering-standard/SKILL.md +40 -52
  29. package/skills/qk-feature-delivery/SKILL.md +40 -56
  30. package/skills/qk-help/SKILL.md +37 -29
  31. package/skills/qk-orchestrator/SKILL.md +41 -43
  32. package/skills/qk-policy-engine/SKILL.md +37 -42
  33. package/skills/qk-production-release/SKILL.md +41 -37
  34. package/skills/qk-project-bootstrap/SKILL.md +40 -33
  35. package/skills/qk-project-health/SKILL.md +37 -45
  36. package/skills/qk-project-memory/SKILL.md +39 -25
  37. package/skills/qk-system-evolution/SKILL.md +37 -52
  38. package/skills/qk-ui-audit/SKILL.md +38 -47
  39. package/skills/qk-ui-system-builder/SKILL.md +39 -30
  40. package/skills/qk-validation-gate/SKILL.md +35 -48
  41. package/skills.json +313 -86
  42. package/taste-skill/.claude-plugin/marketplace.json +20 -0
  43. package/taste-skill/.claude-plugin/plugin.json +19 -0
  44. package/taste-skill/.github/FUNDING.yml +1 -0
  45. package/taste-skill/.github/copilot-instructions.md +11 -0
  46. package/taste-skill/CHANGELOG.md +111 -0
  47. package/taste-skill/LICENSE +21 -0
  48. package/taste-skill/README.md +212 -0
  49. package/taste-skill/assets/.gitkeep +0 -0
  50. package/taste-skill/assets/readme-banner.webp +0 -0
  51. package/taste-skill/assets/readme-buttons/btn-agent-skills.webp +0 -0
  52. package/taste-skill/assets/readme-buttons/btn-changelog.webp +0 -0
  53. package/taste-skill/assets/readme-buttons/btn-mit.webp +0 -0
  54. package/taste-skill/assets/readme-buttons/btn-site.webp +0 -0
  55. package/taste-skill/assets/readme-buttons/btn-tools.webp +0 -0
  56. package/taste-skill/assets/readme-cta-tasteskill.svg +5 -0
  57. package/taste-skill/assets/sponsors/animations-dev.webp +0 -0
  58. package/taste-skill/assets/sponsors/emil-animations-dev.webp +0 -0
  59. package/taste-skill/assets/taste-skill-logo.png +0 -0
  60. package/taste-skill/assets/taste-skill-logo.webp +0 -0
  61. package/taste-skill/assets/vercel-oss-program-badge.svg +44 -0
  62. package/taste-skill/examples/floria-bottom.webp +0 -0
  63. package/taste-skill/examples/floria-full.webp +0 -0
  64. package/taste-skill/examples/floria-top.webp +0 -0
  65. package/taste-skill/research/README.md +8 -0
  66. package/taste-skill/research/laziness/README.md +25 -0
  67. package/taste-skill/research/laziness/findings/empirical-results.md +58 -0
  68. package/taste-skill/research/laziness/findings/references.md +20 -0
  69. package/taste-skill/research/laziness/remediation/architectural-patterns.md +55 -0
  70. package/taste-skill/research/laziness/remediation/parameter-tuning.md +44 -0
  71. package/taste-skill/research/laziness/remediation/prompt-engineering.md +52 -0
  72. package/taste-skill/research/laziness/remediation/reference-prompts.md +79 -0
  73. package/taste-skill/research/laziness/root-causes/cognitive-shortcuts.md +23 -0
  74. package/taste-skill/research/laziness/root-causes/output-limits.md +39 -0
  75. package/taste-skill/research/laziness/root-causes/rlhf-and-compute.md +27 -0
  76. package/taste-skill/research/laziness/root-causes/training-data-bias.md +28 -0
  77. package/taste-skill/scripts/build-emil-sponsor-row.mjs +41 -0
  78. package/taste-skill/scripts/convert-readme-assets-webp.mjs +142 -0
  79. package/taste-skill/scripts/process-readme-buttons.mjs +108 -0
  80. package/taste-skill/scripts/process-sponsor-badge.mjs +83 -0
  81. package/taste-skill/skill.sh +25 -0
  82. package/taste-skill/skills/brandkit/SKILL.md +798 -0
  83. package/taste-skill/skills/brutalist-skill/SKILL.md +92 -0
  84. package/taste-skill/skills/gpt-tasteskill/SKILL.md +74 -0
  85. package/taste-skill/skills/image-to-code-skill/SKILL.md +1228 -0
  86. package/taste-skill/skills/imagegen-frontend-mobile/SKILL.md +1465 -0
  87. package/taste-skill/skills/imagegen-frontend-web/SKILL.md +987 -0
  88. package/taste-skill/skills/llms.txt +13 -0
  89. package/taste-skill/skills/minimalist-skill/SKILL.md +85 -0
  90. package/taste-skill/skills/output-skill/SKILL.md +49 -0
  91. package/taste-skill/skills/redesign-skill/SKILL.md +178 -0
  92. package/taste-skill/skills/soft-skill/SKILL.md +98 -0
  93. package/taste-skill/skills/stitch-skill/DESIGN.md +121 -0
  94. package/taste-skill/skills/stitch-skill/SKILL.md +184 -0
  95. package/taste-skill/skills/taste-skill/SKILL.md +1206 -0
  96. package/taste-skill/skills/taste-skill-v1/SKILL.md +226 -0
  97. package/skills/qk-documentation-system/SKILL.md +0 -45
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "taste-skill",
3
+ "description": "Taste skill library for Claude Code — frontend design, image-to-code, and aesthetic skills",
4
+ "owner": {
5
+ "name": "leonxlnx",
6
+ "email": ""
7
+ },
8
+ "plugins": [
9
+ {
10
+ "name": "taste-skill",
11
+ "description": "Frontend design taste skills including brutalist, minimalist, soft, redesign, stitch, and more",
12
+ "version": "1.0.0",
13
+ "source": "./",
14
+ "author": {
15
+ "name": "leonxlnx",
16
+ "email": ""
17
+ }
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "taste-skill",
3
+ "description": "Frontend design taste skills including brutalist, minimalist, soft, redesign, stitch, and more",
4
+ "version": "1.0.0",
5
+ "author": {
6
+ "name": "leonxlnx",
7
+ "email": ""
8
+ },
9
+ "homepage": "https://github.com/leonxlnx/taste-skill",
10
+ "repository": "https://github.com/leonxlnx/taste-skill",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "skills",
14
+ "frontend",
15
+ "design",
16
+ "taste",
17
+ "ui"
18
+ ]
19
+ }
@@ -0,0 +1 @@
1
+ github: Leonxlnx
@@ -0,0 +1,11 @@
1
+ # Copilot Instructions: Taste Standard
2
+
3
+ > **Note:** GitHub Copilot automatically reads this file to set its global behavior. By including this in the `.github` folder, Copilot stops writing generic "slop" code and adheres to the premium Taste Skill standards.
4
+
5
+ ## The "Anti-Slop" Manifesto for Copilot
6
+
7
+ 1. **No Generic UI:** Stop generating default SaaS templates. Use high contrast, strong typographic hierarchy, and extreme care for alignment.
8
+ 2. **Premium Whitespace:** Elements need room to breathe. Use proportional `clamp()` spacing over rigid padding.
9
+ 3. **Cinematic Motion:** Never use linear easing. All animations must use spring physics (`stiffness: 100, damping: 20` or similar).
10
+ 4. **Complete Implementation:** No placeholders. No `// TODO: add actual code here`. Write the full, working implementation every single time.
11
+ 5. **Contextual Awareness:** For deep style configurations, read the localized `SKILL.md` files in the `skills/` directory.
@@ -0,0 +1,111 @@
1
+ # Changelog
2
+
3
+ All notable changes to taste-skill live here. The repo follows SemVer-ish discipline: experimental pre-releases iterate freely; stable releases lock the API.
4
+
5
+ ---
6
+
7
+ ## [Unreleased]
8
+
9
+ ### Repo
10
+
11
+ - `taste-skill` (install name `design-taste-frontend`) is now **v2 (experimental)**. The previous v1 is preserved as `taste-skill-v1` (install name `design-taste-frontend-v1`).
12
+ - New `CHANGELOG.md` (this file).
13
+
14
+ ---
15
+
16
+ ## v2 (experimental) - the new default for `taste-skill`
17
+
18
+ v2 (experimental) is a substantial rewrite of the original taste-skill. It keeps the dial-driven philosophy (`DESIGN_VARIANCE`, `MOTION_INTENSITY`, `VISUAL_DENSITY`) and adds structure, hard rules, and concrete implementation patterns the agent can actually follow.
19
+
20
+ **This is a pre-release.** It is the new default install because it is genuinely better than v1, but it is still iterating. Refinements may land in any v2 experimental release. The API (install name, dial names, section structure) will stabilize at v2.0.0 stable.
21
+
22
+ ### What's new in v2 (experimental)
23
+
24
+ **New sections**
25
+
26
+ - **§0 Brief Inference** - before any code, the agent reads the room (page kind, vibe words, references, audience, constraints) and declares a one-line design read. Anti-default discipline.
27
+ - **§2 Brief → Design System Map** - when a brief reads as Material / Fluent / Carbon / Polaris / Atlassian / Primer / GOV.UK / USWDS / Bootstrap / Radix / shadcn / Tailwind, reach for the **official** package. When the brief is an aesthetic (glassmorphism, bento, brutalism, editorial, dark tech, aurora, kinetic typography), use web standards and label the implementation honestly. Apple Liquid Glass is documented as an approximation, not an official package.
28
+ - **§8 Dark Mode Protocol** - dual-mode by default, token strategy declared per project, contrast and hierarchy parity enforced.
29
+ - **§11 Redesign Protocol** - mode detection (Greenfield / Preserve / Overhaul), audit before touching, modernisation levers in priority order, what never changes silently (URL structure, nav labels, form field names, brand wordmark, legal copy).
30
+ - **§12 The Block Library (Contract)** - schema for iteratively adding real, source-backed block implementations (hero, feature, social-proof, pricing, cta, footer, portfolio, transition, navigation).
31
+ - **§13 Out of Scope** - explicit list of what taste-skill is NOT for (dashboards, data tables, multi-step forms, code editors, native mobile, realtime collab UIs).
32
+ - **§14 Final Pre-Flight Check** - hard checklist. Every box must honestly pass before shipping.
33
+
34
+ **Hardened bans (Section 9, "AI Tells")**
35
+
36
+ - **§9.G Em-Dash Ban (complete)** - zero em-dashes (`—`) anywhere on the page. Headlines, eyebrows, pills, body copy, quotes, attribution, captions, button text, alt text. Use a hyphen (`-`) or restructure the sentence. This was the single most-violated stylistic Tell in pre-v2 testing.
37
+ - Section numbering eyebrows (`00 / INDEX`, `001 · Capabilities`, `06 · how it works`) banned outright.
38
+ - Version labels in hero (`V0.6`, `INVITE-ONLY PREVIEW`, `BETA`) banned unless the brief is explicitly a product launch.
39
+ - Photo-credit captions as decoration (`Field study no. 12 · Ines Caetano`) banned unless real attribution.
40
+ - Decoration text strips at hero bottom (`BRAND. MOTION. SPATIAL.`) banned.
41
+ - Pills / labels overlaid on images banned.
42
+ - Version footers (`v1.4.2`, `Build 0048`) banned on marketing pages.
43
+ - Locale / city-name / time / weather strips (`Lisbon, working with founders`) banned for 99% of briefs.
44
+ - Scroll cues (`Scroll`, `↓ scroll`, `Scroll to explore`) banned.
45
+ - Zero decorative status dots by default.
46
+ - `border-t` + `border-b` on every row of long lists banned (use a different UI component).
47
+ - Scoring / progress bars with filled background tracks banned as comparison visuals.
48
+ - Div-based fake product UI (fake task lists / dashboards / terminals built from styled divs) banned.
49
+ - Floating top-right sub-text in section headings banned.
50
+ - Hand-rolled SVG icons strongly discouraged; use Phosphor / HugeIcons / Radix / Tabler.
51
+
52
+ **Hardened design rules**
53
+
54
+ - **Color Consistency Lock** - one accent across the whole page; no random color swaps in section 7.
55
+ - **Shape Consistency Lock** - one corner-radius system per page.
56
+ - **Button Contrast Check** - every CTA passes WCAG AA contrast (no white-on-white).
57
+ - **Hero Discipline** - headline ≤ 2 lines, subtext ≤ 20 words and ≤ 4 lines, CTAs visible without scroll, font scale planned with image size.
58
+ - **Navigation** - single line at desktop, height ≤ 80px.
59
+ - **"Used by / Trusted by"** logo wall lives UNDER the hero, uses real SVG logos (Simple Icons / devicon), never plain text wordmarks.
60
+ - **Section-Layout-Repetition Ban** - across 8 sections, at least 4 different layout families.
61
+ - **Bento Cell Count Rule** - N items = exactly N cells; no empty middle or trailing cells.
62
+ - **Page Theme Lock** - one theme (light / dark / auto) for the whole page; no mid-page light/dark flips.
63
+ - **Italic Descender Clearance** - italic display words with `y g j p q` need `leading-[1.1]` minimum and `pb-1` reserve.
64
+ - **Long lists need a different UI component** - `<ul>` + `divide-y` for > 5 items is the lazy default; reach for cards / tabs / marquee / carousel / scroll-snap pills.
65
+ - **Long-list-divider-overuse banned** - no `border-t` + `border-b` on every row.
66
+
67
+ **Animation discipline**
68
+
69
+ - Motion library standardised on **Motion** (`motion/react`, the rebrand of Framer Motion). Legacy `framer-motion` package still works as alias.
70
+ - **§5.A GSAP Sticky-Stack** - canonical code skeleton (`start: "top top"`, `pin: true`, `scrub: true`, transform driven by NEXT card's trigger).
71
+ - **§5.B GSAP Horizontal-Pan** - canonical code skeleton (`start: "top top"`, `pin: true`, `end: "+=" + distance`, `scrub: 1`).
72
+ - **§5.C Scroll-Reveal Stagger** - lighter Motion-only pattern using `whileInView`. Use this for simple reveals; save GSAP for actual pinning/scrubbing.
73
+ - **§5.D Forbidden Animation Patterns** - `window.addEventListener('scroll')`, custom scroll calculations in React state, `requestAnimationFrame` loops touching React state. Banned outright.
74
+ - **Reduced motion mandatory** for anything `MOTION_INTENSITY > 3` - wrap in `useReducedMotion()` or `@media (prefers-reduced-motion: reduce)`.
75
+ - **"Motion claimed, motion shown"** - pages claiming `MOTION_INTENSITY > 4` must actually animate; otherwise drop the dial to 3 and ship clean static.
76
+
77
+ **Stack updates**
78
+
79
+ - Tailwind v4 default; v3 only when the existing project demands it.
80
+ - Motion replaces Framer Motion as the recommended import path.
81
+ - Icons: Phosphor / HugeIcons / Radix / Tabler (in priority order). Lucide discouraged. Hand-rolled SVG icons banned.
82
+
83
+ ### What's the same
84
+
85
+ - Three dials (`DESIGN_VARIANCE`, `MOTION_INTENSITY`, `VISUAL_DENSITY`) - same spirit, expanded with preset matrix and inference rules.
86
+ - Anti-slop philosophy - same direction, harder enforcement.
87
+ - Performance guardrails - `transform`/`opacity` only, no `top/left/width/height` animation, hardware acceleration.
88
+
89
+ ### Why we made v2 (experimental) the new default
90
+
91
+ Pre-v2, the original taste-skill set the right direction but was easy for agents to skim past. Production testing showed the same Tells emerging across builds (em-dash everywhere, section-number eyebrows, "Quietly in use at", decorative dots, fake screenshots out of styled divs, broken GSAP scroll triggers).
92
+
93
+ v2 closes those gaps with hard rules, canonical code skeletons, and a pre-flight checklist the agent must run. It is the version we now recommend.
94
+
95
+ ### How to pin to v1 if you need it
96
+
97
+ ```bash
98
+ npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend-v1"
99
+ ```
100
+
101
+ This installs the original SKILL.md unchanged.
102
+
103
+ ### Stability note
104
+
105
+ v2 (experimental) is the new default AND it is actively iterating. Refinements may land in any pre-release while we converge on v2.0.0 stable. Breaking changes (rename of install name, removal of sections) will be batched and called out clearly when v2.0.0 stable cuts.
106
+
107
+ ---
108
+
109
+ ## v1 - the original taste-skill
110
+
111
+ The original release. Dial-driven philosophy, anti-slop rules, reference vocabulary of pattern names. Preserved at `skills/taste-skill-v1/` and installable as `design-taste-frontend-v1`.
@@ -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,212 @@
1
+ <p align="center">
2
+ <img src="assets/readme-banner.webp" alt="Taste Skill - Anti-slop Agent Skills for premium frontends" width="100%" />
3
+ </p>
4
+
5
+ # Taste Skill
6
+
7
+ <p align="center">
8
+ <em>The Anti-Slop Frontend Framework for AI Agents</em>
9
+ </p>
10
+
11
+ <p align="center" style="margin-bottom: 8px;">
12
+ <a href="https://tasteskill.dev" title="Visit tasteskill.dev"><img src="assets/readme-buttons/btn-site.webp" alt="Visit tasteskill.dev" height="56" /></a>
13
+ </p>
14
+
15
+ <h3 align="center">Sponsors</h3>
16
+
17
+ <p align="center"><a href="https://animations.dev"><img src="assets/sponsors/animations-dev.webp" alt="animations.dev" width="62" height="62" valign="middle" /></a><sub><a href="https://github.com/emilkowalski"><strong>Emil Kowalski</strong></a> · <a href="https://animations.dev">animations.dev</a></sub></p>
18
+
19
+ <p align="center"><a href="https://vercel.com/open-source-program"><img alt="Vercel OSS Program" src="assets/vercel-oss-program-badge.svg" height="24" /></a></p>
20
+
21
+ <p align="center"><sub><a href="https://github.com/sponsors/Leonxlnx">Become a sponsor</a></sub></p>
22
+
23
+ Portable **Agent Skills** that upgrade AI-built interfaces: stronger layout, typography, motion, and spacing instead of boilerplate-looking UIs. This repo also includes **image-generation skills** for reference boards (web, mobile, brand kits). Pair them with **ChatGPT Images** or similar generators, then hand the frames to Codex, Cursor, or Claude Code for implementation.
24
+
25
+ <p align="center">
26
+ <a href="LICENSE"><img src="assets/readme-buttons/btn-mit.webp" alt="MIT License" height="45" valign="middle" /></a>
27
+ &nbsp;
28
+ <a href="https://github.com/vercel-labs/agent-skills"><img src="assets/readme-buttons/btn-agent-skills.webp" alt="Agent Skills compatible" height="45" valign="middle" /></a>
29
+ &nbsp;
30
+ <a href="#installing"><img src="assets/readme-buttons/btn-tools.webp" alt="Codex, Cursor, Claude" height="45" valign="middle" /></a>
31
+ &nbsp;
32
+ <a href="https://www.tasteskill.dev/changelog"><img src="assets/readme-buttons/btn-changelog.webp" alt="Changelog" height="45" valign="middle" /></a>
33
+ </p>
34
+
35
+ ## Disclaimer
36
+
37
+ Taste Skill has no official token, coin, or crypto project. Any token using my name, image, or project is unaffiliated and not endorsed by me.
38
+
39
+ <p align="center"><sub><a href="#disclaimer">Disclaimer</a> · <a href="#installing">Install</a> · <a href="#skills">Skills</a> · <a href="#settings-taste-skill-only">Settings</a> · <a href="#examples">Examples</a> · <a href="#sponsors">Sponsors</a> · <a href="#research">Research</a> · <a href="#common-questions">FAQ</a> · <a href="#license">License</a></sub></p>
40
+
41
+ ## Feedback & Contributions
42
+
43
+ We would love your feedback. Suggestions and bug reports:
44
+
45
+ - Open a Pull Request or Issue on GitHub
46
+ - DM [@lexnlin](https://x.com/lexnlin) or [@blueemi99](https://x.com/blueemi99)
47
+ - Email us at [hello@tasteskill.dev](mailto:hello@tasteskill.dev)
48
+
49
+ ## Installing
50
+
51
+ The [`npx skills add`](https://github.com/vercel-labs/agent-skills) CLI scans the `skills/` folder in this repo, so **all skills below (code and image-generation) install the same way.**
52
+
53
+ ```bash
54
+ npx skills add https://github.com/Leonxlnx/taste-skill
55
+ ```
56
+
57
+ Install a single skill by its **install name** (the `name:` field inside the SKILL frontmatter, not the folder name):
58
+
59
+ ```bash
60
+ npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend"
61
+ ```
62
+
63
+ You can also copy any `SKILL.md` into your project or paste it into ChatGPT / Codex conversations.
64
+
65
+ ### Updating from the previous version
66
+
67
+ The default `taste-skill` (install name `design-taste-frontend`) is now **v2 (experimental)**, a substantial rewrite of the original v1. If you already have v1 installed, just re-run the install command and you will be upgraded:
68
+
69
+ ```bash
70
+ npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend"
71
+ ```
72
+
73
+ The install name did not change, so no script updates are needed. The newer SKILL.md replaces the older one in place.
74
+
75
+ If you depend on the exact behavior of v1 and want to pin to it explicitly:
76
+
77
+ ```bash
78
+ npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend-v1"
79
+ ```
80
+
81
+ See [CHANGELOG.md](CHANGELOG.md) for the full v1 to v2 diff and the rationale.
82
+
83
+ ## Skills
84
+
85
+ Each skill does one job; you do not need all of them at once. **Implementation skills** output code. **Image-generation skills** output reference images only.
86
+
87
+ The `Install name` column is the exact value you pass to `--skill`.
88
+
89
+ | Skill (folder) | Install name | Description |
90
+ | --- | --- | --- |
91
+ | **taste-skill** | `design-taste-frontend` | 🆕 **v2 (experimental)** - substantial rewrite of the default skill. Reads the brief, infers the design language, tunes three dials (VARIANCE / MOTION / DENSITY). Brief inference, design-system map, hard em-dash ban, canonical GSAP code skeletons, redesign-audit protocol, strict pre-flight check. Actively iterating toward v2.0.0 stable. |
92
+ | **taste-skill-v1** | `design-taste-frontend-v1` | The original v1 of taste-skill, preserved for projects depending on its exact behavior. Use only if the v2 default breaks something specific in your workflow. |
93
+ | **gpt-tasteskill** | `gpt-taste` | Stricter variant for GPT/Codex: higher layout variance, stronger GSAP direction, aggressive anti-slop. |
94
+ | **image-to-code-skill** | `image-to-code` | Image-first pipeline: generate site references, analyze them, then implement the frontend to match. |
95
+ | **redesign-skill** | `redesign-existing-projects` | Existing projects: audit the UI first, then fix layout, spacing, hierarchy, styling. |
96
+ | **soft-skill** | `high-end-visual-design` | Polished, calm, expensive UI with softer contrast, whitespace, premium fonts, spring motion. |
97
+ | **output-skill** | `full-output-enforcement` | When the model ships half-finished work: full output, no placeholder comments. |
98
+ | **minimalist-skill** | `minimalist-ui` | Editorial product UI (Notion/Linear vibes), restrained palette, crisp structure. |
99
+ | **brutalist-skill** | `industrial-brutalist-ui` | Hard mechanical language: Swiss type, sharp contrast, experimental layout. |
100
+ | **stitch-skill** | `stitch-design-taste` | Google Stitch-compatible rules, including optional `DESIGN.md` export format. |
101
+
102
+ ### Image generation skills
103
+
104
+ These produce design images only (no code). Use with ChatGPT Images, Codex image mode, or any agent that generates images.
105
+
106
+ | Skill (folder) | Install name | Description |
107
+ | --- | --- | --- |
108
+ | **imagegen-frontend-web** | `imagegen-frontend-web` | Website comps: hero, landing, multi-section with strong typography, spacing, anti-slop art direction. |
109
+ | **imagegen-frontend-mobile** | `imagegen-frontend-mobile` | Mobile screens and flows: iOS/Android/cross-platform, mockups, readable type, coherent sets. |
110
+ | **brandkit** | `brandkit` | Brand-kit boards: logo directions, palettes, type, identity applications across categories. |
111
+
112
+ ### Which one should I use?
113
+
114
+ - Start with **taste-skill** for the safest general default. (Now v2 experimental - see what changed in the [CHANGELOG](CHANGELOG.md).)
115
+ - If you depend on the exact behavior of the original taste-skill, install **taste-skill-v1** instead.
116
+ - Use **gpt-taste** when you want the stricter GPT/Codex-oriented rules and motion/layout enforcement.
117
+ - Use **image-to-code-skill** for image → analyze → code website workflows.
118
+ - Use **redesign-skill** to improve an existing codebase instead of greenfield styling.
119
+ - Add **soft-skill**, **minimalist-skill**, or **brutalist-skill** when the visual direction is already chosen.
120
+ - Add **output-skill** if the agent keeps truncating output.
121
+ - Use **imagegen-frontend-web**, **imagegen-frontend-mobile**, or **brandkit** when the deliverable is **images** (comps, flows, identity boards), then pass results to your coding agent.
122
+
123
+ ### Image-first tip
124
+
125
+ For **image-to-code-skill**, state the pipeline in the prompt, e.g.: `follow the skill: generate images, then analyze, then code`.
126
+
127
+ ### ChatGPT Images and Codex
128
+
129
+ Attach or paste **`imagegen-frontend-web`**, **`imagegen-frontend-mobile`**, or **`brandkit`** and ask for the frames you need, then feed the renders to Codex, Cursor, or Claude Code. Use **image-to-code-skill** when you want one workflow that both generates references and implements the site in code.
130
+
131
+ ## Settings (taste-skill only)
132
+
133
+ Numbers at the top of the file are 1-10 dials:
134
+
135
+ - **DESIGN_VARIANCE**: Layout experimentation (lower: centered/clean · higher: asymmetric/modern).
136
+ - **MOTION_INTENSITY**: Animation depth (lower: hover · higher: scroll/magnetic).
137
+ - **VISUAL_DENSITY**: Information per viewport (lower: spacious · higher: dense dashboards).
138
+
139
+ ## Examples
140
+
141
+ Created with taste-skill:
142
+
143
+ <p>
144
+ <img src="examples/floria-top.webp" width="400" />
145
+ <img src="examples/floria-bottom.webp" width="400" />
146
+ </p>
147
+
148
+ ## Support the project
149
+
150
+ If Taste Skill helps you, consider sponsoring:
151
+
152
+ [Sponsor on GitHub](https://github.com/sponsors/Leonxlnx)
153
+
154
+ ### Current Sponsors
155
+
156
+ <a href="https://animations.dev" title="Emil Kowalski · animations.dev"><img src="assets/sponsors/animations-dev.webp" width="62" height="62" alt="Emil Kowalski" title="Emil Kowalski · animations.dev" /></a>
157
+ <a href="https://github.com/dnakov"><img src="https://github.com/dnakov.png" width="40" height="40" style="border-radius:50%" alt="dnakov" title="dnakov" /></a>
158
+ <a href="https://github.com/AkramReshad"><img src="https://github.com/AkramReshad.png" width="40" height="40" style="border-radius:50%" alt="AkramReshad" title="AkramReshad" /></a>
159
+ <a href="https://github.com/ajmalaksar25"><img src="https://github.com/ajmalaksar25.png" width="40" height="40" style="border-radius:50%" alt="ajmalaksar25" title="ajmalaksar25" /></a>
160
+ <a href="https://github.com/krikkkk"><img src="https://github.com/krikkkk.png" width="40" height="40" style="border-radius:50%" alt="krikkkk" title="krikkkk" /></a>
161
+ <a href="https://github.com/navanchauhan"><img src="https://github.com/navanchauhan.png" width="40" height="40" style="border-radius:50%" alt="navanchauhan" title="navanchauhan" /></a>
162
+ <a href="https://github.com/robinebers"><img src="https://github.com/robinebers.png" width="40" height="40" style="border-radius:50%" alt="robinebers" title="robinebers" /></a>
163
+ <a href="https://github.com/JKc66"><img src="https://github.com/JKc66.png" width="40" height="40" style="border-radius:50%" alt="JKc66" title="JKc66" /></a>
164
+ <a href="https://github.com/u2393696078-rgb"><img src="https://github.com/u2393696078-rgb.png" width="40" height="40" style="border-radius:50%" alt="u2393696078-rgb" title="u2393696078-rgb" /></a>
165
+ <a href="https://github.com/a-human-created-this"><img src="https://github.com/a-human-created-this.png" width="40" height="40" style="border-radius:50%" alt="a-human-created-this" title="a-human-created-this" /></a>
166
+ <a href="https://github.com/AtharvaJaiswal005"><img src="https://github.com/AtharvaJaiswal005.png" width="40" height="40" style="border-radius:50%" alt="AtharvaJaiswal005" title="AtharvaJaiswal005" /></a>
167
+ <a href="https://github.com/ghughes7"><img src="https://github.com/ghughes7.png" width="40" height="40" style="border-radius:50%" alt="ghughes7" title="ghughes7" /></a>
168
+ <a href="https://github.com/mccun934"><img src="https://github.com/mccun934.png" width="40" height="40" style="border-radius:50%" alt="mccun934" title="mccun934" /></a>
169
+ <a href="https://github.com/techmedic5"><img src="https://github.com/techmedic5.png" width="40" height="40" style="border-radius:50%" alt="techmedic5" title="techmedic5" /></a>
170
+ <a href="https://github.com/bytewerk-dev"><img src="https://github.com/bytewerk-dev.png" width="40" height="40" style="border-radius:50%" alt="bytewerk-dev" title="bytewerk-dev" /></a>
171
+
172
+ <p align="center">
173
+ <a href="https://www.star-history.com/leonxlnx/taste-skill">
174
+ <picture>
175
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/badge?repo=Leonxlnx/taste-skill&theme=dark" />
176
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/badge?repo=Leonxlnx/taste-skill" />
177
+ <img alt="Star History Rank" src="https://api.star-history.com/badge?repo=Leonxlnx/taste-skill" />
178
+ </picture>
179
+ </a>
180
+ </p>
181
+
182
+ ## Research
183
+
184
+ Background writing that shaped these skills lives in [`research/`](research/).
185
+
186
+ ## Star History
187
+
188
+ <a href="https://www.star-history.com/?repos=Leonxlnx%2Ftaste-skill&type=date&legend=top-left">
189
+ <picture>
190
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Leonxlnx/taste-skill&type=date&theme=dark&legend=top-left" />
191
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Leonxlnx/taste-skill&type=date&legend=top-left" />
192
+ <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=Leonxlnx/taste-skill&type=date&legend=top-left" />
193
+ </picture>
194
+ </a>
195
+
196
+ ## Common Questions
197
+
198
+ **How is this different from other AI design skills?**
199
+ Multiple specialized variants, adjustable dials in key skills, anti-repetition rules informed by dedicated research. All are framework agnostic across major coding agents.
200
+
201
+ **Does it work with React, Vue, Svelte?**
202
+ Yes. Rules target design intent, not a single framework API.
203
+
204
+ **What is SKILL.md?**
205
+ A portable instruction file agents can load automatically; install via `npx skills add` or by copying into a repo or conversation.
206
+
207
+ **Do image-generation skills install with `npx skills add`?**
208
+ Yes. They live under `skills/` alongside the code skills so the same CLI discovers them.
209
+
210
+ ## License
211
+
212
+ [MIT License](LICENSE) · Copyright (c) 2026 Leonxlnx
File without changes
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="248" height="44" viewBox="0 0 248 44" role="img" aria-label="Visit tasteskill.dev">
2
+ <rect width="248" height="44" rx="8" fill="#0a0a0a" stroke="#ffffff" stroke-width="1.25"/>
3
+ <image href="data:image/webp;base64,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" x="12" y="8" width="28" height="28" preserveAspectRatio="xMidYMid meet"/>
4
+ <text x="52" y="28" fill="#ffffff" font-family="ui-sans-serif, system-ui, sans-serif" font-size="14" font-weight="600">tasteskill.dev</text>
5
+ </svg>
@@ -0,0 +1,44 @@
1
+ <svg width="240" height="24" viewBox="0 0 240 24" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Vercel Open Source Program">
2
+ <path d="M13.4283 0.610352L26.8565 23.8046H0L13.4283 0.610352Z" fill="#ffffff"/>
3
+ <path d="M236.436 22.7547L235.081 17.1148V23.8045H233.849V15.1372H235.557L236.924 20.7405L238.291 15.1372H240V23.8045H238.767V17.1148L237.412 22.7547H236.436Z" fill="#ffffff"/>
4
+ <path d="M226.237 23.8045L228.776 15.1372H230.436L232.974 23.8045H231.644L231.022 21.5462H228.19L227.568 23.8045H226.237ZM229.606 16.4678L228.52 20.362H230.692L229.606 16.4678Z" fill="#ffffff"/>
5
+ <path d="M219.444 23.8045V15.1372H222.142C223.972 15.1372 225.095 16.126 225.095 17.7252C225.095 18.7628 224.436 19.5197 223.631 19.7761C224.485 19.9348 224.9 20.4109 224.973 21.3386L225.193 23.8045H223.911L223.716 21.5828C223.643 20.716 223.301 20.4231 222.239 20.4231H220.726V23.8045H219.444ZM220.726 19.2267H222.117C223.179 19.2267 223.777 18.7018 223.777 17.7862C223.777 16.8585 223.179 16.3458 222.117 16.3458H220.726V19.2267Z" fill="#ffffff"/>
6
+ <path d="M214.957 23.9999C213.09 23.9999 211.748 22.4251 211.748 19.4831C211.748 16.6876 212.956 14.9419 214.994 14.9419C216.63 14.9419 217.704 16.0772 218.082 17.8107L216.752 17.8961C216.508 16.8341 215.934 16.1504 215.006 16.1504C213.774 16.1504 213.078 17.3468 213.078 19.4831C213.078 21.6072 213.798 22.7913 215.067 22.7913C216.178 22.7913 216.861 21.8758 216.91 20.4963H215.006V19.3854H218.094V23.8045H217.057L217.02 22.6937C216.642 23.4749 215.983 23.9999 214.957 23.9999Z" fill="#ffffff"/>
7
+ <path d="M207.651 23.9999C205.589 23.9999 204.429 22.3763 204.429 19.4831C204.429 16.5655 205.589 14.9419 207.651 14.9419C209.714 14.9419 210.873 16.5655 210.873 19.4831C210.873 22.3763 209.714 23.9999 207.651 23.9999ZM207.651 22.8035C208.872 22.8035 209.543 21.6804 209.543 19.4831C209.543 17.2857 208.872 16.1382 207.651 16.1382C206.431 16.1382 205.76 17.2857 205.76 19.4831C205.76 21.6804 206.431 22.8035 207.651 22.8035Z" fill="#ffffff"/>
8
+ <path d="M197.489 23.8045V15.1372H200.187C202.017 15.1372 203.14 16.126 203.14 17.7252C203.14 18.7628 202.481 19.5197 201.676 19.7761C202.53 19.9348 202.945 20.4109 203.018 21.3386L203.238 23.8045H201.956L201.761 21.5828C201.688 20.716 201.346 20.4231 200.284 20.4231H198.771V23.8045H197.489ZM198.771 19.2267H200.162C201.224 19.2267 201.822 18.7018 201.822 17.7862C201.822 16.8585 201.224 16.3458 200.162 16.3458H198.771V19.2267Z" fill="#ffffff"/>
9
+ <path d="M190.403 23.8045V15.1372H193.088C194.894 15.1372 196.09 16.1626 196.09 17.8351C196.09 19.4953 194.894 20.5207 193.088 20.5207H191.684V23.8045H190.403ZM191.684 19.3122H192.954C194.186 19.3122 194.76 18.7995 194.76 17.8351C194.76 16.8707 194.186 16.3458 192.954 16.3458H191.684V19.3122Z" fill="#ffffff"/>
10
+ <path d="M175.791 23.8045V15.1372H181.112V16.3458H177.073V18.8727H180.966V20.0446H177.073V22.596H181.21V23.8045H175.791Z" fill="#ffffff"/>
11
+ <path d="M168.216 23.8045V15.1372H170.914C172.744 15.1372 173.867 16.126 173.867 17.7252C173.867 18.7628 173.208 19.5197 172.403 19.7761C173.257 19.9348 173.672 20.4109 173.745 21.3386L173.965 23.8045H172.683L172.488 21.5828C172.415 20.716 172.073 20.4231 171.011 20.4231H169.498V23.8045H168.216ZM169.498 19.2267H170.889C171.951 19.2267 172.549 18.7018 172.549 17.7862C172.549 16.8585 171.951 16.3458 170.889 16.3458H169.498V19.2267Z" fill="#ffffff"/>
12
+ <path d="M160.374 23.8045L162.912 15.1372H164.572L167.111 23.8045H165.78L165.158 21.5462H162.326L161.704 23.8045H160.374ZM163.742 16.4678L162.656 20.362H164.828L163.742 16.4678Z" fill="#ffffff"/>
13
+ <path d="M154.032 23.8045L153.104 15.1372H154.386L155.045 22.1565L155.862 16.1138H156.985L157.803 22.1565L158.462 15.1372H159.744L158.816 23.8045H157.144L156.424 18.5309L155.704 23.8045H154.032Z" fill="#ffffff"/>
14
+ <path d="M148.471 23.8045V16.3458H145.932V15.1372H152.279V16.3458H149.74V23.8045H148.471Z" fill="#ffffff"/>
15
+ <path d="M139.322 23.8045V15.1372H144.741V16.3213H140.604V18.9826H144.522V20.1545H140.604V23.8045H139.322Z" fill="#ffffff"/>
16
+ <path d="M134.469 23.9999C132.407 23.9999 131.247 22.3763 131.247 19.4831C131.247 16.5655 132.407 14.9419 134.469 14.9419C136.532 14.9419 137.691 16.5655 137.691 19.4831C137.691 22.3763 136.532 23.9999 134.469 23.9999ZM134.469 22.8035C135.69 22.8035 136.361 21.6804 136.361 19.4831C136.361 17.2857 135.69 16.1382 134.469 16.1382C133.249 16.1382 132.577 17.2857 132.577 19.4831C132.577 21.6804 133.249 22.8035 134.469 22.8035Z" fill="#ffffff"/>
17
+ <path d="M127.261 23.9999C125.381 23.9999 124.161 22.8035 124.014 20.9846L125.332 20.8992C125.503 22.1443 126.211 22.8035 127.31 22.8035C128.371 22.8035 128.969 22.3763 128.969 21.6072C128.969 20.8381 128.554 20.3987 126.736 19.8859C124.954 19.3976 124.209 18.7995 124.209 17.4566C124.209 15.9673 125.308 14.9419 127.126 14.9419C128.933 14.9419 129.97 16.0772 130.141 17.7496L128.823 17.8229C128.689 16.8219 128.127 16.1382 127.09 16.1382C126.138 16.1382 125.528 16.6387 125.528 17.3956C125.528 18.1525 125.955 18.4332 127.493 18.8605C129.567 19.4221 130.288 20.1911 130.288 21.6072C130.288 23.0355 129.079 23.9999 127.261 23.9999Z" fill="#ffffff"/>
18
+ <path d="M109.927 23.8045V15.1372H115.248V16.3458H111.208V18.8727H115.102V20.0446H111.208V22.596H115.346V23.8045H109.927Z" fill="#ffffff"/>
19
+ <path d="M105.232 23.9999C103.145 23.9999 101.974 22.2664 101.974 19.4831C101.974 16.6876 103.145 14.9419 105.232 14.9419C106.807 14.9419 107.942 16.0284 108.296 17.9083L106.953 17.9816C106.709 16.773 106.05 16.1382 105.232 16.1382C103.975 16.1382 103.304 17.3468 103.304 19.4831C103.304 21.6072 103.975 22.8035 105.232 22.8035C106.123 22.8035 106.795 22.1077 107.014 20.7893L108.345 20.8503C108.04 22.8279 106.892 23.9999 105.232 23.9999Z" fill="#ffffff"/>
20
+ <path d="M95.0342 23.8045V15.1372H97.7315C99.5622 15.1372 100.685 16.126 100.685 17.7252C100.685 18.7628 100.026 19.5197 99.2205 19.7761C100.075 19.9348 100.49 20.4109 100.563 21.3386L100.783 23.8045H99.5012L99.3059 21.5828C99.2327 20.716 98.891 20.4231 97.8291 20.4231H96.3157V23.8045H95.0342ZM96.3157 19.2267H97.7071C98.7689 19.2267 99.367 18.7018 99.367 17.7862C99.367 16.8585 98.7689 16.3458 97.7071 16.3458H96.3157V19.2267Z" fill="#ffffff"/>
21
+ <path d="M90.5596 23.9999C88.7166 23.9999 87.606 22.8035 87.606 20.7893V15.1372H88.8875V20.8381C88.8875 22.1077 89.4733 22.8035 90.5596 22.8035C91.6458 22.8035 92.2317 22.1077 92.2317 20.8381V15.1372H93.5132V20.7893C93.5132 22.8035 92.4025 23.9999 90.5596 23.9999Z" fill="#ffffff"/>
22
+ <path d="M83.2417 23.9999C81.179 23.9999 80.0195 22.3763 80.0195 19.4831C80.0195 16.5655 81.179 14.9419 83.2417 14.9419C85.3043 14.9419 86.4638 16.5655 86.4638 19.4831C86.4638 22.3763 85.3043 23.9999 83.2417 23.9999ZM83.2417 22.8035C84.4622 22.8035 85.1334 21.6804 85.1334 19.4831C85.1334 17.2857 84.4622 16.1382 83.2417 16.1382C82.0212 16.1382 81.3499 17.2857 81.3499 19.4831C81.3499 21.6804 82.0212 22.8035 83.2417 22.8035Z" fill="#ffffff"/>
23
+ <path d="M76.0332 23.9999C74.1536 23.9999 72.9331 22.8035 72.7866 20.9846L74.1048 20.8992C74.2756 22.1443 74.9835 22.8035 76.082 22.8035C77.1438 22.8035 77.7419 22.3763 77.7419 21.6072C77.7419 20.8381 77.3269 20.3987 75.5083 19.8859C73.7264 19.3976 72.9819 18.7995 72.9819 17.4566C72.9819 15.9673 74.0804 14.9419 75.8989 14.9419C77.7052 14.9419 78.7427 16.0772 78.9135 17.7496L77.5954 17.8229C77.4611 16.8219 76.8997 16.1382 75.8623 16.1382C74.9103 16.1382 74.3 16.6387 74.3 17.3956C74.3 18.1525 74.7272 18.4332 76.265 18.8605C78.3399 19.4221 79.06 20.1911 79.06 21.6072C79.06 23.0355 77.8517 23.9999 76.0332 23.9999Z" fill="#ffffff"/>
24
+ <path d="M58.4556 23.8045V15.1372H60.0178L62.8616 21.9856V15.1372H64.1187V23.8045H62.5564L59.7127 16.9561V23.8045H58.4556Z" fill="#ffffff"/>
25
+ <path d="M51.3813 23.8045V15.1372H56.7027V16.3458H52.6629V18.8727H56.5563V20.0446H52.6629V22.596H56.8004V23.8045H51.3813Z" fill="#ffffff"/>
26
+ <path d="M44.0386 23.8045V15.1372H46.7237C48.53 15.1372 49.7261 16.1626 49.7261 17.8351C49.7261 19.4953 48.53 20.5207 46.7237 20.5207H45.3201V23.8045H44.0386ZM45.3201 19.3122H46.5894C47.8221 19.3122 48.3958 18.7995 48.3958 17.8351C48.3958 16.8707 47.8221 16.3458 46.5894 16.3458H45.3201V19.3122Z" fill="#ffffff"/>
27
+ <path d="M39.332 23.9999C37.2693 23.9999 36.1099 22.3763 36.1099 19.4831C36.1099 16.5655 37.2693 14.9419 39.332 14.9419C41.3946 14.9419 42.5541 16.5655 42.5541 19.4831C42.5541 22.3763 41.3946 23.9999 39.332 23.9999ZM39.332 22.8035C40.5525 22.8035 41.2238 21.6804 41.2238 19.4831C41.2238 17.2857 40.5525 16.1382 39.332 16.1382C38.1115 16.1382 37.4402 17.2857 37.4402 19.4831C37.4402 21.6804 38.1115 22.8035 39.332 22.8035Z" fill="#ffffff"/>
28
+ <path d="M171.085 9.35094C169.083 9.35094 167.96 7.95929 167.96 5.46895C167.96 2.60019 168.864 0.292969 171.414 0.292969C173.013 0.292969 173.819 1.1597 174.148 2.38045L172.83 2.49032C172.659 1.89215 172.269 1.48931 171.414 1.48931C170.243 1.48931 169.474 2.36825 169.303 4.2482C169.718 3.71107 170.426 3.32043 171.329 3.32043C173.05 3.32043 174.161 4.48015 174.161 6.25024C174.161 8.16681 172.916 9.35094 171.085 9.35094ZM171.085 8.1424C172.147 8.1424 172.83 7.45878 172.83 6.27465C172.83 5.17597 172.196 4.48015 171.183 4.48015C170.096 4.48015 169.315 5.17597 169.315 6.27465C169.315 7.34891 169.999 8.1424 171.085 8.1424Z" fill="#ffffff" fill-opacity="0.5"/>
29
+ <path d="M160.667 9.15562C160.667 7.22684 161.387 6.01829 163.925 4.67547C165.011 4.10171 165.475 3.72328 165.475 2.88096C165.475 2.05085 164.95 1.48931 163.937 1.48931C162.827 1.48931 162.217 2.09968 162.046 3.18615L160.715 3.1007C160.898 1.37944 162.021 0.292969 163.937 0.292969C165.78 0.292969 166.806 1.3184 166.806 2.83213C166.806 4.17496 166.22 4.83416 164.45 5.78635C162.949 6.59205 162.241 7.36112 162.192 7.94708H166.818V9.15562H160.667Z" fill="#ffffff" fill-opacity="0.5"/>
30
+ <path d="M156.424 9.35094C154.508 9.35094 153.348 7.61748 153.348 4.83416C153.348 2.03864 154.508 0.292969 156.424 0.292969C158.34 0.292969 159.499 2.03864 159.499 4.83416C159.499 7.61748 158.34 9.35094 156.424 9.35094ZM154.678 4.83416C154.678 5.55441 154.752 6.1892 154.91 6.68971L157.449 1.98981C157.181 1.66021 156.827 1.48931 156.424 1.48931C155.338 1.48931 154.678 2.72226 154.678 4.83416ZM156.424 8.15461C157.51 8.15461 158.169 6.92165 158.169 4.83416C158.169 4.10171 158.096 3.46692 157.937 2.96641L155.386 7.6541C155.667 7.9837 156.021 8.15461 156.424 8.15461Z" fill="#ffffff" fill-opacity="0.5"/>
31
+ <path d="M146.03 9.15562C146.03 7.22684 146.75 6.01829 149.289 4.67547C150.375 4.10171 150.839 3.72328 150.839 2.88096C150.839 2.05085 150.314 1.48931 149.301 1.48931C148.19 1.48931 147.58 2.09968 147.409 3.18615L146.079 3.1007C146.262 1.37944 147.385 0.292969 149.301 0.292969C151.144 0.292969 152.169 1.3184 152.169 2.83213C152.169 4.17496 151.583 4.83416 149.813 5.78635C148.312 6.59205 147.604 7.36112 147.555 7.94708H152.181V9.15562H146.03Z" fill="#ffffff" fill-opacity="0.5"/>
32
+ <path d="M132.041 10.4985L135.727 0H136.899L133.212 10.4985H132.041Z" fill="#ffffff" fill-opacity="0.5"/>
33
+ <path d="M124.722 10.4985L128.409 0H129.581L125.894 10.4985H124.722Z" fill="#ffffff" fill-opacity="0.5"/>
34
+ <path d="M111.684 9.15582V7.54443H113.344V9.15582H111.684Z" fill="#ffffff"/>
35
+ <path d="M105.232 9.35094C103.145 9.35094 101.974 7.61748 101.974 4.83416C101.974 2.03864 103.145 0.292969 105.232 0.292969C106.807 0.292969 107.942 1.37944 108.296 3.25939L106.953 3.33264C106.709 2.1241 106.05 1.48931 105.232 1.48931C103.975 1.48931 103.304 2.69785 103.304 4.83416C103.304 6.95827 103.975 8.15461 105.232 8.15461C106.123 8.15461 106.795 7.45878 107.014 6.14037L108.345 6.20141C108.04 8.17902 106.892 9.35094 105.232 9.35094Z" fill="#ffffff"/>
36
+ <path d="M95.0464 9.15562V0.488281H96.6086L99.4524 7.3367V0.488281H100.71V9.15562H99.1473L96.3035 2.3072V9.15562H95.0464Z" fill="#ffffff"/>
37
+ <path d="M87.8501 9.15562V7.94707H89.9249V1.69683H87.8501V0.488281H93.2691V1.69683H91.1943V7.94707H93.2691V9.15562H87.8501Z" fill="#ffffff"/>
38
+ <path d="M73.4575 9.15562V0.488281H74.739V7.94707H78.8765V9.15562H73.4575Z" fill="#ffffff"/>
39
+ <path d="M66.0171 9.15562V0.488281H71.3385V1.69683H67.2986V4.22378H71.192V5.3957H67.2986V7.94707H71.4361V9.15562H66.0171Z" fill="#ffffff"/>
40
+ <path d="M61.3232 9.35094C59.2361 9.35094 58.0645 7.61748 58.0645 4.83416C58.0645 2.03864 59.2361 0.292969 61.3232 0.292969C62.8976 0.292969 64.0327 1.37944 64.3866 3.25939L63.0441 3.33264C62.8 2.1241 62.1409 1.48931 61.3232 1.48931C60.0661 1.48931 59.3948 2.69785 59.3948 4.83416C59.3948 6.95827 60.0661 8.15461 61.3232 8.15461C62.2142 8.15461 62.8854 7.45878 63.1051 6.14037L64.4355 6.20141C64.1303 8.17902 62.9831 9.35094 61.3232 9.35094Z" fill="#ffffff"/>
41
+ <path d="M51.125 9.15562V0.488281H53.8223C55.6531 0.488281 56.7759 1.47709 56.7759 3.07627C56.7759 4.11391 56.1168 4.87078 55.3113 5.12714C56.1657 5.28583 56.5806 5.76193 56.6539 6.6897L56.8736 9.15562H55.592L55.3968 6.93385C55.3235 6.06711 54.9818 5.77413 53.9199 5.77413H52.4065V9.15562H51.125ZM52.4065 4.5778H53.7979C54.8597 4.5778 55.4578 4.05288 55.4578 3.13731C55.4578 2.20954 54.8597 1.69683 53.7979 1.69683H52.4065V4.5778Z" fill="#ffffff"/>
42
+ <path d="M44.063 9.15562V0.488281H49.3844V1.69683H45.3445V4.22378H49.2379V5.3957H45.3445V7.94707H49.482V9.15562H44.063Z" fill="#ffffff"/>
43
+ <path d="M38.5753 9.15562L36 0.488281H37.3548L39.332 7.44656L41.3092 0.488281H42.6639L40.0887 9.15562H38.5753Z" fill="#ffffff"/>
44
+ </svg>
@@ -0,0 +1,8 @@
1
+ # Research
2
+
3
+ Background research that informed the skills in this project. Each topic gets its own subfolder.
4
+
5
+ ## Topics
6
+
7
+ ### [LLM Laziness](laziness/)
8
+ Why AI models produce incomplete outputs (placeholder code, truncated responses, skipped sections) and documented techniques to prevent it. Covers root causes, parameter fixes, prompt techniques, and experiment data.
@@ -0,0 +1,25 @@
1
+ # LLM Output Truncation Research
2
+
3
+ A structured analysis of why large language models produce incomplete outputs, and documented methods to restore full-fidelity generation. All findings are drawn from controlled experiments, published studies, and field-tested engineering practices.
4
+
5
+ ## Directory Structure
6
+
7
+ ### Root Causes
8
+ Analysis of the economic, architectural, and behavioral mechanisms that drive output truncation in production LLMs.
9
+
10
+ - [RLHF and Compute Economics](root-causes/rlhf-and-compute.md) — How reinforcement learning and cost optimization create systematic brevity bias.
11
+ - [Training Data Bias](root-causes/training-data-bias.md) — How placeholder patterns in human-written code propagate into model outputs.
12
+ - [Cognitive Shortcuts](root-causes/cognitive-shortcuts.md) — Empirical evidence of models taking shortcuts on complex or lengthy tasks.
13
+ - [Output Limits](root-causes/output-limits.md) — Context window asymmetry and consumer-tier truncation mechanisms.
14
+
15
+ ### Remediation
16
+ Documented techniques for overriding default truncation behavior, ordered from parameter-level fixes to full architectural solutions.
17
+
18
+ - [Parameter Tuning](remediation/parameter-tuning.md) — Temperature, Top-p, and Gemini thinking-level configuration.
19
+ - [Prompt Engineering](remediation/prompt-engineering.md) — Structural prompt techniques: syntax binding, XML frameworks, and verification loops.
20
+ - [Architectural Patterns](remediation/architectural-patterns.md) — MCP integration, lazy-loaded skills, and developer platform access.
21
+ - [Reference Prompts](remediation/reference-prompts.md) — Ready-to-use prompt templates for enforcing complete outputs.
22
+
23
+ ### Findings
24
+ - [Empirical Results](findings/empirical-results.md) — Controlled experiment data from 2025 academic studies.
25
+ - [References](findings/references.md) — Cited studies and further reading.
@@ -0,0 +1,58 @@
1
+ # Empirical Results
2
+
3
+ ## 2025 Controlled Experiments
4
+
5
+ A controlled study published in December 2025 measured output truncation across several frontier models, including GPT-4 variants and DeepSeek. Three experiments were conducted:
6
+
7
+ ### Experiment A: Multi-Part Instruction Compliance
8
+
9
+ Models were given complex prompts with multiple explicit requirements (formatting constraints, length requirements, mandatory sections). Results:
10
+
11
+ - No model fully satisfied both length requirements and all sub-part instructions natively
12
+ - Models frequently omitted mandatory output sections
13
+ - Required formatting constraints were routinely skipped
14
+ - Explicit length requirements were consistently undershot
15
+
16
+ ### Experiment B: Decoding Suboptimality
17
+
18
+ Tested whether truncated outputs resulted from suboptimal token selection (the model "knowing" the right answer but selecting a worse token). Results:
19
+
20
+ - Limited evidence of decoding suboptimality on simple reasoning tasks
21
+ - The model's greedy, truncated output generally aligned with its highest-confidence solution
22
+ - Truncation is a deliberate behavioral choice, not a decoding failure
23
+
24
+ ### Experiment C: Context Degradation
25
+
26
+ Tested whether models lose track of instructions during long, multi-turn conversations. Results:
27
+
28
+ - Surprising resilience against context degradation during 200-turn conversational tests
29
+ - Models maintained key facts and instructions significantly better than hypothesized
30
+ - Context loss is not the primary cause of truncation
31
+
32
+ ### Key Conclusion
33
+
34
+ Laziness is not a failure of memory, context processing, or core model capabilities. It is a behavioral artifact triggered by:
35
+ 1. Instruction complexity exceeding internal effort thresholds
36
+ 2. Aggressively calibrated stopping pressure
37
+ 3. Economic constraints embedded in the alignment layer
38
+
39
+ ## Prompt Stimulus Effectiveness (Microsoft Research)
40
+
41
+ Controlled testing of psychological prompt stimuli documented in a Microsoft Research study:
42
+
43
+ | Stimulus | Measured Effect |
44
+ |:---|:---|
45
+ | Financial incentive framing ("$200 tip") | +45% output quality and length |
46
+ | Step-by-step instruction ("take a deep breath") | Accuracy: 34% to 80% on logic tasks |
47
+ | Stakes framing ("critical to my career") | +10% average performance |
48
+ | Combined (multiple stimuli) | Up to +115% overall performance |
49
+
50
+ These effects are reproducible and stem from statistical correlations in the training data between stakes language and high-effort human outputs.
51
+
52
+ ## Seasonal Output Variation
53
+
54
+ Statistical analysis of ChatGPT outputs during November-December 2023 versus January-March 2024 confirmed:
55
+
56
+ - Measurable decrease in average output length during December
57
+ - Correlation with reduced work output in the training data during holiday periods
58
+ - Output length increased when the system prompt explicitly stated a non-winter month