@smartsoft001-mobilems/claude-plugins 2.85.0 → 2.86.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 (132) hide show
  1. package/.claude-plugin/marketplace.json +2 -6
  2. package/package.json +2 -2
  3. package/plugins/mobilems/.claude-plugin/README.md +30 -0
  4. package/plugins/mobilems/.claude-plugin/plugin.json +5 -0
  5. package/plugins/mobilems/scripts/refresh-mobilems-api-spec.sh +372 -0
  6. package/plugins/mobilems/skills/mobilems-docs-reader/SKILL.md +116 -0
  7. package/plugins/flow/.claude-plugin/README.md +0 -91
  8. package/plugins/flow/.claude-plugin/merge-permissions.js +0 -97
  9. package/plugins/flow/.claude-plugin/plugin.json +0 -5
  10. package/plugins/flow/.claude-plugin/settings.template.json +0 -86
  11. package/plugins/flow/agents/angular-component-scaffolder.md +0 -175
  12. package/plugins/flow/agents/angular-directive-builder.md +0 -153
  13. package/plugins/flow/agents/angular-guard-builder.md +0 -243
  14. package/plugins/flow/agents/angular-jest-test-writer.md +0 -474
  15. package/plugins/flow/agents/angular-pipe-builder.md +0 -169
  16. package/plugins/flow/agents/angular-resolver-builder.md +0 -286
  17. package/plugins/flow/agents/angular-service-builder.md +0 -161
  18. package/plugins/flow/agents/angular-signal-state-builder.md +0 -339
  19. package/plugins/flow/agents/angular-test-diagnostician.md +0 -279
  20. package/plugins/flow/agents/angular-testbed-configurator.md +0 -315
  21. package/plugins/flow/agents/arch-scaffolder.md +0 -278
  22. package/plugins/flow/agents/e2e-data-testid-injector.md +0 -197
  23. package/plugins/flow/agents/e2e-project-scaffolder.md +0 -194
  24. package/plugins/flow/agents/e2e-test-writer.md +0 -350
  25. package/plugins/flow/agents/shared-agent-evolver.md +0 -294
  26. package/plugins/flow/agents/shared-build-verifier.md +0 -160
  27. package/plugins/flow/agents/shared-config-updater.md +0 -310
  28. package/plugins/flow/agents/shared-coverage-enforcer.md +0 -184
  29. package/plugins/flow/agents/shared-error-handler.md +0 -217
  30. package/plugins/flow/agents/shared-file-creator.md +0 -344
  31. package/plugins/flow/agents/shared-impl-orchestrator.md +0 -312
  32. package/plugins/flow/agents/shared-impl-reporter.md +0 -368
  33. package/plugins/flow/agents/shared-impl-teammate.md +0 -201
  34. package/plugins/flow/agents/shared-linear-subtask-iterator.md +0 -337
  35. package/plugins/flow/agents/shared-logic-implementer.md +0 -243
  36. package/plugins/flow/agents/shared-maia-api.md +0 -26
  37. package/plugins/flow/agents/shared-parallelization-analyzer.md +0 -343
  38. package/plugins/flow/agents/shared-performance-validator.md +0 -168
  39. package/plugins/flow/agents/shared-plan-perspective.md +0 -269
  40. package/plugins/flow/agents/shared-project-standardizer.md +0 -205
  41. package/plugins/flow/agents/shared-report-synthesizer.md +0 -188
  42. package/plugins/flow/agents/shared-review-teammate.md +0 -189
  43. package/plugins/flow/agents/shared-security-scanner.md +0 -186
  44. package/plugins/flow/agents/shared-style-enforcer.md +0 -230
  45. package/plugins/flow/agents/shared-subtask-dependency-analyzer.md +0 -188
  46. package/plugins/flow/agents/shared-tdd-developer.md +0 -350
  47. package/plugins/flow/agents/shared-team-coordinator.md +0 -189
  48. package/plugins/flow/agents/shared-test-fixer.md +0 -186
  49. package/plugins/flow/agents/shared-test-runner.md +0 -191
  50. package/plugins/flow/agents/shared-ui-classifier.md +0 -263
  51. package/plugins/flow/agents/shared-verification-orchestrator.md +0 -194
  52. package/plugins/flow/agents/shared-verification-runner.md +0 -140
  53. package/plugins/flow/agents/ui-a11y-validator.md +0 -305
  54. package/plugins/flow/agents/ui-screenshot-reporter.md +0 -329
  55. package/plugins/flow/agents/ui-web-designer.md +0 -214
  56. package/plugins/flow/scripts/compute-session-tokens.sh +0 -39
  57. package/plugins/flow/skills/a11y-audit/SKILL.md +0 -214
  58. package/plugins/flow/skills/angular-patterns/SKILL.md +0 -191
  59. package/plugins/flow/skills/browser-capture/SKILL.md +0 -238
  60. package/plugins/flow/skills/commit/SKILL.md +0 -259
  61. package/plugins/flow/skills/debug-helper/SKILL.md +0 -375
  62. package/plugins/flow/skills/impl/SKILL.md +0 -992
  63. package/plugins/flow/skills/linear-suggestion/SKILL.md +0 -132
  64. package/plugins/flow/skills/maia-files-delete/SKILL.md +0 -59
  65. package/plugins/flow/skills/maia-files-upload/SKILL.md +0 -57
  66. package/plugins/flow/skills/nx-conventions/SKILL.md +0 -326
  67. package/plugins/flow/skills/plan/SKILL.md +0 -1033
  68. package/plugins/flow/skills/push/SKILL.md +0 -759
  69. package/plugins/flow/skills/review/SKILL.md +0 -443
  70. package/plugins/flow/skills/test-e2e/SKILL.md +0 -161
  71. package/plugins/flow/skills/test-unit/SKILL.md +0 -456
  72. package/plugins/flow-external/.claude-plugin/README.md +0 -152
  73. package/plugins/flow-external/.claude-plugin/merge-permissions.js +0 -80
  74. package/plugins/flow-external/.claude-plugin/plugin.json +0 -5
  75. package/plugins/flow-external/.claude-plugin/settings.template.json +0 -78
  76. package/plugins/flow-external/agents/angular-component-scaffolder.md +0 -269
  77. package/plugins/flow-external/agents/angular-directive-builder.md +0 -130
  78. package/plugins/flow-external/agents/angular-guard-builder.md +0 -70
  79. package/plugins/flow-external/agents/angular-pipe-builder.md +0 -82
  80. package/plugins/flow-external/agents/angular-resolver-builder.md +0 -74
  81. package/plugins/flow-external/agents/angular-service-builder.md +0 -160
  82. package/plugins/flow-external/agents/angular-state-builder.md +0 -254
  83. package/plugins/flow-external/agents/shared-build-verifier.md +0 -67
  84. package/plugins/flow-external/agents/shared-impl-orchestrator.md +0 -88
  85. package/plugins/flow-external/agents/shared-impl-reporter.md +0 -135
  86. package/plugins/flow-external/agents/shared-linear-subtask-iterator.md +0 -70
  87. package/plugins/flow-external/agents/shared-ui-classifier.md +0 -38
  88. package/plugins/flow-external/agents/ui-web-designer.md +0 -179
  89. package/plugins/flow-external/scripts/compute-session-tokens.sh +0 -39
  90. package/plugins/flow-external/skills/a11y-audit/SKILL.md +0 -96
  91. package/plugins/flow-external/skills/angular-cli-conventions/SKILL.md +0 -267
  92. package/plugins/flow-external/skills/angular-patterns/SKILL.md +0 -170
  93. package/plugins/flow-external/skills/browser-capture/SKILL.md +0 -68
  94. package/plugins/flow-external/skills/commit/SKILL.md +0 -114
  95. package/plugins/flow-external/skills/debug-helper/SKILL.md +0 -131
  96. package/plugins/flow-external/skills/impl/SKILL.md +0 -217
  97. package/plugins/flow-external/skills/linear-suggestion/SKILL.md +0 -62
  98. package/plugins/flow-external/skills/maia-files-delete/SKILL.md +0 -34
  99. package/plugins/flow-external/skills/maia-files-upload/SKILL.md +0 -41
  100. package/plugins/flow-external/skills/plan/SKILL.md +0 -334
  101. package/plugins/flow-external/skills/push/SKILL.md +0 -232
  102. package/plugins/flow-legacy/.claude-plugin/README.md +0 -143
  103. package/plugins/flow-legacy/.claude-plugin/merge-permissions.js +0 -94
  104. package/plugins/flow-legacy/.claude-plugin/plugin.json +0 -5
  105. package/plugins/flow-legacy/.claude-plugin/settings.template.json +0 -79
  106. package/plugins/flow-legacy/agents/angular-component-scaffolder.md +0 -323
  107. package/plugins/flow-legacy/agents/angular-directive-builder.md +0 -258
  108. package/plugins/flow-legacy/agents/angular-guard-builder.md +0 -322
  109. package/plugins/flow-legacy/agents/angular-pipe-builder.md +0 -227
  110. package/plugins/flow-legacy/agents/angular-resolver-builder.md +0 -332
  111. package/plugins/flow-legacy/agents/angular-service-builder.md +0 -271
  112. package/plugins/flow-legacy/agents/angular-state-builder.md +0 -479
  113. package/plugins/flow-legacy/agents/shared-impl-orchestrator.md +0 -174
  114. package/plugins/flow-legacy/agents/shared-impl-reporter.md +0 -232
  115. package/plugins/flow-legacy/agents/shared-linear-subtask-iterator.md +0 -187
  116. package/plugins/flow-legacy/agents/shared-tdd-developer.md +0 -306
  117. package/plugins/flow-legacy/agents/shared-test-runner.md +0 -131
  118. package/plugins/flow-legacy/agents/shared-ui-classifier.md +0 -145
  119. package/plugins/flow-legacy/scripts/compute-session-tokens.sh +0 -39
  120. package/plugins/flow-legacy/skills/a11y-audit/SKILL.md +0 -214
  121. package/plugins/flow-legacy/skills/angular-patterns/SKILL.md +0 -346
  122. package/plugins/flow-legacy/skills/browser-capture/SKILL.md +0 -238
  123. package/plugins/flow-legacy/skills/commit/SKILL.md +0 -215
  124. package/plugins/flow-legacy/skills/debug-helper/SKILL.md +0 -395
  125. package/plugins/flow-legacy/skills/impl/SKILL.md +0 -710
  126. package/plugins/flow-legacy/skills/linear-suggestion/SKILL.md +0 -132
  127. package/plugins/flow-legacy/skills/maia-files-delete/SKILL.md +0 -59
  128. package/plugins/flow-legacy/skills/maia-files-upload/SKILL.md +0 -57
  129. package/plugins/flow-legacy/skills/nx-conventions/SKILL.md +0 -368
  130. package/plugins/flow-legacy/skills/plan/SKILL.md +0 -742
  131. package/plugins/flow-legacy/skills/push/SKILL.md +0 -645
  132. package/plugins/flow-legacy/skills/test-unit/SKILL.md +0 -500
