@smartsoft001-mobilems/claude-plugins 2.85.0 → 2.87.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 (176) 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-articles/SKILL.md +84 -0
  7. package/plugins/mobilems/skills/mobilems-articles/references/lib-contents.md +164 -0
  8. package/plugins/mobilems/skills/mobilems-articles/references/module-and-routes.md +146 -0
  9. package/plugins/mobilems/skills/mobilems-articles/references/shared-components.md +56 -0
  10. package/plugins/mobilems/skills/mobilems-articles/scripts/detect-init.sh +29 -0
  11. package/plugins/mobilems/skills/mobilems-articles/scripts/verify-module.sh +61 -0
  12. package/plugins/mobilems/skills/mobilems-docs-reader/SKILL.md +116 -0
  13. package/plugins/mobilems/skills/mobilems-events/SKILL.md +65 -0
  14. package/plugins/mobilems/skills/mobilems-events/references/lib-contents.md +212 -0
  15. package/plugins/mobilems/skills/mobilems-events/references/module-and-routes.md +113 -0
  16. package/plugins/mobilems/skills/mobilems-events/scripts/detect-init.sh +29 -0
  17. package/plugins/mobilems/skills/mobilems-events/scripts/verify-module.sh +59 -0
  18. package/plugins/mobilems/skills/mobilems-object-collections/SKILL.md +52 -0
  19. package/plugins/mobilems/skills/mobilems-object-collections/references/lib-contents.md +76 -0
  20. package/plugins/mobilems/skills/mobilems-object-collections/references/module-and-routes.md +116 -0
  21. package/plugins/mobilems/skills/mobilems-object-collections/references/shared-components.md +61 -0
  22. package/plugins/mobilems/skills/mobilems-object-collections/scripts/detect-init.sh +29 -0
  23. package/plugins/mobilems/skills/mobilems-object-collections/scripts/verify-module.sh +44 -0
  24. package/plugins/mobilems/skills/mobilems-objects/SKILL.md +52 -0
  25. package/plugins/mobilems/skills/mobilems-objects/references/lib-contents.md +68 -0
  26. package/plugins/mobilems/skills/mobilems-objects/references/module-and-routes.md +108 -0
  27. package/plugins/mobilems/skills/mobilems-objects/references/shared-components.md +69 -0
  28. package/plugins/mobilems/skills/mobilems-objects/scripts/detect-init.sh +29 -0
  29. package/plugins/mobilems/skills/mobilems-objects/scripts/verify-module.sh +51 -0
  30. package/plugins/mobilems/skills/mobilems-partners/SKILL.md +65 -0
  31. package/plugins/mobilems/skills/mobilems-partners/references/lib-contents.md +160 -0
  32. package/plugins/mobilems/skills/mobilems-partners/references/module-and-routes.md +125 -0
  33. package/plugins/mobilems/skills/mobilems-partners/scripts/detect-init.sh +29 -0
  34. package/plugins/mobilems/skills/mobilems-partners/scripts/verify-module.sh +59 -0
  35. package/plugins/mobilems/skills/mobilems-project-init/SKILL.md +134 -0
  36. package/plugins/mobilems/skills/mobilems-project-init/references/app-shell.md +107 -0
  37. package/plugins/mobilems/skills/mobilems-project-init/references/claude-config.md +44 -0
  38. package/plugins/mobilems/skills/mobilems-project-init/references/config-providers.md +203 -0
  39. package/plugins/mobilems/skills/mobilems-project-init/references/npm-deps.md +66 -0
  40. package/plugins/mobilems/skills/mobilems-project-init/references/server-env.md +89 -0
  41. package/plugins/mobilems/skills/mobilems-project-init/references/shared-lib.md +125 -0
  42. package/plugins/mobilems/skills/mobilems-project-init/references/tailwind-styles.md +106 -0
  43. package/plugins/mobilems/skills/mobilems-project-init/scripts/classify-shared-components.py +114 -0
  44. package/plugins/mobilems/skills/mobilems-project-init/scripts/detect-base.sh +49 -0
  45. package/plugins/mobilems/skills/mobilems-project-init/scripts/verify-init.sh +73 -0
  46. package/plugins/mobilems/skills/mobilems-thematic-publications/SKILL.md +60 -0
  47. package/plugins/mobilems/skills/mobilems-thematic-publications/references/lib-contents.md +134 -0
  48. package/plugins/mobilems/skills/mobilems-thematic-publications/references/module-and-routes.md +107 -0
  49. package/plugins/mobilems/skills/mobilems-thematic-publications/scripts/detect-init.sh +29 -0
  50. package/plugins/mobilems/skills/mobilems-thematic-publications/scripts/verify-module.sh +56 -0
  51. package/plugins/flow/.claude-plugin/README.md +0 -91
  52. package/plugins/flow/.claude-plugin/merge-permissions.js +0 -97
  53. package/plugins/flow/.claude-plugin/plugin.json +0 -5
  54. package/plugins/flow/.claude-plugin/settings.template.json +0 -86
  55. package/plugins/flow/agents/angular-component-scaffolder.md +0 -175
  56. package/plugins/flow/agents/angular-directive-builder.md +0 -153
  57. package/plugins/flow/agents/angular-guard-builder.md +0 -243
  58. package/plugins/flow/agents/angular-jest-test-writer.md +0 -474
  59. package/plugins/flow/agents/angular-pipe-builder.md +0 -169
  60. package/plugins/flow/agents/angular-resolver-builder.md +0 -286
  61. package/plugins/flow/agents/angular-service-builder.md +0 -161
  62. package/plugins/flow/agents/angular-signal-state-builder.md +0 -339
  63. package/plugins/flow/agents/angular-test-diagnostician.md +0 -279
  64. package/plugins/flow/agents/angular-testbed-configurator.md +0 -315
  65. package/plugins/flow/agents/arch-scaffolder.md +0 -278
  66. package/plugins/flow/agents/e2e-data-testid-injector.md +0 -197
  67. package/plugins/flow/agents/e2e-project-scaffolder.md +0 -194
  68. package/plugins/flow/agents/e2e-test-writer.md +0 -350
  69. package/plugins/flow/agents/shared-agent-evolver.md +0 -294
  70. package/plugins/flow/agents/shared-build-verifier.md +0 -160
  71. package/plugins/flow/agents/shared-config-updater.md +0 -310
  72. package/plugins/flow/agents/shared-coverage-enforcer.md +0 -184
  73. package/plugins/flow/agents/shared-error-handler.md +0 -217
  74. package/plugins/flow/agents/shared-file-creator.md +0 -344
  75. package/plugins/flow/agents/shared-impl-orchestrator.md +0 -312
  76. package/plugins/flow/agents/shared-impl-reporter.md +0 -368
  77. package/plugins/flow/agents/shared-impl-teammate.md +0 -201
  78. package/plugins/flow/agents/shared-linear-subtask-iterator.md +0 -337
  79. package/plugins/flow/agents/shared-logic-implementer.md +0 -243
  80. package/plugins/flow/agents/shared-maia-api.md +0 -26
  81. package/plugins/flow/agents/shared-parallelization-analyzer.md +0 -343
  82. package/plugins/flow/agents/shared-performance-validator.md +0 -168
  83. package/plugins/flow/agents/shared-plan-perspective.md +0 -269
  84. package/plugins/flow/agents/shared-project-standardizer.md +0 -205
  85. package/plugins/flow/agents/shared-report-synthesizer.md +0 -188
  86. package/plugins/flow/agents/shared-review-teammate.md +0 -189
  87. package/plugins/flow/agents/shared-security-scanner.md +0 -186
  88. package/plugins/flow/agents/shared-style-enforcer.md +0 -230
  89. package/plugins/flow/agents/shared-subtask-dependency-analyzer.md +0 -188
  90. package/plugins/flow/agents/shared-tdd-developer.md +0 -350
  91. package/plugins/flow/agents/shared-team-coordinator.md +0 -189
  92. package/plugins/flow/agents/shared-test-fixer.md +0 -186
  93. package/plugins/flow/agents/shared-test-runner.md +0 -191
  94. package/plugins/flow/agents/shared-ui-classifier.md +0 -263
  95. package/plugins/flow/agents/shared-verification-orchestrator.md +0 -194
  96. package/plugins/flow/agents/shared-verification-runner.md +0 -140
  97. package/plugins/flow/agents/ui-a11y-validator.md +0 -305
  98. package/plugins/flow/agents/ui-screenshot-reporter.md +0 -329
  99. package/plugins/flow/agents/ui-web-designer.md +0 -214
  100. package/plugins/flow/scripts/compute-session-tokens.sh +0 -39
  101. package/plugins/flow/skills/a11y-audit/SKILL.md +0 -214
  102. package/plugins/flow/skills/angular-patterns/SKILL.md +0 -191
  103. package/plugins/flow/skills/browser-capture/SKILL.md +0 -238
  104. package/plugins/flow/skills/commit/SKILL.md +0 -259
  105. package/plugins/flow/skills/debug-helper/SKILL.md +0 -375
  106. package/plugins/flow/skills/impl/SKILL.md +0 -992
  107. package/plugins/flow/skills/linear-suggestion/SKILL.md +0 -132
  108. package/plugins/flow/skills/maia-files-delete/SKILL.md +0 -59
  109. package/plugins/flow/skills/maia-files-upload/SKILL.md +0 -57
  110. package/plugins/flow/skills/nx-conventions/SKILL.md +0 -326
  111. package/plugins/flow/skills/plan/SKILL.md +0 -1033
  112. package/plugins/flow/skills/push/SKILL.md +0 -759
  113. package/plugins/flow/skills/review/SKILL.md +0 -443
  114. package/plugins/flow/skills/test-e2e/SKILL.md +0 -161
  115. package/plugins/flow/skills/test-unit/SKILL.md +0 -456
  116. package/plugins/flow-external/.claude-plugin/README.md +0 -152
  117. package/plugins/flow-external/.claude-plugin/merge-permissions.js +0 -80
  118. package/plugins/flow-external/.claude-plugin/plugin.json +0 -5
  119. package/plugins/flow-external/.claude-plugin/settings.template.json +0 -78
  120. package/plugins/flow-external/agents/angular-component-scaffolder.md +0 -269
  121. package/plugins/flow-external/agents/angular-directive-builder.md +0 -130
  122. package/plugins/flow-external/agents/angular-guard-builder.md +0 -70
  123. package/plugins/flow-external/agents/angular-pipe-builder.md +0 -82
  124. package/plugins/flow-external/agents/angular-resolver-builder.md +0 -74
  125. package/plugins/flow-external/agents/angular-service-builder.md +0 -160
  126. package/plugins/flow-external/agents/angular-state-builder.md +0 -254
  127. package/plugins/flow-external/agents/shared-build-verifier.md +0 -67
  128. package/plugins/flow-external/agents/shared-impl-orchestrator.md +0 -88
  129. package/plugins/flow-external/agents/shared-impl-reporter.md +0 -135
  130. package/plugins/flow-external/agents/shared-linear-subtask-iterator.md +0 -70
  131. package/plugins/flow-external/agents/shared-ui-classifier.md +0 -38
  132. package/plugins/flow-external/agents/ui-web-designer.md +0 -179
  133. package/plugins/flow-external/scripts/compute-session-tokens.sh +0 -39
  134. package/plugins/flow-external/skills/a11y-audit/SKILL.md +0 -96
  135. package/plugins/flow-external/skills/angular-cli-conventions/SKILL.md +0 -267
  136. package/plugins/flow-external/skills/angular-patterns/SKILL.md +0 -170
  137. package/plugins/flow-external/skills/browser-capture/SKILL.md +0 -68
  138. package/plugins/flow-external/skills/commit/SKILL.md +0 -114
  139. package/plugins/flow-external/skills/debug-helper/SKILL.md +0 -131
  140. package/plugins/flow-external/skills/impl/SKILL.md +0 -217
  141. package/plugins/flow-external/skills/linear-suggestion/SKILL.md +0 -62
  142. package/plugins/flow-external/skills/maia-files-delete/SKILL.md +0 -34
  143. package/plugins/flow-external/skills/maia-files-upload/SKILL.md +0 -41
  144. package/plugins/flow-external/skills/plan/SKILL.md +0 -334
  145. package/plugins/flow-external/skills/push/SKILL.md +0 -232
  146. package/plugins/flow-legacy/.claude-plugin/README.md +0 -143
  147. package/plugins/flow-legacy/.claude-plugin/merge-permissions.js +0 -94
  148. package/plugins/flow-legacy/.claude-plugin/plugin.json +0 -5
  149. package/plugins/flow-legacy/.claude-plugin/settings.template.json +0 -79
  150. package/plugins/flow-legacy/agents/angular-component-scaffolder.md +0 -323
  151. package/plugins/flow-legacy/agents/angular-directive-builder.md +0 -258
  152. package/plugins/flow-legacy/agents/angular-guard-builder.md +0 -322
  153. package/plugins/flow-legacy/agents/angular-pipe-builder.md +0 -227
  154. package/plugins/flow-legacy/agents/angular-resolver-builder.md +0 -332
  155. package/plugins/flow-legacy/agents/angular-service-builder.md +0 -271
  156. package/plugins/flow-legacy/agents/angular-state-builder.md +0 -479
  157. package/plugins/flow-legacy/agents/shared-impl-orchestrator.md +0 -174
  158. package/plugins/flow-legacy/agents/shared-impl-reporter.md +0 -232
  159. package/plugins/flow-legacy/agents/shared-linear-subtask-iterator.md +0 -187
  160. package/plugins/flow-legacy/agents/shared-tdd-developer.md +0 -306
  161. package/plugins/flow-legacy/agents/shared-test-runner.md +0 -131
  162. package/plugins/flow-legacy/agents/shared-ui-classifier.md +0 -145
  163. package/plugins/flow-legacy/scripts/compute-session-tokens.sh +0 -39
  164. package/plugins/flow-legacy/skills/a11y-audit/SKILL.md +0 -214
  165. package/plugins/flow-legacy/skills/angular-patterns/SKILL.md +0 -346
  166. package/plugins/flow-legacy/skills/browser-capture/SKILL.md +0 -238
  167. package/plugins/flow-legacy/skills/commit/SKILL.md +0 -215
  168. package/plugins/flow-legacy/skills/debug-helper/SKILL.md +0 -395
  169. package/plugins/flow-legacy/skills/impl/SKILL.md +0 -710
  170. package/plugins/flow-legacy/skills/linear-suggestion/SKILL.md +0 -132
  171. package/plugins/flow-legacy/skills/maia-files-delete/SKILL.md +0 -59
  172. package/plugins/flow-legacy/skills/maia-files-upload/SKILL.md +0 -57
  173. package/plugins/flow-legacy/skills/nx-conventions/SKILL.md +0 -368
  174. package/plugins/flow-legacy/skills/plan/SKILL.md +0 -742
  175. package/plugins/flow-legacy/skills/push/SKILL.md +0 -645
  176. package/plugins/flow-legacy/skills/test-unit/SKILL.md +0 -500
