@biggora/claude-plugins 1.1.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/README.md +24 -17
  3. package/package.json +1 -1
  4. package/registry/registry.json +319 -244
  5. package/specs/coding.md +24 -0
  6. package/specs/pod.md +2 -0
  7. package/src/skills/captcha/README.md +221 -0
  8. package/src/skills/captcha/SKILL.md +355 -0
  9. package/src/skills/captcha/references/captcha-types.md +254 -0
  10. package/src/skills/captcha/references/services.md +172 -0
  11. package/src/skills/captcha/references/stealth.md +238 -0
  12. package/src/skills/captcha/scripts/solve_captcha.py +323 -0
  13. package/src/skills/captcha/scripts/solve_image_grid.py +350 -0
  14. package/src/skills/codex-cli/SKILL.md +21 -11
  15. package/src/skills/gemini-cli/SKILL.md +27 -13
  16. package/src/skills/gemini-cli/references/commands.md +21 -14
  17. package/src/skills/gemini-cli/references/configuration.md +23 -18
  18. package/src/skills/gemini-cli/references/headless-and-scripting.md +7 -17
  19. package/src/skills/gemini-cli/references/mcp-and-extensions.md +12 -6
  20. package/src/skills/google-merchant-api/SKILL.md +581 -0
  21. package/src/skills/google-merchant-api/references/accounts.md +247 -0
  22. package/src/skills/google-merchant-api/references/content-api-legacy.md +216 -0
  23. package/src/skills/google-merchant-api/references/datasources.md +233 -0
  24. package/src/skills/google-merchant-api/references/inventories.md +201 -0
  25. package/src/skills/google-merchant-api/references/migration.md +267 -0
  26. package/src/skills/google-merchant-api/references/products.md +316 -0
  27. package/src/skills/google-merchant-api/references/promotions.md +201 -0
  28. package/src/skills/google-merchant-api/references/reports.md +240 -0
  29. package/src/skills/lv-aggregators-api/SKILL.md +113 -0
  30. package/src/skills/lv-aggregators-api/references/integration-guide.md +368 -0
  31. package/src/skills/lv-aggregators-api/references/kurpirkt.md +103 -0
  32. package/src/skills/lv-aggregators-api/references/salidzini.md +122 -0
  33. package/src/skills/notebook-lm/SKILL.md +1 -1
  34. package/src/skills/screen-recording/SKILL.md +243 -213
  35. package/src/skills/screen-recording/references/design-patterns.md +4 -2
  36. package/src/skills/screen-recording/references/ffmpeg-recording.md +473 -0
  37. package/src/skills/screen-recording/references/{approach1-programmatic.md → programmatic-generation.md} +45 -22
  38. package/src/skills/screen-recording/references/python-fallback.md +222 -0
  39. package/src/skills/tailwindcss-best-practices/SKILL.md +180 -0
  40. package/src/skills/tailwindcss-best-practices/references/best-practices-utility-patterns.md +87 -0
  41. package/src/skills/tailwindcss-best-practices/references/core-installation.md +109 -0
  42. package/src/skills/tailwindcss-best-practices/references/core-preflight.md +200 -0
  43. package/src/skills/tailwindcss-best-practices/references/core-responsive.md +163 -0
  44. package/src/skills/tailwindcss-best-practices/references/core-source-detection.md +114 -0
  45. package/src/skills/tailwindcss-best-practices/references/core-theme.md +108 -0
  46. package/src/skills/tailwindcss-best-practices/references/core-utility-classes.md +59 -0
  47. package/src/skills/tailwindcss-best-practices/references/core-variants.md +204 -0
  48. package/src/skills/tailwindcss-best-practices/references/effects-form-controls.md +76 -0
  49. package/src/skills/tailwindcss-best-practices/references/effects-mask.md +91 -0
  50. package/src/skills/tailwindcss-best-practices/references/effects-scroll-snap.md +59 -0
  51. package/src/skills/tailwindcss-best-practices/references/effects-text-shadow.md +78 -0
  52. package/src/skills/tailwindcss-best-practices/references/effects-transition-animation.md +80 -0
  53. package/src/skills/tailwindcss-best-practices/references/effects-visibility-interactivity.md +82 -0
  54. package/src/skills/tailwindcss-best-practices/references/features-content-detection.md +175 -0
  55. package/src/skills/tailwindcss-best-practices/references/features-custom-styles.md +203 -0
  56. package/src/skills/tailwindcss-best-practices/references/features-dark-mode.md +137 -0
  57. package/src/skills/tailwindcss-best-practices/references/features-functions-directives.md +241 -0
  58. package/src/skills/tailwindcss-best-practices/references/features-upgrade.md +160 -0
  59. package/src/skills/tailwindcss-best-practices/references/layout-aspect-ratio.md +39 -0
  60. package/src/skills/tailwindcss-best-practices/references/layout-columns.md +80 -0
  61. package/src/skills/tailwindcss-best-practices/references/layout-display.md +110 -0
  62. package/src/skills/tailwindcss-best-practices/references/layout-flexbox.md +112 -0
  63. package/src/skills/tailwindcss-best-practices/references/layout-grid.md +87 -0
  64. package/src/skills/tailwindcss-best-practices/references/layout-height.md +97 -0
  65. package/src/skills/tailwindcss-best-practices/references/layout-inset.md +103 -0
  66. package/src/skills/tailwindcss-best-practices/references/layout-logical-properties.md +92 -0
  67. package/src/skills/tailwindcss-best-practices/references/layout-margin.md +126 -0
  68. package/src/skills/tailwindcss-best-practices/references/layout-min-max-sizing.md +63 -0
  69. package/src/skills/tailwindcss-best-practices/references/layout-object-fit-position.md +64 -0
  70. package/src/skills/tailwindcss-best-practices/references/layout-overflow.md +57 -0
  71. package/src/skills/tailwindcss-best-practices/references/layout-padding.md +77 -0
  72. package/src/skills/tailwindcss-best-practices/references/layout-position.md +85 -0
  73. package/src/skills/tailwindcss-best-practices/references/layout-tables.md +67 -0
  74. package/src/skills/tailwindcss-best-practices/references/layout-width.md +102 -0
  75. package/src/skills/tailwindcss-best-practices/references/transform-base.md +68 -0
  76. package/src/skills/tailwindcss-best-practices/references/transform-rotate.md +70 -0
  77. package/src/skills/tailwindcss-best-practices/references/transform-scale.md +83 -0
  78. package/src/skills/tailwindcss-best-practices/references/transform-skew.md +62 -0
  79. package/src/skills/tailwindcss-best-practices/references/transform-translate.md +77 -0
  80. package/src/skills/tailwindcss-best-practices/references/typography-font-text.md +142 -0
  81. package/src/skills/tailwindcss-best-practices/references/typography-list-style.md +65 -0
  82. package/src/skills/tailwindcss-best-practices/references/typography-text-align.md +60 -0
  83. package/src/skills/tailwindcss-best-practices/references/visual-background.md +76 -0
  84. package/src/skills/tailwindcss-best-practices/references/visual-border.md +108 -0
  85. package/src/skills/tailwindcss-best-practices/references/visual-effects.md +111 -0
  86. package/src/skills/tailwindcss-best-practices/references/visual-svg.md +82 -0
  87. package/src/skills/test-mobile-app/SKILL.md +11 -6
  88. package/src/skills/test-mobile-app/scripts/analyze_apk.py +15 -4
  89. package/src/skills/test-mobile-app/scripts/check_environment.py +5 -5
  90. package/src/skills/test-mobile-app/scripts/run_tests.py +1 -1
  91. package/src/skills/test-web-ui/SKILL.md +264 -84
  92. package/src/skills/test-web-ui/scripts/discover.py +25 -12
  93. package/src/skills/test-web-ui/scripts/run_tests.py +3 -2
  94. package/src/skills/tm-search/SKILL.md +242 -106
  95. package/src/skills/tm-search/references/scraping-fallback.md +60 -95
  96. package/src/skills/tm-search/scripts/tm_search.py +453 -375
  97. package/src/skills/vite-best-practices/SKILL.md +115 -0
  98. package/src/skills/vite-best-practices/references/build-and-ssr.md +255 -0
  99. package/src/skills/vite-best-practices/references/core-config.md +231 -0
  100. package/src/skills/vite-best-practices/references/core-features.md +222 -0
  101. package/src/skills/vite-best-practices/references/core-plugin-api.md +294 -0
  102. package/src/skills/vite-best-practices/references/environment-api.md +108 -0
  103. package/src/skills/vite-best-practices/references/rolldown-migration.md +242 -0
  104. package/src/skills/screen-recording/references/approach2-xvfb.md +0 -232
