@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,111 @@
1
+ ---
2
+ name: visual-effects
3
+ description: Box shadow, opacity, mix-blend, and filter effects
4
+ ---
5
+
6
+ # Effects
7
+
8
+ Utilities for box shadow, opacity, mix-blend, and filters.
9
+
10
+ ## Usage
11
+
12
+ ### Box shadow
13
+
14
+ ```html
15
+ <div class="shadow-sm">Small</div>
16
+ <div class="shadow">Default</div>
17
+ <div class="shadow-md">Medium</div>
18
+ <div class="shadow-lg">Large</div>
19
+ <div class="shadow-xl">Extra large</div>
20
+ <div class="shadow-2xl">2xl</div>
21
+ <div class="shadow-none">None</div>
22
+
23
+ <div class="shadow-lg shadow-blue-500/50">Colored shadow</div>
24
+ <div class="shadow-[0_0_15px_rgba(0,0,0,0.2)]">Arbitrary</div>
25
+ ```
26
+
27
+ ### Opacity
28
+
29
+ ```html
30
+ <div class="opacity-0">Invisible</div>
31
+ <div class="opacity-50">50%</div>
32
+ <div class="opacity-100">Full</div>
33
+ ```
34
+
35
+ ### Mix blend mode
36
+
37
+ ```html
38
+ <div class="mix-blend-normal">Normal</div>
39
+ <div class="mix-blend-multiply">Multiply</div>
40
+ <div class="mix-blend-screen">Screen</div>
41
+ <div class="mix-blend-overlay">Overlay</div>
42
+ ```
43
+
44
+ ### Backdrop blur and filter
45
+
46
+ ```html
47
+ <div class="backdrop-blur-sm">Blur backdrop</div>
48
+ <div class="backdrop-blur-md">Medium blur</div>
49
+ <div class="backdrop-blur-none">No blur</div>
50
+
51
+ <div class="backdrop-opacity-50">Backdrop opacity</div>
52
+ ```
53
+
54
+ ### Filter (blur, brightness, contrast, etc.)
55
+
56
+ ```html
57
+ <div class="blur-sm">Blur</div>
58
+ <div class="brightness-90">Brightness</div>
59
+ <div class="contrast-125">Contrast</div>
60
+ <div class="grayscale">Grayscale</div>
61
+ <div class="invert">Invert</div>
62
+ <div class="sepia">Sepia</div>
63
+ <div class="blur-none">No filter</div>
64
+ ```
65
+
66
+ ### Object fit (images/video)
67
+
68
+ ```html
69
+ <img class="object-contain" /> <!-- Fit within bounds -->
70
+ <img class="object-cover" /> <!-- Cover area, may crop -->
71
+ <img class="object-fill" /> <!-- Stretch -->
72
+ <img class="object-none" /> <!-- No resize -->
73
+ <img class="object-scale-down" /> <!-- contain or none, whichever is smaller -->
74
+ <img class="object-top object-cover" /> <!-- Position -->
75
+ ```
76
+
77
+ ### Drop shadow with colors (v4.1+)
78
+
79
+ ```html
80
+ <svg class="drop-shadow-xl drop-shadow-cyan-500/50">Logo</svg>
81
+ <img class="drop-shadow-lg drop-shadow-blue-500">Image</img>
82
+ ```
83
+
84
+ Drop shadows can now take color utilities and opacity modifiers, just like box shadows.
85
+
86
+ ### Shadow opacity modifiers (v4.1+)
87
+
88
+ All shadow types support opacity modifiers:
89
+
90
+ ```html
91
+ <div class="shadow-lg/50">50% opacity box shadow</div>
92
+ <div class="drop-shadow-xl/75">75% opacity drop shadow</div>
93
+ ```
94
+
95
+ ## Key Points
96
+
97
+ - Shadow: `shadow-{size}`, `shadow-{color}/opacity`, `shadow-none`
98
+ - Shadow opacity: `shadow-lg/50` (v4.1+)
99
+ - Drop shadow colors: `drop-shadow-{color}`, `drop-shadow-{color}/{opacity}` (v4.1+)
100
+ - Opacity: `opacity-{0-100}`
101
+ - Mix blend: `mix-blend-{mode}`
102
+ - Backdrop: `backdrop-blur-*`, `backdrop-opacity-*`
103
+ - Filter: `blur-*`, `brightness-*`, `contrast-*`, `grayscale`, `invert`, `sepia`
104
+ - **v4 scale shift**: v3's `shadow` → v4's `shadow-sm`, v3's `shadow-sm` → v4's `shadow-xs`
105
+
106
+ <!--
107
+ Source references:
108
+ - https://tailwindcss.com/docs/box-shadow
109
+ - https://tailwindcss.com/docs/opacity
110
+ - https://tailwindcss.com/docs/backdrop-blur
111
+ -->
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: visual-svg
3
+ description: Styling SVG elements with fill, stroke, and stroke-width utilities
4
+ ---
5
+
6
+ # SVG Styling
7
+
8
+ Utilities for styling SVG fill and stroke. Essential when working with icon sets like Heroicons.
9
+
10
+ ## Usage
11
+
12
+ ### Fill
13
+
14
+ ```html
15
+ <!-- Theme colors -->
16
+ <svg class="fill-blue-500">...</svg>
17
+ <svg class="fill-indigo-500 hover:fill-indigo-600">...</svg>
18
+
19
+ <!-- Inherit from text color -->
20
+ <button class="text-indigo-600 hover:text-white">
21
+ <svg class="size-5 fill-current">...</svg>
22
+ Check for updates
23
+ </button>
24
+
25
+ <!-- Special values -->
26
+ <svg class="fill-none">...</svg>
27
+ <svg class="fill-inherit">...</svg>
28
+ <svg class="fill-transparent">...</svg>
29
+
30
+ <!-- Custom -->
31
+ <svg class="fill-[#243c5a]">...</svg>
32
+ <svg class="fill-(--my-fill)">...</svg>
33
+ ```
34
+
35
+ ### Stroke
36
+
37
+ ```html
38
+ <!-- Theme colors -->
39
+ <svg class="stroke-cyan-500" fill="none">...</svg>
40
+
41
+ <!-- Inherit from text -->
42
+ <button class="text-pink-600 hover:text-white">
43
+ <svg class="size-5 stroke-current" fill="none">...</svg>
44
+ Download
45
+ </button>
46
+
47
+ <!-- Special values -->
48
+ <svg class="stroke-none stroke-inherit stroke-transparent">...</svg>
49
+ ```
50
+
51
+ ### Stroke width
52
+
53
+ ```html
54
+ <svg class="stroke-1">Thin stroke</svg>
55
+ <svg class="stroke-2">Medium stroke</svg>
56
+ <svg class="stroke-[1.5]">Custom width</svg>
57
+ <svg class="stroke-(length:--my-stroke)">Custom property</svg>
58
+ ```
59
+
60
+ ### Combined
61
+
62
+ ```html
63
+ <svg class="size-6 fill-blue-500 stroke-blue-700 stroke-2" fill="none">
64
+ <!-- Outlined icon with colored stroke -->
65
+ </svg>
66
+ ```
67
+
68
+ ## Key Points
69
+
70
+ - `fill-*` / `stroke-*` - all theme colors (e.g. `fill-red-500`)
71
+ - `fill-current` / `stroke-current` - use current text color (common for icons in buttons)
72
+ - `fill-none` / `stroke-none` - no fill/stroke
73
+ - `stroke-1`, `stroke-2`, etc. - stroke width (number = px)
74
+ - Custom: `fill-[#hex]`, `stroke-(--var)`, `stroke-[1.5]`
75
+ - Use with variants: `hover:fill-blue-600`, `md:stroke-2`
76
+
77
+ <!--
78
+ Source references:
79
+ - https://tailwindcss.com/docs/fill
80
+ - https://tailwindcss.com/docs/stroke
81
+ - https://tailwindcss.com/docs/stroke-width
82
+ -->
@@ -151,15 +151,20 @@ python3 scripts/run_tests.py --apk path/to/app.apk --device emulator-5554 --outp
151
151
 