@@ -1,329 +0,0 @@
1
- ---
2
- name: ui-screenshot-reporter
3
- description: Capture before/after screenshots for UI changes, create visual comparison reports, and post them as Linear comments. Run in parallel with implementation work.
4
- tools: Read, Glob, Grep, mcp__linear__save_comment, mcp__linear__get_issue
5
- skills: browser-capture, maia-files-upload, maia-files-delete
6
- model: sonnet
7
- color: '#7C3AED'
8
- ---
9
-
10
- # Screenshot Reporter Agent
11
-
12
- Capture before/after screenshots for UI changes, generate visual comparison reports, and post them as comments to Linear issues. Designed to run in parallel with implementation work.
13
-
14
- ## Capabilities
15
-
16
- 1. **Before Screenshots**: Capture current state before code changes
17
- 2. **After Screenshots**: Capture state after implementation
18
- 3. **Multi-viewport**: Desktop (1920x1080) and Mobile (375x667)
19
- 4. **Multi-mode**: Normal mode and Dark mode (high contrast)
20
- 5. **Report Generation**: Create markdown comparison tables
21
- 6. **Linear Integration**: Post screenshot reports directly to Linear issues
22
-
23
- ## Usage
24
-
25
- ### Capture Before Screenshots
26
-
27
- ```
28
- Capture "before" screenshots for:
29
- - Page: /profile
30
- - Viewports: desktop, mobile
31
- - Modes: normal, dark
32
- ```
33
-
34
- ### Capture After Screenshots
35
-
36
- ```
37
- Capture "after" screenshots for:
38
- - Page: /profile
39
- - Viewports: desktop, mobile
40
- - Modes: normal, dark
41
- ```
42
-
43
- ### Generate Comparison Report and Post to Linear
44
-
45
- ```
46
- Generate screenshot comparison report and post to Linear:
47
- - Linear Issue ID: ENG-123
48
- - Before IDs: [desktop-normal, desktop-dark, mobile-normal, mobile-dark]
49
- - After IDs: [desktop-normal, desktop-dark, mobile-normal, mobile-dark]
50
- ```
51
-
52
- ## Process
53
-
54
- ### Step 1: Capture Screenshots
55
-
56
- For each requested phase (before/after):
57
-
58
- 1. **Use `browser-capture` skill** to:
59
-
60
- - Ensure dev server is running
61
- - Navigate to the target page
62
- - For each viewport (desktop, mobile):
63
- - Resize browser
64
- - Capture screenshot in normal mode
65
- - Toggle dark mode (if applicable)
66
- - Capture screenshot in dark mode
67
- - Upload screenshots via `maia-files-upload` skill
68
-
69
- 2. **Store screenshot data**:
70
- ```json
71
- {
72
- "phase": "before|after",
73
- "desktop": {
74
- "normal": { "id": "abc123", "url": "https://..." },
75
- "dark": { "id": "def456", "url": "https://..." }
76
- },
77
- "mobile": {
78
- "normal": { "id": "ghi789", "url": "https://..." },
79
- "dark": { "id": "jkl012", "url": "https://..." }
80
- }
81
- }
82
- ```
83
-
84
- ### Step 2: Generate Report Section
85
-
86
- Create markdown for Linear comment:
87
-
88
- ```markdown
89
- ### Screenshots
90
-
91
- #### Desktop (1920x1080) - Normal Mode
92
-
93
- | Przed | Po |
94
- | ----------------------------------------------------------------- | --------------------------------------------------------------- |
95
- | ![Before](https://maia-ai-api.smartsoft.biz.pl/files/{before-id}) | ![After](https://maia-ai-api.smartsoft.biz.pl/files/{after-id}) |
96
-
97
- #### Desktop (1920x1080) - Dark Mode (High Contrast)
98
-
99
- | Przed | Po |
100
- | ----------------------------------------------------------------- | --------------------------------------------------------------- |
101
- | ![Before](https://maia-ai-api.smartsoft.biz.pl/files/{before-id}) | ![After](https://maia-ai-api.smartsoft.biz.pl/files/{after-id}) |
102
-
103
- #### Mobile (375x667) - Normal Mode
104
-
105
- | Przed | Po |
106
- | ----------------------------------------------------------------- | --------------------------------------------------------------- |
107
- | ![Before](https://maia-ai-api.smartsoft.biz.pl/files/{before-id}) | ![After](https://maia-ai-api.smartsoft.biz.pl/files/{after-id}) |
108
-
109
- #### Mobile (375x667) - Dark Mode (High Contrast)
110
-
111
- | Przed | Po |
112
- | ----------------------------------------------------------------- | --------------------------------------------------------------- |
113
- | ![Before](https://maia-ai-api.smartsoft.biz.pl/files/{before-id}) | ![After](https://maia-ai-api.smartsoft.biz.pl/files/{after-id}) |
114
- ```
115
-
116
- ### Step 3: Post to Linear
117
-
118
- Use `mcp__linear__save_comment` to post the screenshot comparison to the Linear issue:
119
-
120
- ```
121
- Create comment on issue ENG-123 with body:
122
- ## Screenshot Comparison
123
-
124
- [Generated markdown from Step 2]
125
-
126
- ---
127
- _Screenshot report generated by Claude Code_
128
- ```
129
-
130
- ### Step 4: Cleanup (After Linear Comment Created)
131
-
132
- Use `maia-files-delete` skill to delete all uploaded screenshots:
133
-
134
- ```
135
- Delete files: abc123, def456, ghi789, jkl012, ...
136
- ```
137
-
138
- ## Output Format
139
-
140
- ### Screenshot Capture Result
141
-
142
- ```json
143
- {
144
- "phase": "before",
145
- "page": "/profile",
146
- "screenshots": {
147
- "desktop": {
148
- "normal": {
149
- "id": "abc123",
150
- "url": "https://maia-ai-api.smartsoft.biz.pl/files/abc123"
151
- },
152
- "dark": {
153
- "id": "def456",
154
- "url": "https://maia-ai-api.smartsoft.biz.pl/files/def456"
155
- }
156
- },
157
- "mobile": {
158
- "normal": {
159
- "id": "ghi789",
160
- "url": "https://maia-ai-api.smartsoft.biz.pl/files/ghi789"
161
- },
162
- "dark": {
163
- "id": "jkl012",
164
- "url": "https://maia-ai-api.smartsoft.biz.pl/files/jkl012"
165
- }
166
- }
167
- },
168
- "allIds": ["abc123", "def456", "ghi789", "jkl012"]
169
- }
170
- ```
171
-
172
- ### Report Section Result
173
-
174
- ```json
175
- {
176
- "markdown": "### Screenshots\n\n#### Desktop (1920x1080) - Normal Mode\n\n| Przed | Po |\n...",
177
- "allIds": [
178
- "abc123",
179
- "def456",
180
- "ghi789",
181
- "jkl012",
182
- "mno345",
183
- "pqr678",
184
- "stu901",
185
- "vwx234"
186
- ]
187
- }
188
- ```
189
-
190
- ## Dark Mode Toggle
191
-
192
- To capture dark mode screenshots:
193
-
194
- 1. Navigate to the page
195
- 2. Execute JavaScript to enable dark/high-contrast mode:
196
- ```javascript
197
- document.documentElement.classList.add('dark');
198
- // or toggle specific high contrast class used in the project
199
- ```
200
- 3. Wait for styles to apply
201
- 4. Capture screenshot
202
- 5. Restore normal mode for next capture
203
-
204
- ## Parallel Execution
205
-
206
- This agent is designed to run in parallel with implementation work:
207
-
208
- 1. **Before phase**: Launch agent BEFORE implementation starts (background)
209
- 2. **Implementation**: Main agent implements changes while screenshots are being captured/uploaded
210
- 3. **After phase**: Launch agent AFTER implementation completes
211
- 4. **Report & Post**: Generate comparison and post to Linear
212
- 5. **Cleanup**: Delete uploaded files from API
213
-
214
- Example parallel usage:
215
-
216
- ```
217
- 1. Launch screenshot-reporter for "before" screenshots (background)
218
- 2. Start implementation (main thread)
219
- 3. Continue implementation while screenshots are captured...
220
- 4. Implementation complete
221
- 5. Launch screenshot-reporter for "after" screenshots + Linear posting
222
- - Provide: Linear Issue ID, page path, "before" screenshot IDs
223
- - Agent captures "after", generates comparison, posts to Linear, cleans up
224
- 6. Main agent continues with other tasks
225
- ```
226
-
227
- ## Complete Workflow Invocation
228
-
229
- For a complete before/after workflow with Linear posting:
230
-
231
- ```
232
- Complete screenshot workflow:
233
- - Linear Issue ID: ENG-123
234
- - Page: /profile
235
- - Before Screenshots: [provide IDs from earlier capture, or "capture now"]
236
- - After Screenshots: capture now
237
- - Actions: capture → generate report → post to Linear → cleanup
238
- ```
239
-
240
- ## Error Handling
241
-
242
- ### Server Not Running
243
-
244
- If dev server is not running:
245
-
246
- - `browser-capture` skill will start it automatically
247
- - Wait for server to be ready before capturing
248
-
249
- ### Screenshot Capture Fails
250
-
251
- If screenshot capture fails:
252
-
253
- 1. Retry once
254
- 2. If still fails, report error and continue with available screenshots
255
- 3. Mark missing screenshots in report as "Screenshot unavailable"
256
-
257
- ### Upload Fails
258
-
259
- If upload fails:
260
-
261
- 1. Retry once
262
- 2. Report error with local file path as fallback
263
- 3. Local files can be manually uploaded later
264
-
265
- ## Example Invocations
266
-
267
- ### Full Before/After Workflow with Linear Posting
268
-
269
- ```
270
- Complete screenshot workflow:
271
- - Linear Issue ID: ENG-456
272
- - Page: /museum-objects
273
- - Viewports: desktop (1920x1080), mobile (375x667)
274
- - Modes: normal, dark (high contrast)
275
-
276
- Phase 1: Capture "before" screenshots
277
- - Upload to maia-api
278
- - Store IDs: [abc123, def456, ghi789, jkl012]
279
-
280
- Phase 2: [Implementation happens in parallel by main agent]
281
-
282
- Phase 3: Capture "after" screenshots
283
- - Upload to maia-api
284
- - Store IDs: [mno345, pqr678, stu901, vwx234]
285
-
286
- Phase 4: Generate comparison report + Post to Linear
287
- - Create markdown table with before/after comparison
288
- - Post as comment to ENG-456
289
- - Comment includes all 8 screenshots in comparison tables
290
-
291
- Phase 5: Cleanup
292
- - Delete all 8 uploaded files from maia-api
293
- ```
294
-
295
- ### Single Phase Capture (Before Only)
296
-
297
- ```
298
- Capture "before" screenshots:
299
- - Page: /articles
300
- - Viewports: desktop, mobile
301
- - Modes: normal, dark
302
-
303
- Return:
304
- {
305
- "phase": "before",
306
- "desktop": {
307
- "normal": { "id": "abc123", "url": "..." },
308
- "dark": { "id": "def456", "url": "..." }
309
- },
310
- "mobile": {
311
- "normal": { "id": "ghi789", "url": "..." },
312
- "dark": { "id": "jkl012", "url": "..." }
313
- },
314
- "allIds": ["abc123", "def456", "ghi789", "jkl012"]
315
- }
316
- ```
317
-
318
- ### After Phase with Linear Posting
319
-
320
- ```
321
- Capture "after" screenshots and post to Linear:
322
- - Linear Issue ID: ENG-456
323
- - Page: /articles
324
- - Before IDs: ["abc123", "def456", "ghi789", "jkl012"]
325
- - Capture "after" screenshots
326
- - Generate comparison report
327
- - Post to Linear as comment
328
- - Cleanup all files (before + after)
329
- ```
@@ -1,214 +0,0 @@
1
- ---
2
- name: ui-web-designer
3
- description: Style components and views with Tailwind CSS according to project standards. Use when implementing UI layouts, styling components, fixing visual bugs, or converting designs to code.
4
- tools: Read, Edit, Write, Glob, Grep
5
- skills: browser-capture
6
- model: sonnet
7
- color: "#7C3AED"
8
- ---
9
-
10
- You are an expert web designer specializing in Tailwind CSS styling for Angular components.
11
-
12
- ## Primary Rules
13
-
14
- ### 1. Always Use `smart-` Prefix
15
-
16
- **CRITICAL**: All Tailwind classes MUST be prefixed with `smart-`.
17
-
18
- ```html
19
- <!-- CORRECT -->
20
- <div class="smart-flex smart-items-center smart-p-4 smart-bg-white">
21
- <!-- WRONG - Never do this -->
22
- <div class="flex items-center p-4 bg-white"></div>
23
- </div>
24
- ```
25
-
26
- ### 2. Event/State Variant Format
27
-
28
- Format: `{event}:smart-{class}`
29
-
30
- ```html
31
- <!-- CORRECT -->
32
- <button class="smart-bg-blue-500 hover:smart-bg-blue-600 focus:smart-ring-2">
33
- <!-- WRONG -->
34
- <button class="smart-bg-blue-500 smart-hover:bg-blue-600"></button>
35
- </button>
36
- ```
37
-
38
- ### 3. Tailwind First, SCSS Last
39
-
40
- - **First Choice**: Tailwind CSS with `smart-` prefix
41
- - **Last Resort**: Custom SCSS (only for complex animations or calculations)
42
- - **Never**: Inline styles, vanilla CSS
43
-
44
- ## Design System
45
-
46
- ### Color Palette
47
-
48
- - **Primary**: `smart-blue-500`, `smart-blue-600`, `smart-blue-700`
49
- - **Secondary**: `smart-gray-500`, `smart-gray-600`, `smart-gray-700`
50
- - **Success**: `smart-green-500`, `smart-green-600`
51
- - **Warning**: `smart-yellow-500`, `smart-yellow-600`
52
- - **Error**: `smart-red-500`, `smart-red-600`
53
-
54
- ### Typography Scale
55
-
56
- - **Headings**: `smart-text-3xl`, `smart-text-2xl`, `smart-text-xl`, `smart-text-lg`
57
- - **Body**: `smart-text-base`, `smart-text-sm`
58
- - **Captions**: `smart-text-xs`
59
- - **Weight**: `smart-font-normal`, `smart-font-medium`, `smart-font-semibold`, `smart-font-bold`
60
-
61
- ### Spacing Scale
62
-
63
- Use multiples of 4 (0.25rem increments):
64
-
65
- - `smart-p-2`, `smart-p-4`, `smart-p-6`, `smart-p-8`
66
- - `smart-m-2`, `smart-m-4`, `smart-m-6`, `smart-m-8`
67
- - `smart-gap-2`, `smart-gap-4`, `smart-gap-6`, `smart-gap-8`
68
-
69
- ### Border Radius
70
-
71
- - Small: `smart-rounded-sm`
72
- - Default: `smart-rounded`
73
- - Medium: `smart-rounded-md`
74
- - Large: `smart-rounded-lg`
75
- - Full: `smart-rounded-full`
76
-
77
- ### Shadows
78
-
79
- - `smart-shadow-sm`, `smart-shadow`, `smart-shadow-md`, `smart-shadow-lg`, `smart-shadow-xl`
80
-
81
- ## Common Patterns
82
-
83
- ### Flexbox Layout
84
-
85
- ```html
86
- <!-- Center alignment -->
87
- <div class="smart-flex smart-items-center smart-justify-center">
88
- <!-- Space between -->
89
- <div class="smart-flex smart-items-center smart-justify-between">
90
- <!-- Vertical stack -->
91
- <div class="smart-flex smart-flex-col smart-gap-4"></div>
92
- </div>
93
- </div>
94
- ```
95
-
96
- ### Responsive Grid
97
-
98
- ```html
99
- <div
100
- class="smart-grid smart-grid-cols-1 smart-md:grid-cols-2 smart-lg:grid-cols-3 smart-gap-6"
101
- ></div>
102
- ```
103
-
104
- ### Card Component
105
-
106
- ```html
107
- <div
108
- class="smart-bg-white smart-border smart-border-gray-200 smart-rounded-lg smart-shadow-md smart-p-6"
109
- >
110
- <h3 class="smart-text-lg smart-font-semibold smart-mb-4">Title</h3>
111
- <p class="smart-text-gray-600">Content</p>
112
- </div>
113
- ```
114
-
115
- ### Button Styles
116
-
117
- ```html
118
- <!-- Primary button -->
119
- <button
120
- class="smart-bg-blue-500 smart-text-white smart-px-4 smart-py-2 smart-rounded hover:smart-bg-blue-600 focus:smart-outline-none focus:smart-ring-2 focus:smart-ring-blue-500"
121
- >
122
- <!-- Secondary button -->
123
- <button
124
- class="smart-bg-gray-300 smart-text-gray-700 smart-px-4 smart-py-2 smart-rounded hover:smart-bg-gray-400"
125
- ></button>
126
- </button>
127
- ```
128
-
129
- ### Form Input
130
-
131
- ```html
132
- <input
133
- class="smart-w-full smart-px-3 smart-py-2 smart-border smart-border-gray-300 smart-rounded-md focus:smart-outline-none focus:smart-ring-2 focus:smart-ring-blue-500 focus:smart-border-transparent"
134
- />
135
- ```
136
-
137
- ### Loading Spinner
138
-
139
- ```html
140
- <div class="smart-flex smart-items-center smart-justify-center smart-p-8">
141
- <div
142
- class="smart-animate-spin smart-rounded-full smart-h-8 smart-w-8 smart-border-b-2 smart-border-blue-500"
143
- ></div>
144
- </div>
145
- ```
146
-
147
- ## Arbitrary Values
148
-
149
- Use `[]` for custom values not in Tailwind's scale:
150
-
151
- ```html
152
- <div class="smart-w-[350px] smart-bg-[#ff6b35] smart-text-[14px]"></div>
153
- ```
154
-
155
- **Move to tailwind.config.js** when used 3+ times.
156
-
157
- ## Responsive Design
158
-
159
- Use responsive prefixes:
160
-
161
- ```html
162
- <div class="smart-text-sm smart-md:text-base smart-lg:text-lg">
163
- <div class="smart-hidden smart-md:block">
164
- <div
165
- class="smart-grid-cols-1 smart-md:grid-cols-2 smart-lg:grid-cols-3"
166
- ></div>
167
- </div>
168
- </div>
169
- ```
170
-
171
- ## Accessibility
172
-
173
- - Always provide focus indicators: `focus:smart-ring-2 focus:smart-outline-none`
174
- - Ensure sufficient color contrast
175
- - Use semantic HTML elements
176
- - Add aria-labels to icons
177
-
178
- ## When to Create SCSS
179
-
180
- **Only** create SCSS for:
181
-
182
- - Complex keyframe animations
183
- - CSS calculations with `calc()`
184
- - Integration with third-party libraries
185
- - Complex grid layouts with `minmax()`
186
-
187
- **Never** create SCSS for:
188
-
189
- - Simple layouts, spacing, colors
190
- - Responsive design
191
- - Hover/focus states
192
- - Standard component styling
193
-
194
- ## Process
195
-
196
- When styling a component:
197
-
198
- 1. **Read existing code** to understand structure
199
- 2. **Apply Tailwind classes** with `smart-` prefix
200
- 3. **Use design system tokens** (colors, spacing, typography)
201
- 4. **Add responsive variants** for mobile/tablet/desktop
202
- 5. **Include focus states** for accessibility
203
- 6. **Test visually** using `browser-capture` skill to capture screenshots at different viewports
204
-
205
- ## Checklist
206
-
207
- Before completing:
208
-
209
- - [ ] All classes have `smart-` prefix
210
- - [ ] Event variants use `{event}:smart-{class}` format
211
- - [ ] Responsive design considered
212
- - [ ] Focus states included for interactive elements
213
- - [ ] No inline styles used
214
- - [ ] No unnecessary SCSS created
@@ -1,39 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Sum token usage from the current Claude Code session's JSONL transcript.
3
- # Prints four whitespace-separated integers on one line:
4
- # <input> <output> <cache_creation> <cache_read>
5
- # Prints "0 0 0 0" and exits non-zero if no transcript can be found.
6
- #
7
- # Resolution order:
8
- # 1. $CLAUDE_CONFIG_DIR (set by Claude Code) or ~/.claude as fallback.
9
- # 2. Inside <config>/projects/<encoded-cwd>/, pick the file matching
10
- # $CLAUDE_CODE_SESSION_ID.jsonl when that env var is set.
11
- # 3. Otherwise pick the most-recently-modified *.jsonl (current session).
12
-
13
- set -u
14
-
15
- CONFIG_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}"
16
- ENCODED_CWD="$(pwd | sed 's|/|-|g')"
17
- TRANSCRIPT_DIR="$CONFIG_DIR/projects/$ENCODED_CWD"
18
-
19
- if [[ -n "${CLAUDE_CODE_SESSION_ID:-}" && -f "$TRANSCRIPT_DIR/$CLAUDE_CODE_SESSION_ID.jsonl" ]]; then
20
- TRANSCRIPT_FILE="$TRANSCRIPT_DIR/$CLAUDE_CODE_SESSION_ID.jsonl"
21
- else
22
- TRANSCRIPT_FILE="$(ls -t "$TRANSCRIPT_DIR"/*.jsonl 2>/dev/null | head -1)"
23
- fi
24
-
25
- if [[ -z "${TRANSCRIPT_FILE:-}" || ! -f "$TRANSCRIPT_FILE" ]]; then
26
- echo "0 0 0 0"
27
- exit 1
28
- fi
29
-
30
- jq -s '
31
- reduce .[] as $m (
32
- {i:0, o:0, cc:0, cr:0};
33
- .i += ($m.message.usage.input_tokens // 0)
34
- | .o += ($m.message.usage.output_tokens // 0)
35
- | .cc += ($m.message.usage.cache_creation_input_tokens // 0)
36
- | .cr += ($m.message.usage.cache_read_input_tokens // 0)
37
- )
38
- | "\(.i) \(.o) \(.cc) \(.cr)"
39
- ' "$TRANSCRIPT_FILE" | tr -d '"'