@@ -1,131 +0,0 @@
1
- ---
2
- name: shared-test-runner
3
- description: Run tests for specified projects and report results.
4
- tools: Bash, Read, Glob
5
- model: haiku
6
- color: "#22C55E"
7
- ---
8
-
9
- You are an expert at running and analyzing test results.
10
-
11
- ## Primary Responsibility
12
-
13
- Run tests for specified projects and provide clear reports of results.
14
-
15
- ## When to Use
16
-
17
- - After implementing changes (TDD GREEN phase)
18
- - During verification phase
19
- - When checking test coverage
20
-
21
- ## Commands
22
-
23
- ### Run Single Project Tests
24
-
25
- ```bash
26
- nx test <project-name> --coverage
27
- ```
28
-
29
- ### Run Tests for Specific File
30
-
31
- ```bash
32
- nx test <project-name> --testPathPattern="<file-pattern>"
33
- ```
34
-
35
- ### Run All Affected Tests
36
-
37
- ```bash
38
- nx affected:test --base=main
39
- ```
40
-
41
- ## Report Format
42
-
43
- ### Success Report
44
-
45
- ```markdown
46
- ## ✅ Test Results
47
-
48
- **Project**: [project-name]
49
- **Status**: PASSED
50
-
51
- ### Summary
52
-
53
- | Metric | Value |
54
- |--------|-------|
55
- | Test Suites | X passed |
56
- | Tests | Y passed |
57
- | Coverage | Z% |
58
-
59
- ### Coverage Details
60
-
61
- | File | Statements | Branches | Functions | Lines |
62
- |------|------------|----------|-----------|-------|
63
- | `file1.ts` | 100% | 100% | 100% | 100% |
64
- | `file2.ts` | 95% | 90% | 100% | 95% |
65
-
66
- ### Time
67
-
68
- - Duration: X.XXs
69
-
70
- ---
71
-
72
- _Test run by shared-test-runner (flow-legacy)_
73
- ```
74
-
75
- ### Failure Report
76
-
77
- ```markdown
78
- ## ❌ Test Results
79
-
80
- **Project**: [project-name]
81
- **Status**: FAILED
82
-
83
- ### Failed Tests
84
-
85
- | Test Suite | Test | Error |
86
- |------------|------|-------|
87
- | `FeatureService` | should calculate total | Expected 30, got undefined |
88
-
89
- ### Error Details
90
-
91
- ```
92
- FAIL libs/feature/src/lib/feature.service.spec.ts
93
- ● FeatureService › should calculate total
94
-
95
- expect(received).toBe(expected)
96
-
97
- Expected: 30
98
- Received: undefined
99
-
100
- 12 | const result = service.calculateTotal(items);
101
- 13 |
102
- > 14 | expect(result).toBe(30);
103
- | ^
104
- 15 | });
105
- ```
106
-
107
- ### Recommendations
108
-
109
- 1. Check if `calculateTotal` method exists
110
- 2. Verify method implementation
111
- 3. Check for typos in method name
112
-
113
- ---
114
-
115
- _Test run by shared-test-runner (flow-legacy)_
116
- ```
117
-
118
- ## Coverage Requirements
119
-
120
- For legacy projects, aim for:
121
- - **Statements**: 80%+
122
- - **Branches**: 75%+
123
- - **Functions**: 80%+
124
- - **Lines**: 80%+
125
-
126
- ## Checklist
127
-
128
- - [ ] Tests executed successfully
129
- - [ ] Coverage reported
130
- - [ ] Failed tests documented
131
- - [ ] Recommendations provided for failures
@@ -1,145 +0,0 @@
1
- ---
2
- name: shared-ui-classifier
3
- description: Classify whether a task involves UI changes and requires screenshots.
4
- tools: Read, Glob, Grep
5
- model: haiku
6
- color: '#8B5CF6'
7
- ---
8
-
9
- You are an expert at classifying tasks to determine if they involve UI changes.
10
-
11
- ## Primary Responsibility
12
-
13
- Analyze implementation plans and determine if the task involves UI changes that require screenshot documentation.
14
-
15
- ## When to Use
16
-
17
- - Before starting any implementation
18
- - To determine if screenshots are needed
19
-
20
- ## Classification Rules
21
-
22
- ### UI Change: YES
23
-
24
- Files that indicate UI changes:
25
-
26
- - `*.component.ts` - Angular components
27
- - `*.component.html` - Templates
28
- - `*.component.scss` / `*.component.css` - Styles
29
- - `*.directive.ts` - Directives affecting DOM
30
- - `*.pipe.ts` - Pipes used in templates
31
- - Any file in `components/`, `containers/`, `pages/`
32
-
33
- Keywords that indicate UI changes:
34
-
35
- - "widok" / "view"
36
- - "formularz" / "form"
37
- - "button" / "przycisk"
38
- - "modal" / "dialog"
39
- - "lista" / "list"
40
- - "tabela" / "table"
41
- - "styl" / "style"
42
- - "layout"
43
- - "responsive"
44
-
45
- ### UI Change: NO
46
-
47
- Files that DON'T indicate UI changes:
48
-
49
- - `*.service.ts` (services without UI)
50
- - `*.guard.ts` (route guards)
51
- - `*.resolver.ts` (route resolvers)
52
- - `*.interceptor.ts` (HTTP interceptors)
53
- - `*.model.ts` / `*.interface.ts` (types)
54
- - `*.spec.ts` (tests only)
55
- - `*.module.ts` (module registration only)
56
- - Configuration files
57
-
58
- Keywords that indicate NO UI changes:
59
-
60
- - "backend"
61
- - "api"
62
- - "serwis" / "service"
63
- - "logika" / "logic"
64
- - "walidacja" / "validation" (backend)
65
- - "konfiguracja" / "configuration"
66
-
67
- ## Output Format
68
-
69
- ```markdown
70
- ## 🎯 Change Type Classification
71
-
72
- **Task**: [ID] - [Title]
73
-
74
- ### Analysis
75
-
76
- **Files to modify:**
77
-
78
- - `path/to/file1.component.ts` → UI file ✅
79
- - `path/to/file2.service.ts` → Backend file ❌
80
-
81
- **Keywords found:**
82
-
83
- - "formularz" → UI keyword ✅
84
-
85
- ### Decision
86
-
87
- **UI_CHANGE_REQUIRED: YES**
88
-
89
- ### Screenshot Plan
90
-
91
- - **Page(s) to capture**: `/path/to/page`
92
- - **Before screenshots**: PENDING
93
- - **After screenshots**: PENDING
94
-
95
- ---
96
-
97
- _Classification by shared-ui-classifier (flow-legacy)_
98
- ```
99
-
100
- Or for non-UI changes:
101
-
102
- ```markdown
103
- ## 🎯 Change Type Classification
104
-
105
- **Task**: [ID] - [Title]
106
-
107
- ### Analysis
108
-
109
- **Files to modify:**
110
-
111
- - `path/to/file1.service.ts` → Backend file ❌
112
- - `path/to/file2.guard.ts` → Backend file ❌
113
-
114
- **Keywords found:**
115
-
116
- - "api" → Backend keyword ❌
117
-
118
- ### Decision
119
-
120
- **UI_CHANGE_REQUIRED: NO**
121
-
122
- ### Reason
123
-
124
- Backend-only changes (services, guards). No visual components affected.
125
-
126
- ---
127
-
128
- _Classification by shared-ui-classifier (flow-legacy)_
129
- ```
130
-
131
- ## Input Format
132
-
133
- ```
134
- Task ID: [task ID]
135
- Task Title: [title]
136
- Implementation Plan: [files to modify and steps summary]
137
- ```
138
-
139
- ## Checklist
140
-
141
- - [ ] All files analyzed
142
- - [ ] Keywords checked
143
- - [ ] Clear YES/NO decision
144
- - [ ] Screenshot plan if YES
145
- - [ ] Reason documented if NO
@@ -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 '"'
@@ -1,214 +0,0 @@
1
- ---
2
- name: a11y-audit
3
- description: Run accessibility audits on web pages. Ensures dev server is running, navigates to pages, captures accessibility snapshots, and runs axe-core tests.
4
- allowed-tools:
5
- - Bash
6
- - Read
7
- - Glob
8
- - mcp__playwright__browser_navigate
9
- - mcp__playwright__browser_snapshot
10
- - mcp__playwright__browser_evaluate
11
- - mcp__playwright__browser_close
12
- ---
13
-
14
- # Accessibility Audit Skill
15
-
16
- Run accessibility audits on web pages using Playwright and axe-core. Automatically ensures the development server is running before auditing.
17
-
18
- ## Capabilities
19
-
20
- 1. **Server Management**: Check if dev server is running, start if needed
21
- 2. **Page Navigation**: Navigate to specified URLs using Playwright
22
- 3. **Accessibility Snapshot**: Capture accessibility tree for analysis
23
- 4. **Axe-core Testing**: Run automated accessibility tests
24
-
25
- ## Server Management
26
-
27
- ### Read Port Configuration
28
-
29
- ```bash
30
- # Default port location (Nx 14 / Angular 14 project)
31
- grep -o '"port":[^,}]*' apps/web/project.json | head -1
32
- # Default: 4200
33
- ```
34
-
35
- ### Check if Server is Running
36
-
37
- ```bash
38
- lsof -i :4200 -t
39
- ```
40
-
41
- - If returns PID -> server is running
42
- - If returns nothing -> server needs to be started
43
-
44
- ### Start Server if Needed
45
-
46
- ```bash
47
- # Start in background (Nx 14 / @nrwl)
48
- npm start &
49
-
50
- # Wait for server to be ready
51
- for i in {1..15}; do
52
- curl -s http://localhost:4200 > /dev/null && break
53
- sleep 2
54
- done
55
- ```
56
-
57
- ## Audit Process
58
-
59
- ### 1. Ensure Server is Running
60
-
61
- Before any audit:
62
-
63
- 1. Read port from `apps/web/project.json` (default: 4200)
64
- 2. Check if port is occupied: `lsof -i :PORT -t`
65
- 3. If not running: `npm start &` and wait ~15 seconds
66
-
67
- ### 2. Navigate to Page
68
-
69
- Use `mcp__playwright__browser_navigate` to open the target URL.
70
-
71
- ```
72
- URL format: http://localhost:{port}/{path}
73
- ```
74
-
75
- ### 3. Capture Accessibility Snapshot
76
-
77
- Use `mcp__playwright__browser_snapshot` to get the accessibility tree.
78
-
79
- This provides:
80
-
81
- - Element roles and names
82
- - ARIA attributes
83
- - Focus states
84
- - Interactive element information
85
-
86
- ### 4. Run Axe-core Audit
87
-
88
- Use `mcp__playwright__browser_evaluate` to inject and run axe-core:
89
-
90
- ```javascript
91
- // Example evaluation code
92
- async () => {
93
- // Load axe-core from CDN
94
- const script = document.createElement('script');
95
- script.src =
96
- 'https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.8.2/axe.min.js';
97
- document.head.appendChild(script);
98
-
99
- await new Promise((resolve) => (script.onload = resolve));
100
-
101
- // Run audit
102
- const results = await axe.run();
103
- return {
104
- violations: results.violations,
105
- passes: results.passes.length,
106
- incomplete: results.incomplete,
107
- };
108
- };
109
- ```
110
-
111
- ## Usage Examples
112
-
113
- ### Full Page Audit
114
-
115
- ```
116
- Input: { path: "/articles" }
117
-
118
- Process:
119
- 1. Check server running on port 4200
120
- 2. Start if needed, wait for ready
121
- 3. Navigate to http://localhost:4200/articles
122
- 4. Capture accessibility snapshot
123
- 5. Run axe-core audit
124
- 6. Return violations and recommendations
125
-
126
- Output:
127
- {
128
- "url": "http://localhost:4200/articles",
129
- "snapshot": { ... accessibility tree ... },
130
- "violations": [
131
- {
132
- "id": "image-alt",
133
- "impact": "critical",
134
- "description": "Images must have alternate text",
135
- "nodes": [...]
136
- }
137
- ],
138
- "passes": 45,
139
- "incomplete": 2
140
- }
141
- ```
142
-
143
- ### Quick Check
144
-
145
- ```
146
- Input: { path: "/", snapshotOnly: true }
147
-
148
- Output:
149
- {
150
- "url": "http://localhost:4200/",
151
- "snapshot": { ... accessibility tree ... }
152
- }
153
- ```
154
-
155
- ## Report Format
156
-
157
- When generating reports, use this structure:
158
-
159
- ```markdown
160
- ## Accessibility Audit Report
161
-
162
- **Page**: [URL]
163
- **Date**: [Date]
164
- **Standard**: WCAG 2.1 Level AA
165
-
166
- ### Critical Issues (Must Fix)
167
-
168
- | Issue | Elements | WCAG | Fix |
169
- | ----------- | -------- | ----- | ------------------------ |
170
- | Missing alt | 3 images | 1.1.1 | Add descriptive alt text |
171
-
172
- ### Serious Issues (Should Fix)
173
-
174
- | Issue | Elements | WCAG | Fix |
175
- | ------------ | ---------- | ----- | ---------------- |
176
- | Low contrast | 2 elements | 1.4.3 | Use darker color |
177
-
178
- ### Passed Checks
179
-
180
- - [x] Page has lang attribute
181
- - [x] Headings in correct order
182
- - [x] Form inputs have labels
183
-
184
- ### Summary
185
-
186
- - Violations: X critical, Y serious, Z minor
187
- - Passed: N checks
188
- ```
189
-
190
- ## Error Handling
191
-
192
- ### Server Won't Start
193
-
194
- If server fails to start after 30 seconds:
195
-
196
- 1. Check for port conflicts
197
- 2. Check npm logs for errors
198
- 3. Report error and skip audit
199
-
200
- ### Axe-core Load Fails
201
-
202
- If axe-core fails to load:
203
-
204
- 1. Check network connectivity
205
- 2. Try alternative CDN
206
- 3. Fall back to snapshot-only audit
207
-
208
- ### Navigation Fails
209
-
210
- If page doesn't load:
211
-
212
- 1. Verify URL is correct
213
- 2. Check for JavaScript errors
214
- 3. Report partial results