152
152
  ### Test Execution Without Emulator (Static Mode)
153
153
 
154
- If no emulator is available, Claude can:
155
- 1. Analyze source code / screenshots statically
156
- 2. Write all test scenarios
154
+ If no emulator is available (which is common — most users won't have Appium set up),
155
+ Claude can still provide significant value:
156
+ 1. Analyze source code / screenshots / APK statically
157
+ 2. Generate use cases and write all test scenarios
157
158
  3. Mark execution status as `MANUAL_REQUIRED`
158
- 4. Generate a report with all test cases ready to be run manually
159
+ 4. Generate a comprehensive report with all test cases ready to be run manually
160
+ 5. Provide step-by-step manual testing instructions the user can follow
161
+
162
+ This is the **most common execution path** — don't treat it as a fallback.
163
+ Make the static report just as polished and detailed as the automated one.
159
164
 
160
165
  Use `--static` flag:
161
166
  ```bash
162
- python3 scripts/run_tests.py --static --output results/
167
+ python3 scripts/run_tests.py --static --tests tests.json --output results/
163
168
  ```
164
169
 
165
170
  ---
@@ -208,5 +213,5 @@ Read `references/report-template.md` for report structure details.
208
213
  - **Locators**: Prefer `accessibility id` > `resource-id` > `xpath`. Never use index-based xpath.
209
214
  - **Waits**: Always use explicit waits (`WebDriverWait`), never `time.sleep`.
210
215
  - **Screenshots**: Capture on every assertion failure automatically.
211
- - **Crash detection**: After every interaction, check for crash dialogs (`scripts/crash_detector.py`).
216
+ - **Crash detection**: After every interaction, check for crash dialogs (the `check_for_crash()` function in `scripts/run_tests.py` handles this automatically).
212
217
  - **Language**: Generate use cases and reports in the language the user is using.
@@ -50,10 +50,21 @@ def analyze_apk(apk_path: str) -> dict:
50
50
 
51
51
  # String resources (sample)
52
52
  try:
53
- for lang, strings in apk.get_strings_analysis().items():
54
- sample = list(strings.keys())[:30]
55
- result["strings_sample"] = sample
56
- break
53
+ # Try modern androguard API first, fall back to legacy
54
+ try:
55
+ from androguard.core.axml import AXMLPrinter
56
+ res_parser = apk.get_android_resources()
57
+ if res_parser:
58
+ strings = res_parser.get_resolved_strings()
59
+ if strings:
60
+ for lang_strings in strings.values():
61
+ result["strings_sample"] = list(lang_strings.values())[:30]
62
+ break
63
+ except (ImportError, AttributeError):
64
+ # Fallback: extract string-like values from manifest
65
+ manifest_xml = apk.get_android_manifest_xml()
66
+ if manifest_xml is not None:
67
+ result["strings_sample"] = []
57
68
  except Exception:
58
69
  pass
59
70
 
@@ -44,11 +44,12 @@ def check_appium_python():
44
44
 
45
45
  def check_python_deps():
46
46
  missing = []
47
- for pkg in ["pytest", "jinja2", "PIL"]:
47
+ pkg_map = {"pytest": "pytest", "jinja2": "jinja2", "PIL": "pillow"}
48
+ for import_name, install_name in pkg_map.items():
48
49
  try:
49
- __import__(pkg)
50
+ __import__(import_name)
50
51
  except ImportError:
51
- missing.append(pkg)
52
+ missing.append(install_name)
52
53
  if missing:
53
54
  raise RuntimeError(f"Missing packages: {missing}. Run: pip install {' '.join(missing)} --break-system-packages")
54
55
  return "All Python deps OK"
@@ -66,12 +67,11 @@ def check_avd():
66
67
  def main():
67
68
  checks = [
68
69
  ("ADB", check_adb),
69
- ("Android Emulator Binary", check_emulator),
70
+ ("Android Virtual Devices", check_avd),
70
71
  ("Connected Device/Emulator", check_emulator),
71
72
  ("Appium Server", check_appium_server),
72
73
  ("Appium Python Client", check_appium_python),
73
74
  ("Python Dependencies", check_python_deps),
74
- ("Android Virtual Devices", check_avd),
75
75
  ]
76
76
 
77
77
  print("\n🔍 MOBILE TESTING ENVIRONMENT CHECK")
@@ -81,7 +81,7 @@ def safe_find(driver, by, value, timeout=10):
81
81
  )
82
82
 
83
83
 
84
- def check_for_crash(driver) -> str | None:
84
+ def check_for_crash(driver):
85
85
  """Returns crash message if a crash dialog is detected, else None."""
86
86
  try:
87
87
  # Look for common crash dialog text