@ryuenn3123/agentic-senior-core 2.0.5 → 2.0.8
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/.agent-context/blueprints/mobile-app.md +91 -21
- package/.agent-context/profiles/platform.md +13 -13
- package/.agent-context/profiles/regulated.md +13 -13
- package/.agent-context/profiles/startup.md +13 -13
- package/.agent-context/prompts/review-code.md +3 -3
- package/.agent-context/review-checklists/frontend-skill-parity.md +28 -28
- package/.agent-context/review-checklists/frontend-usability.md +33 -33
- package/.agent-context/review-checklists/pr-checklist.md +11 -6
- package/.agent-context/review-checklists/release-operations.md +29 -29
- package/.agent-context/rules/api-docs.md +34 -0
- package/.agent-context/skills/README.md +62 -62
- package/.agent-context/skills/backend/README.md +67 -67
- package/.agent-context/skills/backend/architecture.md +360 -360
- package/.agent-context/skills/backend/compatibility-manifest.json +8 -8
- package/.agent-context/skills/backend/data-access.md +230 -230
- package/.agent-context/skills/backend/errors.md +137 -137
- package/.agent-context/skills/backend/validation.md +116 -116
- package/.agent-context/skills/backend.md +28 -28
- package/.agent-context/skills/cli/README.md +55 -49
- package/.agent-context/skills/cli/compatibility-manifest.json +8 -8
- package/.agent-context/skills/cli/init.md +37 -37
- package/.agent-context/skills/cli/output.md +35 -35
- package/.agent-context/skills/cli/safety-telemetry.md +39 -0
- package/.agent-context/skills/cli/upgrade.md +37 -37
- package/.agent-context/skills/cli.md +31 -28
- package/.agent-context/skills/distribution/.evidence/compatibility-manifest.json +9 -0
- package/.agent-context/skills/distribution/.evidence/sbom-excerpt.json +6 -0
- package/.agent-context/skills/distribution/.evidence/test-report.json +8 -0
- package/.agent-context/skills/distribution/CHANGELOG.md +7 -0
- package/.agent-context/skills/distribution/README.md +27 -19
- package/.agent-context/skills/distribution/compatibility-manifest.json +8 -8
- package/.agent-context/skills/distribution/compatibility.md +31 -31
- package/.agent-context/skills/distribution/package.json +5 -0
- package/.agent-context/skills/distribution/provenance-attestation.md +47 -0
- package/.agent-context/skills/distribution/publish.md +36 -36
- package/.agent-context/skills/distribution/rollback.md +31 -31
- package/.agent-context/skills/distribution/tests/.gitkeep +1 -0
- package/.agent-context/skills/distribution.md +31 -28
- package/.agent-context/skills/frontend/.evidence/compatibility-manifest.json +9 -0
- package/.agent-context/skills/frontend/.evidence/sbom-excerpt.json +6 -0
- package/.agent-context/skills/frontend/.evidence/test-report.json +8 -0
- package/.agent-context/skills/frontend/CHANGELOG.md +7 -0
- package/.agent-context/skills/frontend/README.md +49 -36
- package/.agent-context/skills/frontend/accessibility.md +107 -107
- package/.agent-context/skills/frontend/compatibility-manifest.json +8 -8
- package/.agent-context/skills/frontend/conversion-clarity.md +51 -0
- package/.agent-context/skills/frontend/motion.md +66 -66
- package/.agent-context/skills/frontend/package.json +5 -0
- package/.agent-context/skills/frontend/performance.md +62 -62
- package/.agent-context/skills/frontend/responsive-delivery.md +41 -0
- package/.agent-context/skills/frontend/tests/.gitkeep +1 -0
- package/.agent-context/skills/frontend/ui-architecture.md +128 -128
- package/.agent-context/skills/frontend.md +35 -29
- package/.agent-context/skills/fullstack/.evidence/compatibility-manifest.json +9 -0
- package/.agent-context/skills/fullstack/.evidence/sbom-excerpt.json +6 -0
- package/.agent-context/skills/fullstack/.evidence/test-report.json +8 -0
- package/.agent-context/skills/fullstack/CHANGELOG.md +7 -0
- package/.agent-context/skills/fullstack/README.md +27 -19
- package/.agent-context/skills/fullstack/compatibility-manifest.json +8 -8
- package/.agent-context/skills/fullstack/contracts.md +52 -52
- package/.agent-context/skills/fullstack/end-to-end.md +41 -41
- package/.agent-context/skills/fullstack/feature-slicing.md +64 -64
- package/.agent-context/skills/fullstack/package.json +5 -0
- package/.agent-context/skills/fullstack/release-coordination.md +51 -0
- package/.agent-context/skills/fullstack/tests/.gitkeep +1 -0
- package/.agent-context/skills/fullstack.md +29 -26
- package/.agent-context/skills/index.json +107 -107
- package/.agent-context/skills/review-quality/.evidence/compatibility-manifest.json +9 -0
- package/.agent-context/skills/review-quality/.evidence/sbom-excerpt.json +6 -0
- package/.agent-context/skills/review-quality/.evidence/test-report.json +8 -0
- package/.agent-context/skills/review-quality/CHANGELOG.md +7 -0
- package/.agent-context/skills/review-quality/README.md +27 -19
- package/.agent-context/skills/review-quality/benchmark.md +29 -29
- package/.agent-context/skills/review-quality/compatibility-manifest.json +8 -8
- package/.agent-context/skills/review-quality/package.json +5 -0
- package/.agent-context/skills/review-quality/planning.md +37 -37
- package/.agent-context/skills/review-quality/release-decision.md +49 -0
- package/.agent-context/skills/review-quality/security.md +33 -33
- package/.agent-context/skills/review-quality/tests/.gitkeep +1 -0
- package/.agent-context/skills/review-quality.md +33 -27
- package/.agent-context/stacks/flutter.md +16 -16
- package/.agent-context/stacks/react-native.md +16 -16
- package/.agent-context/state/architecture-map.md +25 -25
- package/.agent-context/state/benchmark-analysis.json +431 -431
- package/.agent-context/state/benchmark-thresholds.json +10 -10
- package/.agent-context/state/benchmark-watchlist.json +19 -19
- package/.agent-context/state/dependency-map.md +32 -32
- package/.agent-context/state/quality-trend-report.json +16 -6
- package/.agent-context/state/skill-platform.json +38 -38
- package/.agent-context/state/weekly-governance-report.json +126 -0
- package/.agent-override.md +36 -36
- package/.cursorrules +1 -1
- package/.gemini/instructions.md +20 -20
- package/.github/ISSUE_TEMPLATE/v1.7-frontend-work-item.yml +54 -54
- package/.github/copilot-instructions.md +21 -21
- package/.github/workflows/benchmark-detection.yml +38 -38
- package/.github/workflows/benchmark-intelligence.yml +50 -50
- package/.github/workflows/frontend-usability-gate.yml +36 -36
- package/.github/workflows/governance-weekly-report.yml +43 -0
- package/.github/workflows/release-gate.yml +32 -32
- package/.github/workflows/sbom-compliance.yml +32 -32
- package/.windsurfrules +1 -1
- package/AGENTS.md +27 -27
- package/README.md +389 -368
- package/lib/cli/commands/init.mjs +13 -1
- package/lib/cli/commands/optimize.mjs +171 -171
- package/lib/cli/commands/upgrade.mjs +9 -1
- package/lib/cli/compatibility.mjs +124 -124
- package/lib/cli/constants.mjs +37 -2
- package/lib/cli/token-optimization.mjs +275 -275
- package/lib/cli/utils.mjs +24 -3
- package/mcp.json +92 -92
- package/package.json +2 -1
- package/scripts/benchmark-gate.mjs +121 -121
- package/scripts/benchmark-intelligence.mjs +140 -140
- package/scripts/detection-benchmark.mjs +138 -138
- package/scripts/frontend-usability-audit.mjs +87 -87
- package/scripts/generate-sbom.mjs +61 -61
- package/scripts/governance-weekly-report.mjs +293 -0
- package/scripts/init-project.ps1 +104 -104
- package/scripts/llm-judge.mjs +664 -664
- package/scripts/quality-trend-report.mjs +288 -288
- package/scripts/release-gate.mjs +261 -259
- package/scripts/skill-tier-policy.mjs +75 -75
- package/scripts/token-optimization-benchmark.mjs +252 -252
- package/scripts/validate.mjs +942 -865
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
# Rollback
|
|
2
|
-
|
|
3
|
-
Tier: EXPERT
|
|
4
|
-
|
|
5
|
-
Rollback is a mandatory release capability, not an afterthought.
|
|
6
|
-
|
|
7
|
-
## Rollback Readiness
|
|
8
|
-
|
|
9
|
-
- Define rollback trigger conditions before release.
|
|
10
|
-
- Keep previous stable artifact available for immediate redeploy.
|
|
11
|
-
- Preserve migration rollback scripts for data-affecting changes.
|
|
12
|
-
|
|
13
|
-
## Rollback Flow
|
|
14
|
-
|
|
15
|
-
1. Detect failure signal (error spike, failed SLO, functional regression).
|
|
16
|
-
2. Freeze new rollout.
|
|
17
|
-
3. Re-deploy previous known-good version.
|
|
18
|
-
4. Verify health checks and key journeys.
|
|
19
|
-
5. Publish incident summary with root-cause owner.
|
|
20
|
-
|
|
21
|
-
## Data Change Safety
|
|
22
|
-
|
|
23
|
-
- Use backward-compatible migrations for forward and rollback paths.
|
|
24
|
-
- Avoid destructive schema operations in same release as code cutover.
|
|
25
|
-
- Validate rollback on staging with production-like data shape.
|
|
26
|
-
|
|
27
|
-
## Review Checklist
|
|
28
|
-
|
|
29
|
-
- [ ] Rollback plan documented and tested.
|
|
30
|
-
- [ ] Previous release artifact retained.
|
|
31
|
-
- [ ] Data migration rollback path verified.
|
|
1
|
+
# Rollback
|
|
2
|
+
|
|
3
|
+
Tier: EXPERT
|
|
4
|
+
|
|
5
|
+
Rollback is a mandatory release capability, not an afterthought.
|
|
6
|
+
|
|
7
|
+
## Rollback Readiness
|
|
8
|
+
|
|
9
|
+
- Define rollback trigger conditions before release.
|
|
10
|
+
- Keep previous stable artifact available for immediate redeploy.
|
|
11
|
+
- Preserve migration rollback scripts for data-affecting changes.
|
|
12
|
+
|
|
13
|
+
## Rollback Flow
|
|
14
|
+
|
|
15
|
+
1. Detect failure signal (error spike, failed SLO, functional regression).
|
|
16
|
+
2. Freeze new rollout.
|
|
17
|
+
3. Re-deploy previous known-good version.
|
|
18
|
+
4. Verify health checks and key journeys.
|
|
19
|
+
5. Publish incident summary with root-cause owner.
|
|
20
|
+
|
|
21
|
+
## Data Change Safety
|
|
22
|
+
|
|
23
|
+
- Use backward-compatible migrations for forward and rollback paths.
|
|
24
|
+
- Avoid destructive schema operations in same release as code cutover.
|
|
25
|
+
- Validate rollback on staging with production-like data shape.
|
|
26
|
+
|
|
27
|
+
## Review Checklist
|
|
28
|
+
|
|
29
|
+
- [ ] Rollback plan documented and tested.
|
|
30
|
+
- [ ] Previous release artifact retained.
|
|
31
|
+
- [ ] Data migration rollback path verified.
|
|
32
32
|
- [ ] Health checks confirm rollback success.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Distribution skill test fixtures placeholder
|
|
@@ -1,29 +1,32 @@
|
|
|
1
|
-
# Distribution Skill Pack
|
|
2
|
-
|
|
3
|
-
Default tier: `expert`
|
|
4
|
-
|
|
5
|
-
## Purpose
|
|
6
|
-
Protect package installation and release distribution with transactional safety.
|
|
7
|
-
|
|
8
|
-
## In Scope
|
|
9
|
-
- Package validation
|
|
10
|
-
- Backup and rollback
|
|
11
|
-
- Compatibility checks
|
|
12
|
-
- Forbidden-file detection
|
|
13
|
-
- Publish hygiene and provenance
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
# Distribution Skill Pack
|
|
2
|
+
|
|
3
|
+
Default tier: `expert`
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
Protect package installation and release distribution with transactional safety.
|
|
7
|
+
|
|
8
|
+
## In Scope
|
|
9
|
+
- Package validation
|
|
10
|
+
- Backup and rollback
|
|
11
|
+
- Compatibility checks
|
|
12
|
+
- Forbidden-file detection
|
|
13
|
+
- Publish hygiene and provenance
|
|
14
|
+
- Dependency audit evidence and attestations
|
|
15
|
+
|
|
16
|
+
## Must-Have Checks
|
|
17
|
+
- Preflight validation before installation or publish
|
|
18
|
+
- Backup point before mutating user state
|
|
19
|
+
- Automatic rollback on failure
|
|
20
|
+
- Compatibility manifest present
|
|
21
|
+
- Evidence bundle attached to release
|
|
22
|
+
- Weekly governance report generated and reviewed before maintainers publish
|
|
23
|
+
|
|
24
|
+
## Evidence
|
|
25
|
+
- Install validation report
|
|
26
|
+
- Rollback verification log
|
|
27
|
+
- Publish dry-run output
|
|
28
|
+
- Integrity and provenance manifest
|
|
29
|
+
- Governance weekly report with trust-tier and gate posture summary
|
|
30
|
+
|
|
31
|
+
## Fallback
|
|
29
32
|
- If automated rollback cannot be guaranteed, the operation must stop before mutation.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "compatibility-manifest-v1",
|
|
3
|
+
"artifactType": "skill-domain-evidence",
|
|
4
|
+
"domain": "frontend",
|
|
5
|
+
"ides": ["cursor", "windsurf", "copilot", "gemini", "claude", "codex", "cline"],
|
|
6
|
+
"nodeMin": "18",
|
|
7
|
+
"platforms": ["windows", "linux", "macos"],
|
|
8
|
+
"validatedAt": "2026-04-11T12:00:00Z"
|
|
9
|
+
}
|
|
@@ -1,36 +1,49 @@
|
|
|
1
|
-
# Frontend Engineering Skills
|
|
2
|
-
|
|
3
|
-
The frontend domain covers component architecture, state management, performance optimization, accessibility, motion design, and visual polish. Content consolidated from **minimax-ai/skills** (design focus), **awesome-copilot** (architectural patterns), and **antigravity-awesome-skills** (React patterns), with production-grade automation and enforcement.
|
|
4
|
-
|
|
5
|
-
## Topics
|
|
6
|
-
- [UI Architecture](ui-architecture.md) - Smart/Dumb components, state management, composition patterns
|
|
7
|
-
- [Accessibility](accessibility.md) - WCAG compliance, keyboard navigation, semantic HTML, color contrast
|
|
8
|
-
- [Motion](motion.md) - Animation patterns, performance, CSS containment
|
|
9
|
-
- [Performance](performance.md) - Memoization, code splitting, bundle gates, profiling
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
# Frontend Engineering Skills
|
|
2
|
+
|
|
3
|
+
The frontend domain covers component architecture, state management, performance optimization, accessibility, motion design, and visual polish. Content consolidated from **minimax-ai/skills** (design focus), **awesome-copilot** (architectural patterns), and **antigravity-awesome-skills** (React patterns), with production-grade automation and enforcement.
|
|
4
|
+
|
|
5
|
+
## Topics
|
|
6
|
+
- [UI Architecture](ui-architecture.md) - Smart/Dumb components, state management, composition patterns
|
|
7
|
+
- [Accessibility](accessibility.md) - WCAG compliance, keyboard navigation, semantic HTML, color contrast
|
|
8
|
+
- [Motion](motion.md) - Animation patterns, performance, CSS containment
|
|
9
|
+
- [Performance](performance.md) - Memoization, code splitting, bundle gates, profiling
|
|
10
|
+
- [Responsive Delivery](responsive-delivery.md) - Breakpoint behavior, content hierarchy, and interaction ergonomics
|
|
11
|
+
- [Conversion Clarity](conversion-clarity.md) - First-viewport messaging, CTA placement, and friction removal
|
|
12
|
+
|
|
13
|
+
## What Makes Ours Different
|
|
14
|
+
|
|
15
|
+
- Smart/Dumb Architecture (awesome-copilot) + animation system patterns (minimax) + React patterns (antigravity)
|
|
16
|
+
- Anti-Slop Enforcer (ABOVE LINE) - Detect forbidden visual patterns and style drift
|
|
17
|
+
- Accessibility Auditor (ABOVE LINE) - Detect contrast failures, ARIA issues, and keyboard navigation gaps
|
|
18
|
+
- Performance Budget Enforcer (ABOVE LINE) - Bundle size gates and LCP/FID/CLS thresholds
|
|
19
|
+
|
|
20
|
+
## Recommended Reading Order
|
|
21
|
+
|
|
22
|
+
1. `ui-architecture.md` - Mental models first (EXPERT)
|
|
23
|
+
2. `accessibility.md` - Compliance baseline (EXPERT)
|
|
24
|
+
3. `motion.md` - Design patterns and optimization (EXPERT)
|
|
25
|
+
4. `performance.md` - Profiling and gates (EXPERT)
|
|
26
|
+
5. `responsive-delivery.md` - Mobile and desktop behavior contracts (ADVANCE)
|
|
27
|
+
6. `conversion-clarity.md` - UX narrative and action path quality (ADVANCE)
|
|
28
|
+
|
|
29
|
+
## Coverage vs 3 Repos
|
|
30
|
+
|
|
31
|
+
| Aspect | antigravity | awesome-copilot | MiniMax | Ours |
|
|
32
|
+
|--------|-------------|-----------------|---------|------|
|
|
33
|
+
| Component Patterns | Medium | High | Medium | High + quality gates |
|
|
34
|
+
| Animation Patterns | Low | Low | High | High + performance rules |
|
|
35
|
+
| Accessibility | Medium | High | Medium | High + automated audits |
|
|
36
|
+
| Automation | None | None | None | Anti-slop, accessibility, and performance tooling |
|
|
37
|
+
|
|
38
|
+
## Default Tier Behavior
|
|
39
|
+
- Use `advance` for typical web apps (1500+ employees)
|
|
40
|
+
- Escalate to `expert` when component library, state complexity, or accessibility/performance tuning is critical
|
|
41
|
+
|
|
42
|
+
## Usage Example
|
|
43
|
+
|
|
44
|
+
Use frontend guidance in onboarding and release checkpoints:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
agentic-senior-core init --preset frontend-web
|
|
48
|
+
node ./scripts/frontend-usability-audit.mjs
|
|
49
|
+
```
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
# Accessibility and Inclusive Interaction
|
|
2
|
-
|
|
3
|
-
**Tier:** EXPERT | **Source:** awesome-copilot (WCAG) + minimax (motion and dark mode) + antigravity (UX patterns)
|
|
4
|
-
|
|
5
|
-
## Purpose
|
|
6
|
-
|
|
7
|
-
Accessibility is a production requirement. Inclusive interaction reduces support burden, improves usability, and prevents last-minute retrofit work.
|
|
8
|
-
|
|
9
|
-
## Part 1: Semantic Structure
|
|
10
|
-
|
|
11
|
-
Use native HTML elements first. They provide keyboard support, roles, and state semantics without extra work.
|
|
12
|
-
|
|
13
|
-
```javascript
|
|
14
|
-
<nav>
|
|
15
|
-
<button aria-expanded={isOpen} aria-controls="menu-panel">Menu</button>
|
|
16
|
-
<ul id="menu-panel" hidden={!isOpen}>
|
|
17
|
-
<li><a href="/">Home</a></li>
|
|
18
|
-
<li><a href="/about">About</a></li>
|
|
19
|
-
</ul>
|
|
20
|
-
</nav>
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Avoid replacing native controls with generic containers unless there is a specific reason.
|
|
24
|
-
|
|
25
|
-
## Part 2: Keyboard Support
|
|
26
|
-
|
|
27
|
-
Every interactive control must be reachable and operable by keyboard.
|
|
28
|
-
|
|
29
|
-
- Tab order should follow the visual order.
|
|
30
|
-
- Enter and Space should activate buttons and custom controls.
|
|
31
|
-
- Focus should never get trapped unless a modal or dialog deliberately manages it.
|
|
32
|
-
- Skip links should exist on content-heavy pages.
|
|
33
|
-
|
|
34
|
-
```javascript
|
|
35
|
-
<div
|
|
36
|
-
role="button"
|
|
37
|
-
tabIndex={0}
|
|
38
|
-
onClick={handleDelete}
|
|
39
|
-
onKeyDown={(event) => {
|
|
40
|
-
if (event.key === 'Enter' || event.key === ' ') {
|
|
41
|
-
handleDelete();
|
|
42
|
-
}
|
|
43
|
-
}}
|
|
44
|
-
>
|
|
45
|
-
Delete
|
|
46
|
-
</div>
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Part 3: Contrast and Text Scaling
|
|
50
|
-
|
|
51
|
-
- Normal text contrast should meet WCAG AA minimums.
|
|
52
|
-
- Large text may use the relaxed large-text ratio, but still needs clear contrast.
|
|
53
|
-
- Layouts should survive zoom and text scaling without truncation.
|
|
54
|
-
- Avoid fixed-height containers that clip longer translated content.
|
|
55
|
-
|
|
56
|
-
## Part 4: Screen Reader Support
|
|
57
|
-
|
|
58
|
-
Use accessible names and state descriptions.
|
|
59
|
-
|
|
60
|
-
```javascript
|
|
61
|
-
<button aria-label="Close menu" onClick={handleClose}>
|
|
62
|
-
X
|
|
63
|
-
</button>
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
If content updates dynamically, use live regions only when needed and keep them concise.
|
|
67
|
-
|
|
68
|
-
## Part 5: Motion and Reduced Motion
|
|
69
|
-
|
|
70
|
-
Animations should respect reduced-motion settings. Motion must support understanding, not create distraction.
|
|
71
|
-
|
|
72
|
-
```javascript
|
|
73
|
-
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
74
|
-
|
|
75
|
-
const menuVariants = {
|
|
76
|
-
open: {
|
|
77
|
-
opacity: 1,
|
|
78
|
-
transition: prefersReducedMotion ? { duration: 0 } : { duration: 0.2 }
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Part 6: Forms and Error Messaging
|
|
84
|
-
|
|
85
|
-
- Every input needs a visible label.
|
|
86
|
-
- Error messages should describe the problem and how to fix it.
|
|
87
|
-
- Validation should be announced in a way screen readers can reach.
|
|
88
|
-
- Do not rely on color alone to communicate state.
|
|
89
|
-
|
|
90
|
-
## Part 7: Testing Approach
|
|
91
|
-
|
|
92
|
-
Test accessibility with a mix of manual and automated checks.
|
|
93
|
-
|
|
94
|
-
- Automated scans for contrast, labels, and roles.
|
|
95
|
-
- Keyboard-only navigation passes for critical flows.
|
|
96
|
-
- Screen-reader spot checks for key screens.
|
|
97
|
-
- Motion tests for reduced-motion behavior.
|
|
98
|
-
|
|
99
|
-
## Review Checklist
|
|
100
|
-
|
|
101
|
-
- [ ] Semantic elements are used first.
|
|
102
|
-
- [ ] Keyboard operation is complete.
|
|
103
|
-
- [ ] Contrast and zoom behavior are acceptable.
|
|
104
|
-
- [ ] Accessible names exist for icon-only controls.
|
|
105
|
-
- [ ] Reduced-motion behavior is implemented.
|
|
106
|
-
- [ ] Form labels and errors are clear.
|
|
107
|
-
- [ ] Critical flows are tested with keyboard and screen readers.
|
|
1
|
+
# Accessibility and Inclusive Interaction
|
|
2
|
+
|
|
3
|
+
**Tier:** EXPERT | **Source:** awesome-copilot (WCAG) + minimax (motion and dark mode) + antigravity (UX patterns)
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Accessibility is a production requirement. Inclusive interaction reduces support burden, improves usability, and prevents last-minute retrofit work.
|
|
8
|
+
|
|
9
|
+
## Part 1: Semantic Structure
|
|
10
|
+
|
|
11
|
+
Use native HTML elements first. They provide keyboard support, roles, and state semantics without extra work.
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
<nav>
|
|
15
|
+
<button aria-expanded={isOpen} aria-controls="menu-panel">Menu</button>
|
|
16
|
+
<ul id="menu-panel" hidden={!isOpen}>
|
|
17
|
+
<li><a href="/">Home</a></li>
|
|
18
|
+
<li><a href="/about">About</a></li>
|
|
19
|
+
</ul>
|
|
20
|
+
</nav>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Avoid replacing native controls with generic containers unless there is a specific reason.
|
|
24
|
+
|
|
25
|
+
## Part 2: Keyboard Support
|
|
26
|
+
|
|
27
|
+
Every interactive control must be reachable and operable by keyboard.
|
|
28
|
+
|
|
29
|
+
- Tab order should follow the visual order.
|
|
30
|
+
- Enter and Space should activate buttons and custom controls.
|
|
31
|
+
- Focus should never get trapped unless a modal or dialog deliberately manages it.
|
|
32
|
+
- Skip links should exist on content-heavy pages.
|
|
33
|
+
|
|
34
|
+
```javascript
|
|
35
|
+
<div
|
|
36
|
+
role="button"
|
|
37
|
+
tabIndex={0}
|
|
38
|
+
onClick={handleDelete}
|
|
39
|
+
onKeyDown={(event) => {
|
|
40
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
41
|
+
handleDelete();
|
|
42
|
+
}
|
|
43
|
+
}}
|
|
44
|
+
>
|
|
45
|
+
Delete
|
|
46
|
+
</div>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Part 3: Contrast and Text Scaling
|
|
50
|
+
|
|
51
|
+
- Normal text contrast should meet WCAG AA minimums.
|
|
52
|
+
- Large text may use the relaxed large-text ratio, but still needs clear contrast.
|
|
53
|
+
- Layouts should survive zoom and text scaling without truncation.
|
|
54
|
+
- Avoid fixed-height containers that clip longer translated content.
|
|
55
|
+
|
|
56
|
+
## Part 4: Screen Reader Support
|
|
57
|
+
|
|
58
|
+
Use accessible names and state descriptions.
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
<button aria-label="Close menu" onClick={handleClose}>
|
|
62
|
+
X
|
|
63
|
+
</button>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
If content updates dynamically, use live regions only when needed and keep them concise.
|
|
67
|
+
|
|
68
|
+
## Part 5: Motion and Reduced Motion
|
|
69
|
+
|
|
70
|
+
Animations should respect reduced-motion settings. Motion must support understanding, not create distraction.
|
|
71
|
+
|
|
72
|
+
```javascript
|
|
73
|
+
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
74
|
+
|
|
75
|
+
const menuVariants = {
|
|
76
|
+
open: {
|
|
77
|
+
opacity: 1,
|
|
78
|
+
transition: prefersReducedMotion ? { duration: 0 } : { duration: 0.2 }
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Part 6: Forms and Error Messaging
|
|
84
|
+
|
|
85
|
+
- Every input needs a visible label.
|
|
86
|
+
- Error messages should describe the problem and how to fix it.
|
|
87
|
+
- Validation should be announced in a way screen readers can reach.
|
|
88
|
+
- Do not rely on color alone to communicate state.
|
|
89
|
+
|
|
90
|
+
## Part 7: Testing Approach
|
|
91
|
+
|
|
92
|
+
Test accessibility with a mix of manual and automated checks.
|
|
93
|
+
|
|
94
|
+
- Automated scans for contrast, labels, and roles.
|
|
95
|
+
- Keyboard-only navigation passes for critical flows.
|
|
96
|
+
- Screen-reader spot checks for key screens.
|
|
97
|
+
- Motion tests for reduced-motion behavior.
|
|
98
|
+
|
|
99
|
+
## Review Checklist
|
|
100
|
+
|
|
101
|
+
- [ ] Semantic elements are used first.
|
|
102
|
+
- [ ] Keyboard operation is complete.
|
|
103
|
+
- [ ] Contrast and zoom behavior are acceptable.
|
|
104
|
+
- [ ] Accessible names exist for icon-only controls.
|
|
105
|
+
- [ ] Reduced-motion behavior is implemented.
|
|
106
|
+
- [ ] Form labels and errors are clear.
|
|
107
|
+
- [ ] Critical flows are tested with keyboard and screen readers.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "compatibility-manifest-v1",
|
|
3
|
-
"artifactType": "skill-domain",
|
|
4
|
-
"domain": "frontend",
|
|
5
|
-
"ides": ["cursor", "windsurf", "copilot", "gemini", "claude", "codex", "cline"],
|
|
6
|
-
"nodeMin": "18",
|
|
7
|
-
"platforms": ["windows", "linux", "macos"]
|
|
8
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "compatibility-manifest-v1",
|
|
3
|
+
"artifactType": "skill-domain",
|
|
4
|
+
"domain": "frontend",
|
|
5
|
+
"ides": ["cursor", "windsurf", "copilot", "gemini", "claude", "codex", "cline"],
|
|
6
|
+
"nodeMin": "18",
|
|
7
|
+
"platforms": ["windows", "linux", "macos"]
|
|
8
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Conversion Clarity
|
|
2
|
+
|
|
3
|
+
Tier: ADVANCE
|
|
4
|
+
|
|
5
|
+
Conversion clarity ensures users understand value, trust the flow, and can complete primary actions without ambiguity.
|
|
6
|
+
|
|
7
|
+
## First-Viewport Messaging
|
|
8
|
+
|
|
9
|
+
Every conversion-oriented screen should answer three questions immediately:
|
|
10
|
+
|
|
11
|
+
- What is this offering?
|
|
12
|
+
- Why should I continue now?
|
|
13
|
+
- What action should I take first?
|
|
14
|
+
|
|
15
|
+
Avoid generic hero copy and unclear button labels. CTA text should describe outcome, not only interaction.
|
|
16
|
+
|
|
17
|
+
## Friction Mapping
|
|
18
|
+
|
|
19
|
+
Define friction checkpoints per journey:
|
|
20
|
+
|
|
21
|
+
- Input complexity and cognitive load.
|
|
22
|
+
- Validation and error recovery behavior.
|
|
23
|
+
- Payment or confirmation trust signals.
|
|
24
|
+
- Abandonment points from analytics and session replay.
|
|
25
|
+
|
|
26
|
+
Each checkpoint needs an explicit mitigation strategy.
|
|
27
|
+
|
|
28
|
+
## Error and Empty State Quality
|
|
29
|
+
|
|
30
|
+
- Error states must explain cause and provide next action.
|
|
31
|
+
- Empty states must direct users toward meaningful first action.
|
|
32
|
+
- Do not rely on passive placeholders without guidance.
|
|
33
|
+
- Preserve user input when validation fails to reduce retry friction.
|
|
34
|
+
|
|
35
|
+
## Instrumentation Expectations
|
|
36
|
+
|
|
37
|
+
Track conversion quality with consistent events:
|
|
38
|
+
|
|
39
|
+
- Journey start.
|
|
40
|
+
- Step completion.
|
|
41
|
+
- Validation failure categories.
|
|
42
|
+
- Final success and drop-off points.
|
|
43
|
+
|
|
44
|
+
Ensure event names and payload schema are versioned.
|
|
45
|
+
|
|
46
|
+
## Review Checklist
|
|
47
|
+
|
|
48
|
+
- [ ] First viewport communicates value and next action clearly.
|
|
49
|
+
- [ ] Primary CTA labels are specific and outcome-oriented.
|
|
50
|
+
- [ ] Error and empty states contain actionable guidance.
|
|
51
|
+
- [ ] Conversion analytics events are complete and versioned.
|