@@ -0,0 +1,175 @@
1
+ ---
2
+ name: features-content-detection
3
+ description: How Tailwind detects classes in source files and how to customize content scanning
4
+ ---
5
+
6
+ # Detecting Classes in Source Files
7
+
8
+ Tailwind scans your project for utility classes and generates CSS based on what you've actually used.
9
+
10
+ ## How Classes Are Detected
11
+
12
+ Tailwind treats all source files as plain text and looks for tokens that could be class names:
13
+
14
+ ```jsx
15
+ export function Button({ color, children }) {
16
+ const colors = {
17
+ black: "bg-black text-white",
18
+ blue: "bg-blue-500 text-white",
19
+ };
20
+
21
+ return (
22
+ <button className={`${colors[color]} rounded-full px-2 py-1.5`}>
23
+ {children}
24
+ </button>
25
+ );
26
+ }
27
+ ```
28
+
29
+ Tailwind detects `bg-black`, `text-white`, `bg-blue-500`, `rounded-full`, `px-2`, and `py-1.5` from this file.
30
+
31
+ ## Dynamic Class Names
32
+
33
+ Tailwind scans files as plain text, so it can't understand string concatenation or interpolation.
34
+
35
+ ### ❌ Don't Construct Classes Dynamically
36
+
37
+ ```html
38
+ <div class="text-{{ error ? 'red' : 'green' }}-600"></div>
39
+ ```
40
+
41
+ The strings `text-red-600` and `text-green-600` don't exist in the file, so Tailwind won't generate them.
42
+
43
+ ### ✅ Use Complete Class Names
44
+
45
+ ```html
46
+ <div class="{{ error ? 'text-red-600' : 'text-green-600' }}">
47
+ Content
48
+ </div>
49
+ ```
50
+
51
+ ### ❌ Don't Build Classes from Props
52
+
53
+ ```jsx
54
+ function Button({ color, children }) {
55
+ return <button className={`bg-${color}-600 hover:bg-${color}-500`}>{children}</button>;
56
+ }
57
+ ```
58
+
59
+ ### ✅ Map Props to Static Classes
60
+
61
+ ```jsx
62
+ function Button({ color, children }) {
63
+ const colorVariants = {
64
+ blue: "bg-blue-600 hover:bg-blue-500",
65
+ red: "bg-red-600 hover:bg-red-500",
66
+ };
67
+
68
+ return <button className={`${colorVariants[color]} ...`}>{children}</button>;
69
+ }
70
+ ```
71
+
72
+ ## Which Files Are Scanned
73
+
74
+ Tailwind scans every file in your project except:
75
+
76
+ - Files in `.gitignore`
77
+ - Files in `node_modules`
78
+ - Binary files (images, videos, zip files)
79
+ - CSS files
80
+ - Common package manager lock files
81
+
82
+ ## Explicitly Registering Sources
83
+
84
+ Use `@source` to explicitly register source paths:
85
+
86
+ ```css
87
+ @import "tailwindcss";
88
+ @source "../node_modules/@acmecorp/ui-lib";
89
+ ```
90
+
91
+ This is useful for external libraries built with Tailwind that are in `.gitignore`.
92
+
93
+ ## Setting Base Path
94
+
95
+ Set the base path for source detection:
96
+
97
+ ```css
98
+ @import "tailwindcss" source("../src");
99
+ ```
100
+
101
+ Useful in monorepos where build commands run from the root.
102
+
103
+ ## Ignoring Specific Paths
104
+
105
+ Use `@source not` to ignore paths:
106
+
107
+ ```css
108
+ @import "tailwindcss";
109
+ @source not "../src/components/legacy";
110
+ ```
111
+
112
+ ## Disabling Automatic Detection
113
+
114
+ Use `source(none)` to disable automatic detection:
115
+
116
+ ```css
117
+ @import "tailwindcss" source(none);
118
+
119
+ @source "../admin";
120
+ @source "../shared";
121
+ ```
122
+
123
+ Useful for projects with multiple Tailwind stylesheets.
124
+
125
+ ## Safelisting Utilities
126
+
127
+ Force Tailwind to generate specific classes with `@source inline()`:
128
+
129
+ ```css
130
+ @import "tailwindcss";
131
+ @source inline("underline");
132
+ ```
133
+
134
+ ### Safelisting with Variants
135
+
136
+ Generate classes with variants:
137
+
138
+ ```css
139
+ @import "tailwindcss";
140
+ @source inline("{hover:,focus:,}underline");
141
+ ```
142
+
143
+ ### Safelisting with Ranges
144
+
145
+ Use brace expansion to generate multiple classes:
146
+
147
+ ```css
148
+ @import "tailwindcss";
149
+ @source inline("{hover:,}bg-red-{50,{100..900..100},950}");
150
+ ```
151
+
152
+ This generates `bg-red-50` through `bg-red-950` with hover variants.
153
+
154
+ ## Explicitly Excluding Classes
155
+
156
+ Use `@source not inline()` to prevent specific classes from being generated:
157
+
158
+ ```css
159
+ @import "tailwindcss";
160
+ @source not inline("{hover:,focus:,}bg-red-{50,{100..900..100},950}");
161
+ ```
162
+
163
+ ## Key Points
164
+
165
+ - Tailwind scans files as plain text
166
+ - Always use complete class names, never construct them dynamically
167
+ - Map props/state to static class names
168
+ - Use `@source` to explicitly register or ignore paths
169
+ - Use `@source inline()` to safelist utilities
170
+ - Brace expansion works in inline sources for ranges
171
+
172
+ <!--
173
+ Source references:
174
+ - https://tailwindcss.com/docs/detecting-classes-in-source-files
175
+ -->
@@ -0,0 +1,203 @@
1
+ ---
2
+ name: features-custom-styles
3
+ description: Adding custom styles, utilities, variants, and working with arbitrary values
4
+ ---
5
+
6
+ # Adding Custom Styles
7
+
8
+ Tailwind is designed to be extensible. This guide covers customizing your theme, using arbitrary values, adding custom CSS, and extending the framework.
9
+
10
+ ## Customizing Your Theme
11
+
12
+ Add custom design tokens using `@theme`:
13
+
14
+ ```css
15
+ @import "tailwindcss";
16
+
17
+ @theme {
18
+ --font-display: "Satoshi", "sans-serif";
19
+ --breakpoint-3xl: 120rem;
20
+ --color-brand-500: oklch(0.65 0.2 250);
21
+ --ease-fluid: cubic-bezier(0.3, 0, 0, 1);
22
+ }
23
+ ```
24
+
25
+ ## Arbitrary Values
26
+
27
+ Use square bracket notation for one-off values that don't belong in your theme:
28
+
29
+ ```html
30
+ <!-- Arbitrary values -->
31
+ <div class="top-[117px] bg-[#bada55] text-[22px]">
32
+ Content
33
+ </div>
34
+
35
+ <!-- With variants -->
36
+ <div class="top-[117px] lg:top-[344px]">
37
+ Content
38
+ </div>
39
+ ```
40
+
41
+ ### CSS Variables as Arbitrary Values
42
+
43
+ Reference CSS variables:
44
+
45
+ ```html
46
+ <div class="fill-(--my-brand-color)">
47
+ Content
48
+ </div>
49
+ ```
50
+
51
+ This is shorthand for `fill-[var(--my-brand-color)]`.
52
+
53
+ ## Arbitrary Properties
54
+
55
+ Use square brackets for CSS properties Tailwind doesn't have utilities for:
56
+
57
+ ```html
58
+ <div class="[mask-type:luminance]">
59
+ Content
60
+ </div>
61
+
62
+ <!-- With variants -->
63
+ <div class="[mask-type:luminance] hover:[mask-type:alpha]">
64
+ Content
65
+ </div>
66
+ ```
67
+
68
+ ### CSS Variables
69
+
70
+ Set CSS variables with arbitrary properties:
71
+
72
+ ```html
73
+ <div class="[--scroll-offset:56px] lg:[--scroll-offset:44px]">
74
+ Content
75
+ </div>
76
+ ```
77
+
78
+ ## Arbitrary Variants
79
+
80
+ Create custom selectors on the fly:
81
+
82
+ ```html
83
+ <ul>
84
+ <li class="lg:[&:nth-child(-n+3)]:hover:underline">Item</li>
85
+ </ul>
86
+ ```
87
+
88
+ ## Handling Whitespace
89
+
90
+ Use underscores for spaces in arbitrary values:
91
+
92
+ ```html
93
+ <div class="grid-cols-[1fr_500px_2fr]">
94
+ Content
95
+ </div>
96
+ ```
97
+
98
+ Tailwind converts underscores to spaces, except in contexts where underscores are valid (like URLs).
99
+
100
+ ## Custom Utilities
101
+
102
+ Add custom utilities with `@utility`:
103
+
104
+ ```css
105
+ @import "tailwindcss";
106
+
107
+ @utility tab-4 {
108
+ tab-size: 4;
109
+ }
110
+ ```
111
+
112
+ Now you can use `tab-4` utility class, and it works with variants:
113
+
114
+ ```html
115
+ <div class="tab-4 hover:tab-8">
116
+ Content
117
+ </div>
118
+ ```
119
+
120
+ ## Custom Variants
121
+
122
+ Add custom variants with `@custom-variant`:
123
+
124
+ ```css
125
+ @import "tailwindcss";
126
+
127
+ @custom-variant theme-midnight (&:where([data-theme="midnight"] *));
128
+ ```
129
+
130
+ Now you can use `theme-midnight:` variant:
131
+
132
+ ```html
133
+ <div class="theme-midnight:bg-black theme-midnight:text-white">
134
+ Content
135
+ </div>
136
+ ```
137
+
138
+ ## Using Variants in CSS
139
+
140
+ Apply Tailwind variants to custom CSS with `@variant`:
141
+
142
+ ```css
143
+ .my-element {
144
+ background: white;
145
+
146
+ @variant dark {
147
+ background: black;
148
+ }
149
+
150
+ @variant hover {
151
+ background: gray;
152
+ }
153
+ }
154
+ ```
155
+
156
+ ## Base Styles
157
+
158
+ Add base styles to the `base` layer:
159
+
160
+ ```css
161
+ @layer base {
162
+ h1 {
163
+ font-size: var(--text-2xl);
164
+ font-weight: 600;
165
+ }
166
+
167
+ h2 {
168
+ font-size: var(--text-xl);
169
+ font-weight: 600;
170
+ }
171
+
172
+ a {
173
+ color: var(--color-blue-600);
174
+ text-decoration-line: underline;
175
+ }
176
+ }
177
+ ```
178
+
179
+ ## Component Styles
180
+
181
+ Add component styles to the `components` layer:
182
+
183
+ ```css
184
+ @layer components {
185
+ .btn-primary {
186
+ @apply bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded;
187
+ }
188
+ }
189
+ ```
190
+
191
+ ## Key Points
192
+
193
+ - Use `@theme` to customize design tokens
194
+ - Arbitrary values with `[]` for one-off values
195
+ - Arbitrary properties for CSS properties without utilities
196
+ - `@utility` for custom utilities
197
+ - `@custom-variant` for custom variants
198
+ - `@layer` for organizing base and component styles
199
+
200
+ <!--
201
+ Source references:
202
+ - https://tailwindcss.com/docs/adding-custom-styles
203
+ -->
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: features-dark-mode
3
+ description: Implementing dark mode with Tailwind's dark variant and custom dark mode strategies
4
+ ---
5
+
6
+ # Dark Mode
7
+
8
+ Tailwind includes a `dark` variant that lets you style your site differently when dark mode is enabled.
9
+
10
+ ## Overview
11
+
12
+ Use the `dark:` variant to apply styles in dark mode:
13
+
14
+ ```html
15
+ <div class="bg-white dark:bg-gray-800 text-gray-900 dark:text-white">
16
+ Content
17
+ </div>
18
+ ```
19
+
20
+ ## Default Behavior
21
+
22
+ By default, the `dark` variant uses the `prefers-color-scheme` CSS media feature:
23
+
24
+ ```css
25
+ @media (prefers-color-scheme: dark) {
26
+ .dark\:bg-gray-800 {
27
+ background-color: rgb(31 41 55);
28
+ }
29
+ }
30
+ ```
31
+
32
+ ## Manual Toggle with Class
33
+
34
+ Override the `dark` variant to use a class selector:
35
+
36
+ ```css
37
+ @import "tailwindcss";
38
+
39
+ @custom-variant dark (&:where(.dark, .dark *));
40
+ ```
41
+
42
+ Now dark mode utilities apply when the `dark` class is present:
43
+
44
+ ```html
45
+ <html class="dark">
46
+ <body>
47
+ <div class="bg-white dark:bg-black">Content</div>
48
+ </body>
49
+ </html>
50
+ ```
51
+
52
+ ## Manual Toggle with Data Attribute
53
+
54
+ Use a data attribute instead:
55
+
56
+ ```css
57
+ @import "tailwindcss";
58
+
59
+ @custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
60
+ ```
61
+
62
+ ```html
63
+ <html data-theme="dark">
64
+ <body>
65
+ <div class="bg-white dark:bg-black">Content</div>
66
+ </body>
67
+ </html>
68
+ ```
69
+
70
+ ## Three-Way Theme Toggle
71
+
72
+ Support light mode, dark mode, and system preference:
73
+
74
+ ```js
75
+ // On page load
76
+ document.documentElement.classList.toggle(
77
+ "dark",
78
+ localStorage.theme === "dark" ||
79
+ (!("theme" in localStorage) &&
80
+ window.matchMedia("(prefers-color-scheme: dark)").matches)
81
+ );
82
+
83
+ // Set light mode
84
+ localStorage.theme = "light";
85
+ document.documentElement.classList.remove("dark");
86
+
87
+ // Set dark mode
88
+ localStorage.theme = "dark";
89
+ document.documentElement.classList.add("dark");
90
+
91
+ // Respect system preference
92
+ localStorage.removeItem("theme");
93
+ document.documentElement.classList.toggle(
94
+ "dark",
95
+ window.matchMedia("(prefers-color-scheme: dark)").matches
96
+ );
97
+ ```
98
+
99
+ ## Common Patterns
100
+
101
+ ### Cards
102
+
103
+ ```html
104
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow-lg dark:shadow-none">
105
+ <h2 class="text-gray-900 dark:text-white">Title</h2>
106
+ <p class="text-gray-500 dark:text-gray-400">Description</p>
107
+ </div>
108
+ ```
109
+
110
+ ### Borders
111
+
112
+ ```html
113
+ <div class="border border-gray-200 dark:border-gray-700">
114
+ Content
115
+ </div>
116
+ ```
117
+
118
+ ### Buttons
119
+
120
+ ```html
121
+ <button class="bg-blue-500 hover:bg-blue-600 dark:bg-blue-600 dark:hover:bg-blue-700 text-white">
122
+ Button
123
+ </button>
124
+ ```
125
+
126
+ ## Key Points
127
+
128
+ - Use `dark:` variant for dark mode styles
129
+ - Default uses `prefers-color-scheme` media query
130
+ - Override with `@custom-variant` for manual toggles
131
+ - Can use class or data attribute selectors
132
+ - Combine with responsive variants: `dark:md:bg-gray-800`
133
+
134
+ <!--
135
+ Source references:
136
+ - https://tailwindcss.com/docs/dark-mode
137
+ -->