@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.
- package/.claude-plugin/marketplace.json +2 -6
- package/package.json +2 -2
- package/plugins/mobilems/.claude-plugin/README.md +30 -0
- package/plugins/mobilems/.claude-plugin/plugin.json +5 -0
- package/plugins/mobilems/scripts/refresh-mobilems-api-spec.sh +372 -0
- package/plugins/mobilems/skills/mobilems-articles/SKILL.md +84 -0
- package/plugins/mobilems/skills/mobilems-articles/references/lib-contents.md +164 -0
- package/plugins/mobilems/skills/mobilems-articles/references/module-and-routes.md +146 -0
- package/plugins/mobilems/skills/mobilems-articles/references/shared-components.md +56 -0
- package/plugins/mobilems/skills/mobilems-articles/scripts/detect-init.sh +29 -0
- package/plugins/mobilems/skills/mobilems-articles/scripts/verify-module.sh +61 -0
- package/plugins/mobilems/skills/mobilems-docs-reader/SKILL.md +116 -0
- package/plugins/mobilems/skills/mobilems-events/SKILL.md +65 -0
- package/plugins/mobilems/skills/mobilems-events/references/lib-contents.md +212 -0
- package/plugins/mobilems/skills/mobilems-events/references/module-and-routes.md +113 -0
- package/plugins/mobilems/skills/mobilems-events/scripts/detect-init.sh +29 -0
- package/plugins/mobilems/skills/mobilems-events/scripts/verify-module.sh +59 -0
- package/plugins/mobilems/skills/mobilems-object-collections/SKILL.md +52 -0
- package/plugins/mobilems/skills/mobilems-object-collections/references/lib-contents.md +76 -0
- package/plugins/mobilems/skills/mobilems-object-collections/references/module-and-routes.md +116 -0
- package/plugins/mobilems/skills/mobilems-object-collections/references/shared-components.md +61 -0
- package/plugins/mobilems/skills/mobilems-object-collections/scripts/detect-init.sh +29 -0
- package/plugins/mobilems/skills/mobilems-object-collections/scripts/verify-module.sh +44 -0
- package/plugins/mobilems/skills/mobilems-objects/SKILL.md +52 -0
- package/plugins/mobilems/skills/mobilems-objects/references/lib-contents.md +68 -0
- package/plugins/mobilems/skills/mobilems-objects/references/module-and-routes.md +108 -0
- package/plugins/mobilems/skills/mobilems-objects/references/shared-components.md +69 -0
- package/plugins/mobilems/skills/mobilems-objects/scripts/detect-init.sh +29 -0
- package/plugins/mobilems/skills/mobilems-objects/scripts/verify-module.sh +51 -0
- package/plugins/mobilems/skills/mobilems-partners/SKILL.md +65 -0
- package/plugins/mobilems/skills/mobilems-partners/references/lib-contents.md +160 -0
- package/plugins/mobilems/skills/mobilems-partners/references/module-and-routes.md +125 -0
- package/plugins/mobilems/skills/mobilems-partners/scripts/detect-init.sh +29 -0
- package/plugins/mobilems/skills/mobilems-partners/scripts/verify-module.sh +59 -0
- package/plugins/mobilems/skills/mobilems-project-init/SKILL.md +134 -0
- package/plugins/mobilems/skills/mobilems-project-init/references/app-shell.md +107 -0
- package/plugins/mobilems/skills/mobilems-project-init/references/claude-config.md +44 -0
- package/plugins/mobilems/skills/mobilems-project-init/references/config-providers.md +203 -0
- package/plugins/mobilems/skills/mobilems-project-init/references/npm-deps.md +66 -0
- package/plugins/mobilems/skills/mobilems-project-init/references/server-env.md +89 -0
- package/plugins/mobilems/skills/mobilems-project-init/references/shared-lib.md +125 -0
- package/plugins/mobilems/skills/mobilems-project-init/references/tailwind-styles.md +106 -0
- package/plugins/mobilems/skills/mobilems-project-init/scripts/classify-shared-components.py +114 -0
- package/plugins/mobilems/skills/mobilems-project-init/scripts/detect-base.sh +49 -0
- package/plugins/mobilems/skills/mobilems-project-init/scripts/verify-init.sh +73 -0
- package/plugins/mobilems/skills/mobilems-thematic-publications/SKILL.md +60 -0
- package/plugins/mobilems/skills/mobilems-thematic-publications/references/lib-contents.md +134 -0
- package/plugins/mobilems/skills/mobilems-thematic-publications/references/module-and-routes.md +107 -0
- package/plugins/mobilems/skills/mobilems-thematic-publications/scripts/detect-init.sh +29 -0
- package/plugins/mobilems/skills/mobilems-thematic-publications/scripts/verify-module.sh +56 -0
- package/plugins/flow/.claude-plugin/README.md +0 -91
- package/plugins/flow/.claude-plugin/merge-permissions.js +0 -97
- package/plugins/flow/.claude-plugin/plugin.json +0 -5
- package/plugins/flow/.claude-plugin/settings.template.json +0 -86
- package/plugins/flow/agents/angular-component-scaffolder.md +0 -175
- package/plugins/flow/agents/angular-directive-builder.md +0 -153
- package/plugins/flow/agents/angular-guard-builder.md +0 -243
- package/plugins/flow/agents/angular-jest-test-writer.md +0 -474
- package/plugins/flow/agents/angular-pipe-builder.md +0 -169
- package/plugins/flow/agents/angular-resolver-builder.md +0 -286
- package/plugins/flow/agents/angular-service-builder.md +0 -161
- package/plugins/flow/agents/angular-signal-state-builder.md +0 -339
- package/plugins/flow/agents/angular-test-diagnostician.md +0 -279
- package/plugins/flow/agents/angular-testbed-configurator.md +0 -315
- package/plugins/flow/agents/arch-scaffolder.md +0 -278
- package/plugins/flow/agents/e2e-data-testid-injector.md +0 -197
- package/plugins/flow/agents/e2e-project-scaffolder.md +0 -194
- package/plugins/flow/agents/e2e-test-writer.md +0 -350
- package/plugins/flow/agents/shared-agent-evolver.md +0 -294
- package/plugins/flow/agents/shared-build-verifier.md +0 -160
- package/plugins/flow/agents/shared-config-updater.md +0 -310
- package/plugins/flow/agents/shared-coverage-enforcer.md +0 -184
- package/plugins/flow/agents/shared-error-handler.md +0 -217
- package/plugins/flow/agents/shared-file-creator.md +0 -344
- package/plugins/flow/agents/shared-impl-orchestrator.md +0 -312
- package/plugins/flow/agents/shared-impl-reporter.md +0 -368
- package/plugins/flow/agents/shared-impl-teammate.md +0 -201
- package/plugins/flow/agents/shared-linear-subtask-iterator.md +0 -337
- package/plugins/flow/agents/shared-logic-implementer.md +0 -243
- package/plugins/flow/agents/shared-maia-api.md +0 -26
- package/plugins/flow/agents/shared-parallelization-analyzer.md +0 -343
- package/plugins/flow/agents/shared-performance-validator.md +0 -168
- package/plugins/flow/agents/shared-plan-perspective.md +0 -269
- package/plugins/flow/agents/shared-project-standardizer.md +0 -205
- package/plugins/flow/agents/shared-report-synthesizer.md +0 -188
- package/plugins/flow/agents/shared-review-teammate.md +0 -189
- package/plugins/flow/agents/shared-security-scanner.md +0 -186
- package/plugins/flow/agents/shared-style-enforcer.md +0 -230
- package/plugins/flow/agents/shared-subtask-dependency-analyzer.md +0 -188
- package/plugins/flow/agents/shared-tdd-developer.md +0 -350
- package/plugins/flow/agents/shared-team-coordinator.md +0 -189
- package/plugins/flow/agents/shared-test-fixer.md +0 -186
- package/plugins/flow/agents/shared-test-runner.md +0 -191
- package/plugins/flow/agents/shared-ui-classifier.md +0 -263
- package/plugins/flow/agents/shared-verification-orchestrator.md +0 -194
- package/plugins/flow/agents/shared-verification-runner.md +0 -140
- package/plugins/flow/agents/ui-a11y-validator.md +0 -305
- package/plugins/flow/agents/ui-screenshot-reporter.md +0 -329
- package/plugins/flow/agents/ui-web-designer.md +0 -214
- package/plugins/flow/scripts/compute-session-tokens.sh +0 -39
- package/plugins/flow/skills/a11y-audit/SKILL.md +0 -214
- package/plugins/flow/skills/angular-patterns/SKILL.md +0 -191
- package/plugins/flow/skills/browser-capture/SKILL.md +0 -238
- package/plugins/flow/skills/commit/SKILL.md +0 -259
- package/plugins/flow/skills/debug-helper/SKILL.md +0 -375
- package/plugins/flow/skills/impl/SKILL.md +0 -992
- package/plugins/flow/skills/linear-suggestion/SKILL.md +0 -132
- package/plugins/flow/skills/maia-files-delete/SKILL.md +0 -59
- package/plugins/flow/skills/maia-files-upload/SKILL.md +0 -57
- package/plugins/flow/skills/nx-conventions/SKILL.md +0 -326
- package/plugins/flow/skills/plan/SKILL.md +0 -1033
- package/plugins/flow/skills/push/SKILL.md +0 -759
- package/plugins/flow/skills/review/SKILL.md +0 -443
- package/plugins/flow/skills/test-e2e/SKILL.md +0 -161
- package/plugins/flow/skills/test-unit/SKILL.md +0 -456
- package/plugins/flow-external/.claude-plugin/README.md +0 -152
- package/plugins/flow-external/.claude-plugin/merge-permissions.js +0 -80
- package/plugins/flow-external/.claude-plugin/plugin.json +0 -5
- package/plugins/flow-external/.claude-plugin/settings.template.json +0 -78
- package/plugins/flow-external/agents/angular-component-scaffolder.md +0 -269
- package/plugins/flow-external/agents/angular-directive-builder.md +0 -130
- package/plugins/flow-external/agents/angular-guard-builder.md +0 -70
- package/plugins/flow-external/agents/angular-pipe-builder.md +0 -82
- package/plugins/flow-external/agents/angular-resolver-builder.md +0 -74
- package/plugins/flow-external/agents/angular-service-builder.md +0 -160
- package/plugins/flow-external/agents/angular-state-builder.md +0 -254
- package/plugins/flow-external/agents/shared-build-verifier.md +0 -67
- package/plugins/flow-external/agents/shared-impl-orchestrator.md +0 -88
- package/plugins/flow-external/agents/shared-impl-reporter.md +0 -135
- package/plugins/flow-external/agents/shared-linear-subtask-iterator.md +0 -70
- package/plugins/flow-external/agents/shared-ui-classifier.md +0 -38
- package/plugins/flow-external/agents/ui-web-designer.md +0 -179
- package/plugins/flow-external/scripts/compute-session-tokens.sh +0 -39
- package/plugins/flow-external/skills/a11y-audit/SKILL.md +0 -96
- package/plugins/flow-external/skills/angular-cli-conventions/SKILL.md +0 -267
- package/plugins/flow-external/skills/angular-patterns/SKILL.md +0 -170
- package/plugins/flow-external/skills/browser-capture/SKILL.md +0 -68
- package/plugins/flow-external/skills/commit/SKILL.md +0 -114
- package/plugins/flow-external/skills/debug-helper/SKILL.md +0 -131
- package/plugins/flow-external/skills/impl/SKILL.md +0 -217
- package/plugins/flow-external/skills/linear-suggestion/SKILL.md +0 -62
- package/plugins/flow-external/skills/maia-files-delete/SKILL.md +0 -34
- package/plugins/flow-external/skills/maia-files-upload/SKILL.md +0 -41
- package/plugins/flow-external/skills/plan/SKILL.md +0 -334
- package/plugins/flow-external/skills/push/SKILL.md +0 -232
- package/plugins/flow-legacy/.claude-plugin/README.md +0 -143
- package/plugins/flow-legacy/.claude-plugin/merge-permissions.js +0 -94
- package/plugins/flow-legacy/.claude-plugin/plugin.json +0 -5
- package/plugins/flow-legacy/.claude-plugin/settings.template.json +0 -79
- package/plugins/flow-legacy/agents/angular-component-scaffolder.md +0 -323
- package/plugins/flow-legacy/agents/angular-directive-builder.md +0 -258
- package/plugins/flow-legacy/agents/angular-guard-builder.md +0 -322
- package/plugins/flow-legacy/agents/angular-pipe-builder.md +0 -227
- package/plugins/flow-legacy/agents/angular-resolver-builder.md +0 -332
- package/plugins/flow-legacy/agents/angular-service-builder.md +0 -271
- package/plugins/flow-legacy/agents/angular-state-builder.md +0 -479
- package/plugins/flow-legacy/agents/shared-impl-orchestrator.md +0 -174
- package/plugins/flow-legacy/agents/shared-impl-reporter.md +0 -232
- package/plugins/flow-legacy/agents/shared-linear-subtask-iterator.md +0 -187
- package/plugins/flow-legacy/agents/shared-tdd-developer.md +0 -306
- package/plugins/flow-legacy/agents/shared-test-runner.md +0 -131
- package/plugins/flow-legacy/agents/shared-ui-classifier.md +0 -145
- package/plugins/flow-legacy/scripts/compute-session-tokens.sh +0 -39
- package/plugins/flow-legacy/skills/a11y-audit/SKILL.md +0 -214
- package/plugins/flow-legacy/skills/angular-patterns/SKILL.md +0 -346
- package/plugins/flow-legacy/skills/browser-capture/SKILL.md +0 -238
- package/plugins/flow-legacy/skills/commit/SKILL.md +0 -215
- package/plugins/flow-legacy/skills/debug-helper/SKILL.md +0 -395
- package/plugins/flow-legacy/skills/impl/SKILL.md +0 -710
- package/plugins/flow-legacy/skills/linear-suggestion/SKILL.md +0 -132
- package/plugins/flow-legacy/skills/maia-files-delete/SKILL.md +0 -59
- package/plugins/flow-legacy/skills/maia-files-upload/SKILL.md +0 -57
- package/plugins/flow-legacy/skills/nx-conventions/SKILL.md +0 -368
- package/plugins/flow-legacy/skills/plan/SKILL.md +0 -742
- package/plugins/flow-legacy/skills/push/SKILL.md +0 -645
- 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
|