opencode-metis 0.1.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 (156) hide show
  1. package/README.md +140 -0
  2. package/dist/cli.cjs +63 -0
  3. package/dist/mcp-server.cjs +51 -0
  4. package/dist/plugin.cjs +4 -0
  5. package/dist/worker.cjs +224 -0
  6. package/opencode/agent/the-analyst/feature-prioritization.md +66 -0
  7. package/opencode/agent/the-analyst/market-research.md +77 -0
  8. package/opencode/agent/the-analyst/project-coordination.md +81 -0
  9. package/opencode/agent/the-analyst/requirements-analysis.md +77 -0
  10. package/opencode/agent/the-architect/compatibility-review.md +138 -0
  11. package/opencode/agent/the-architect/complexity-review.md +137 -0
  12. package/opencode/agent/the-architect/quality-review.md +67 -0
  13. package/opencode/agent/the-architect/security-review.md +127 -0
  14. package/opencode/agent/the-architect/system-architecture.md +119 -0
  15. package/opencode/agent/the-architect/system-documentation.md +83 -0
  16. package/opencode/agent/the-architect/technology-research.md +85 -0
  17. package/opencode/agent/the-chief.md +79 -0
  18. package/opencode/agent/the-designer/accessibility-implementation.md +101 -0
  19. package/opencode/agent/the-designer/design-foundation.md +74 -0
  20. package/opencode/agent/the-designer/interaction-architecture.md +75 -0
  21. package/opencode/agent/the-designer/user-research.md +70 -0
  22. package/opencode/agent/the-meta-agent.md +155 -0
  23. package/opencode/agent/the-platform-engineer/ci-cd-pipelines.md +109 -0
  24. package/opencode/agent/the-platform-engineer/containerization.md +106 -0
  25. package/opencode/agent/the-platform-engineer/data-architecture.md +81 -0
  26. package/opencode/agent/the-platform-engineer/dependency-review.md +144 -0
  27. package/opencode/agent/the-platform-engineer/deployment-automation.md +81 -0
  28. package/opencode/agent/the-platform-engineer/infrastructure-as-code.md +107 -0
  29. package/opencode/agent/the-platform-engineer/performance-tuning.md +82 -0
  30. package/opencode/agent/the-platform-engineer/pipeline-engineering.md +81 -0
  31. package/opencode/agent/the-platform-engineer/production-monitoring.md +105 -0
  32. package/opencode/agent/the-qa-engineer/exploratory-testing.md +66 -0
  33. package/opencode/agent/the-qa-engineer/performance-testing.md +81 -0
  34. package/opencode/agent/the-qa-engineer/quality-assurance.md +77 -0
  35. package/opencode/agent/the-qa-engineer/test-execution.md +66 -0
  36. package/opencode/agent/the-software-engineer/api-development.md +78 -0
  37. package/opencode/agent/the-software-engineer/component-development.md +79 -0
  38. package/opencode/agent/the-software-engineer/concurrency-review.md +141 -0
  39. package/opencode/agent/the-software-engineer/domain-modeling.md +66 -0
  40. package/opencode/agent/the-software-engineer/performance-optimization.md +113 -0
  41. package/opencode/command/analyze.md +149 -0
  42. package/opencode/command/constitution.md +178 -0
  43. package/opencode/command/debug.md +194 -0
  44. package/opencode/command/document.md +178 -0
  45. package/opencode/command/implement.md +225 -0
  46. package/opencode/command/refactor.md +207 -0
  47. package/opencode/command/review.md +229 -0
  48. package/opencode/command/simplify.md +267 -0
  49. package/opencode/command/specify.md +191 -0
  50. package/opencode/command/validate.md +224 -0
  51. package/opencode/skill/accessibility-design/SKILL.md +566 -0
  52. package/opencode/skill/accessibility-design/checklists/wcag-checklist.md +435 -0
  53. package/opencode/skill/agent-coordination/SKILL.md +224 -0
  54. package/opencode/skill/api-contract-design/SKILL.md +550 -0
  55. package/opencode/skill/api-contract-design/templates/graphql-schema-template.md +818 -0
  56. package/opencode/skill/api-contract-design/templates/rest-api-template.md +417 -0
  57. package/opencode/skill/architecture-design/SKILL.md +160 -0
  58. package/opencode/skill/architecture-design/examples/architecture-examples.md +170 -0
  59. package/opencode/skill/architecture-design/template.md +749 -0
  60. package/opencode/skill/architecture-design/validation.md +99 -0
  61. package/opencode/skill/architecture-selection/SKILL.md +522 -0
  62. package/opencode/skill/architecture-selection/examples/adrs/001-example-adr.md +71 -0
  63. package/opencode/skill/architecture-selection/examples/architecture-patterns.md +239 -0
  64. package/opencode/skill/bug-diagnosis/SKILL.md +235 -0
  65. package/opencode/skill/code-quality-review/SKILL.md +337 -0
  66. package/opencode/skill/code-quality-review/examples/anti-patterns.md +629 -0
  67. package/opencode/skill/code-quality-review/reference.md +322 -0
  68. package/opencode/skill/code-review/SKILL.md +363 -0
  69. package/opencode/skill/code-review/reference.md +450 -0
  70. package/opencode/skill/codebase-analysis/SKILL.md +139 -0
  71. package/opencode/skill/codebase-navigation/SKILL.md +227 -0
  72. package/opencode/skill/codebase-navigation/examples/exploration-patterns.md +263 -0
  73. package/opencode/skill/coding-conventions/SKILL.md +178 -0
  74. package/opencode/skill/coding-conventions/checklists/accessibility-checklist.md +176 -0
  75. package/opencode/skill/coding-conventions/checklists/performance-checklist.md +154 -0
  76. package/opencode/skill/coding-conventions/checklists/security-checklist.md +127 -0
  77. package/opencode/skill/constitution-validation/SKILL.md +315 -0
  78. package/opencode/skill/constitution-validation/examples/CONSTITUTION.md +202 -0
  79. package/opencode/skill/constitution-validation/reference/rule-patterns.md +328 -0
  80. package/opencode/skill/constitution-validation/template.md +115 -0
  81. package/opencode/skill/context-preservation/SKILL.md +445 -0
  82. package/opencode/skill/data-modeling/SKILL.md +385 -0
  83. package/opencode/skill/data-modeling/templates/schema-design-template.md +268 -0
  84. package/opencode/skill/deployment-pipeline-design/SKILL.md +579 -0
  85. package/opencode/skill/deployment-pipeline-design/templates/pipeline-template.md +633 -0
  86. package/opencode/skill/documentation-extraction/SKILL.md +259 -0
  87. package/opencode/skill/documentation-sync/SKILL.md +431 -0
  88. package/opencode/skill/domain-driven-design/SKILL.md +509 -0
  89. package/opencode/skill/domain-driven-design/examples/ddd-patterns.md +688 -0
  90. package/opencode/skill/domain-driven-design/reference.md +465 -0
  91. package/opencode/skill/drift-detection/SKILL.md +383 -0
  92. package/opencode/skill/drift-detection/reference.md +340 -0
  93. package/opencode/skill/error-recovery/SKILL.md +162 -0
  94. package/opencode/skill/error-recovery/examples/error-patterns.md +484 -0
  95. package/opencode/skill/feature-prioritization/SKILL.md +419 -0
  96. package/opencode/skill/feature-prioritization/examples/rice-template.md +139 -0
  97. package/opencode/skill/feature-prioritization/reference.md +256 -0
  98. package/opencode/skill/git-workflow/SKILL.md +453 -0
  99. package/opencode/skill/implementation-planning/SKILL.md +215 -0
  100. package/opencode/skill/implementation-planning/examples/phase-examples.md +217 -0
  101. package/opencode/skill/implementation-planning/template.md +220 -0
  102. package/opencode/skill/implementation-planning/validation.md +88 -0
  103. package/opencode/skill/implementation-verification/SKILL.md +272 -0
  104. package/opencode/skill/knowledge-capture/SKILL.md +265 -0
  105. package/opencode/skill/knowledge-capture/reference/knowledge-capture.md +402 -0
  106. package/opencode/skill/knowledge-capture/reference.md +444 -0
  107. package/opencode/skill/knowledge-capture/templates/domain-template.md +325 -0
  108. package/opencode/skill/knowledge-capture/templates/interface-template.md +255 -0
  109. package/opencode/skill/knowledge-capture/templates/pattern-template.md +144 -0
  110. package/opencode/skill/observability-design/SKILL.md +291 -0
  111. package/opencode/skill/observability-design/references/monitoring-patterns.md +461 -0
  112. package/opencode/skill/pattern-detection/SKILL.md +171 -0
  113. package/opencode/skill/pattern-detection/examples/common-patterns.md +359 -0
  114. package/opencode/skill/performance-analysis/SKILL.md +266 -0
  115. package/opencode/skill/performance-analysis/references/profiling-tools.md +499 -0
  116. package/opencode/skill/requirements-analysis/SKILL.md +139 -0
  117. package/opencode/skill/requirements-analysis/examples/good-prd.md +66 -0
  118. package/opencode/skill/requirements-analysis/template.md +177 -0
  119. package/opencode/skill/requirements-analysis/validation.md +69 -0
  120. package/opencode/skill/requirements-elicitation/SKILL.md +518 -0
  121. package/opencode/skill/requirements-elicitation/examples/interview-questions.md +226 -0
  122. package/opencode/skill/requirements-elicitation/examples/user-stories.md +414 -0
  123. package/opencode/skill/safe-refactoring/SKILL.md +312 -0
  124. package/opencode/skill/safe-refactoring/reference/code-smells.md +347 -0
  125. package/opencode/skill/security-assessment/SKILL.md +421 -0
  126. package/opencode/skill/security-assessment/checklists/security-review-checklist.md +285 -0
  127. package/opencode/skill/specification-management/SKILL.md +143 -0
  128. package/opencode/skill/specification-management/readme-template.md +32 -0
  129. package/opencode/skill/specification-management/reference.md +115 -0
  130. package/opencode/skill/specification-management/spec.py +229 -0
  131. package/opencode/skill/specification-validation/SKILL.md +397 -0
  132. package/opencode/skill/specification-validation/reference/3cs-framework.md +306 -0
  133. package/opencode/skill/specification-validation/reference/ambiguity-detection.md +132 -0
  134. package/opencode/skill/specification-validation/reference/constitution-validation.md +301 -0
  135. package/opencode/skill/specification-validation/reference/drift-detection.md +383 -0
  136. package/opencode/skill/task-delegation/SKILL.md +607 -0
  137. package/opencode/skill/task-delegation/examples/file-coordination.md +495 -0
  138. package/opencode/skill/task-delegation/examples/parallel-research.md +337 -0
  139. package/opencode/skill/task-delegation/examples/sequential-build.md +504 -0
  140. package/opencode/skill/task-delegation/reference.md +825 -0
  141. package/opencode/skill/tech-stack-detection/SKILL.md +89 -0
  142. package/opencode/skill/tech-stack-detection/references/framework-signatures.md +598 -0
  143. package/opencode/skill/technical-writing/SKILL.md +190 -0
  144. package/opencode/skill/technical-writing/templates/adr-template.md +205 -0
  145. package/opencode/skill/technical-writing/templates/system-doc-template.md +380 -0
  146. package/opencode/skill/test-design/SKILL.md +464 -0
  147. package/opencode/skill/test-design/examples/test-pyramid.md +724 -0
  148. package/opencode/skill/testing/SKILL.md +213 -0
  149. package/opencode/skill/testing/examples/test-pyramid.md +724 -0
  150. package/opencode/skill/user-insight-synthesis/SKILL.md +576 -0
  151. package/opencode/skill/user-insight-synthesis/templates/research-plan-template.md +217 -0
  152. package/opencode/skill/user-research/SKILL.md +508 -0
  153. package/opencode/skill/user-research/examples/interview-questions.md +265 -0
  154. package/opencode/skill/user-research/examples/personas.md +267 -0
  155. package/opencode/skill/vibe-security/SKILL.md +654 -0
  156. package/package.json +45 -0
@@ -0,0 +1,435 @@
1
+ # WCAG 2.1 AA Compliance Checklist
2
+
3
+ This checklist covers all WCAG 2.1 Level A and Level AA success criteria. Use this for comprehensive accessibility audits.
4
+
5
+ ## 1. Perceivable
6
+
7
+ Information and user interface components must be presentable to users in ways they can perceive.
8
+
9
+ ### 1.1 Text Alternatives
10
+
11
+ | Criterion | Level | Requirement | Status |
12
+ |-----------|-------|-------------|--------|
13
+ | 1.1.1 Non-text Content | A | All non-text content has text alternatives | [ ] |
14
+
15
+ **Testing steps for 1.1.1:**
16
+ - [ ] Informative images have descriptive alt text
17
+ - [ ] Decorative images have empty alt (`alt=""`) or `role="presentation"`
18
+ - [ ] Complex images have extended descriptions
19
+ - [ ] Form inputs have accessible names
20
+ - [ ] Icons used alone have text alternatives
21
+ - [ ] CAPTCHAs have text alternatives and alternative forms
22
+
23
+ ### 1.2 Time-based Media
24
+
25
+ | Criterion | Level | Requirement | Status |
26
+ |-----------|-------|-------------|--------|
27
+ | 1.2.1 Audio-only and Video-only | A | Alternatives for prerecorded audio-only and video-only | [ ] |
28
+ | 1.2.2 Captions (Prerecorded) | A | Captions for prerecorded audio in synchronized media | [ ] |
29
+ | 1.2.3 Audio Description or Media Alternative | A | Audio description or text alternative for video | [ ] |
30
+ | 1.2.4 Captions (Live) | AA | Captions for live audio in synchronized media | [ ] |
31
+ | 1.2.5 Audio Description (Prerecorded) | AA | Audio description for prerecorded video | [ ] |
32
+
33
+ **Testing steps for 1.2:**
34
+ - [ ] Pre-recorded audio has transcript
35
+ - [ ] Pre-recorded video has captions
36
+ - [ ] Pre-recorded video has audio descriptions for visual content
37
+ - [ ] Live streams have real-time captions
38
+ - [ ] Media players have accessible controls
39
+
40
+ ### 1.3 Adaptable
41
+
42
+ | Criterion | Level | Requirement | Status |
43
+ |-----------|-------|-------------|--------|
44
+ | 1.3.1 Info and Relationships | A | Information, structure, and relationships are programmatically determinable | [ ] |
45
+ | 1.3.2 Meaningful Sequence | A | Reading order is programmatically determinable | [ ] |
46
+ | 1.3.3 Sensory Characteristics | A | Instructions do not rely solely on sensory characteristics | [ ] |
47
+ | 1.3.4 Orientation | AA | Content not restricted to single display orientation | [ ] |
48
+ | 1.3.5 Identify Input Purpose | AA | Input field purpose is programmatically determinable | [ ] |
49
+
50
+ **Testing steps for 1.3.1:**
51
+ - [ ] Headings use proper heading elements (h1-h6)
52
+ - [ ] Lists use list elements (ul, ol, dl)
53
+ - [ ] Tables have proper headers (th with scope)
54
+ - [ ] Form fields have labels
55
+ - [ ] Related form fields are grouped (fieldset/legend)
56
+ - [ ] Landmarks identify page regions
57
+
58
+ **Testing steps for 1.3.2:**
59
+ - [ ] DOM order matches visual order
60
+ - [ ] CSS does not alter meaningful reading sequence
61
+ - [ ] Tab order follows logical sequence
62
+
63
+ **Testing steps for 1.3.3:**
64
+ - [ ] Instructions do not rely solely on shape (e.g., "click the round button")
65
+ - [ ] Instructions do not rely solely on location (e.g., "menu on the left")
66
+ - [ ] Instructions do not rely solely on sound
67
+
68
+ **Testing steps for 1.3.4:**
69
+ - [ ] Content works in both portrait and landscape
70
+ - [ ] No JavaScript locks orientation
71
+
72
+ **Testing steps for 1.3.5:**
73
+ - [ ] Input fields use appropriate autocomplete attributes
74
+ - [ ] Name, email, phone, address fields have autocomplete values
75
+
76
+ ### 1.4 Distinguishable
77
+
78
+ | Criterion | Level | Requirement | Status |
79
+ |-----------|-------|-------------|--------|
80
+ | 1.4.1 Use of Color | A | Color is not the only visual means of conveying information | [ ] |
81
+ | 1.4.2 Audio Control | A | Mechanism to pause/stop audio that plays automatically | [ ] |
82
+ | 1.4.3 Contrast (Minimum) | AA | Text has contrast ratio of at least 4.5:1 (3:1 for large text) | [ ] |
83
+ | 1.4.4 Resize Text | AA | Text can be resized up to 200% without loss of functionality | [ ] |
84
+ | 1.4.5 Images of Text | AA | Text is used instead of images of text | [ ] |
85
+ | 1.4.10 Reflow | AA | Content reflows without horizontal scrolling at 320px width | [ ] |
86
+ | 1.4.11 Non-text Contrast | AA | UI components and graphics have contrast ratio of at least 3:1 | [ ] |
87
+ | 1.4.12 Text Spacing | AA | No loss of content with increased text spacing | [ ] |
88
+ | 1.4.13 Content on Hover or Focus | AA | Additional content on hover/focus is dismissible, hoverable, persistent | [ ] |
89
+
90
+ **Testing steps for 1.4.1:**
91
+ - [ ] Links are distinguishable from surrounding text beyond color
92
+ - [ ] Form errors are indicated by more than color
93
+ - [ ] Charts/graphs use patterns or labels in addition to color
94
+ - [ ] Required fields are indicated by more than color
95
+
96
+ **Testing steps for 1.4.2:**
97
+ - [ ] No audio plays automatically for more than 3 seconds
98
+ - [ ] Mechanism to stop or control audio volume
99
+
100
+ **Testing steps for 1.4.3:**
101
+ - [ ] Normal text (under 18pt): 4.5:1 contrast ratio
102
+ - [ ] Large text (18pt+ or 14pt bold): 3:1 contrast ratio
103
+ - [ ] Use contrast checker tool to verify all text
104
+
105
+ **Testing steps for 1.4.4:**
106
+ - [ ] Increase browser zoom to 200%
107
+ - [ ] All content remains visible and functional
108
+ - [ ] No text is clipped or overlapped
109
+
110
+ **Testing steps for 1.4.5:**
111
+ - [ ] Essential text is not presented as images
112
+ - [ ] Logos are the only exception
113
+
114
+ **Testing steps for 1.4.10:**
115
+ - [ ] Set viewport to 320px width
116
+ - [ ] Content reflows to single column
117
+ - [ ] No horizontal scrolling required
118
+ - [ ] All content accessible
119
+
120
+ **Testing steps for 1.4.11:**
121
+ - [ ] Form field borders: 3:1 contrast
122
+ - [ ] Button borders/backgrounds: 3:1 contrast
123
+ - [ ] Focus indicators: 3:1 contrast
124
+ - [ ] Icons: 3:1 contrast against background
125
+
126
+ **Testing steps for 1.4.12:**
127
+ Apply these styles and verify no content loss:
128
+ ```css
129
+ * {
130
+ line-height: 1.5 !important;
131
+ letter-spacing: 0.12em !important;
132
+ word-spacing: 0.16em !important;
133
+ p { margin-bottom: 2em !important; }
134
+ }
135
+ ```
136
+
137
+ **Testing steps for 1.4.13:**
138
+ - [ ] Hover/focus content can be dismissed (Escape)
139
+ - [ ] User can hover over the additional content
140
+ - [ ] Content persists until dismissed or no longer relevant
141
+
142
+ ## 2. Operable
143
+
144
+ User interface components and navigation must be operable.
145
+
146
+ ### 2.1 Keyboard Accessible
147
+
148
+ | Criterion | Level | Requirement | Status |
149
+ |-----------|-------|-------------|--------|
150
+ | 2.1.1 Keyboard | A | All functionality available via keyboard | [ ] |
151
+ | 2.1.2 No Keyboard Trap | A | Keyboard focus can always be moved away from any component | [ ] |
152
+ | 2.1.4 Character Key Shortcuts | A | Single character key shortcuts can be turned off or remapped | [ ] |
153
+
154
+ **Testing steps for 2.1.1:**
155
+ - [ ] Tab navigates to all interactive elements
156
+ - [ ] Enter/Space activates buttons and links
157
+ - [ ] Arrow keys work within components
158
+ - [ ] No functionality requires mouse-only gestures
159
+
160
+ **Testing steps for 2.1.2:**
161
+ - [ ] Tab can exit all components
162
+ - [ ] Modals can be closed with Escape
163
+ - [ ] No component traps focus permanently
164
+
165
+ **Testing steps for 2.1.4:**
166
+ - [ ] Single-key shortcuts (if any) can be disabled
167
+ - [ ] Or shortcuts require modifier key
168
+
169
+ ### 2.2 Enough Time
170
+
171
+ | Criterion | Level | Requirement | Status |
172
+ |-----------|-------|-------------|--------|
173
+ | 2.2.1 Timing Adjustable | A | Time limits can be turned off, adjusted, or extended | [ ] |
174
+ | 2.2.2 Pause, Stop, Hide | A | Moving, blinking, scrolling content can be paused | [ ] |
175
+
176
+ **Testing steps for 2.2.1:**
177
+ - [ ] Session timeouts can be extended
178
+ - [ ] Users warned before timeout
179
+ - [ ] Option to disable timeout where possible
180
+
181
+ **Testing steps for 2.2.2:**
182
+ - [ ] Carousels have pause control
183
+ - [ ] Animations can be stopped
184
+ - [ ] Auto-updating content can be paused
185
+
186
+ ### 2.3 Seizures and Physical Reactions
187
+
188
+ | Criterion | Level | Requirement | Status |
189
+ |-----------|-------|-------------|--------|
190
+ | 2.3.1 Three Flashes or Below | A | No content flashes more than 3 times per second | [ ] |
191
+
192
+ **Testing steps for 2.3.1:**
193
+ - [ ] No content flashes more than 3 times/second
194
+ - [ ] Flash area is small (less than 341x256 pixels)
195
+
196
+ ### 2.4 Navigable
197
+
198
+ | Criterion | Level | Requirement | Status |
199
+ |-----------|-------|-------------|--------|
200
+ | 2.4.1 Bypass Blocks | A | Mechanism to skip repetitive content | [ ] |
201
+ | 2.4.2 Page Titled | A | Pages have descriptive titles | [ ] |
202
+ | 2.4.3 Focus Order | A | Focus order preserves meaning and operability | [ ] |
203
+ | 2.4.4 Link Purpose (In Context) | A | Link purpose can be determined from link text or context | [ ] |
204
+ | 2.4.5 Multiple Ways | AA | Multiple ways to locate pages within a site | [ ] |
205
+ | 2.4.6 Headings and Labels | AA | Headings and labels describe topic or purpose | [ ] |
206
+ | 2.4.7 Focus Visible | AA | Keyboard focus indicator is visible | [ ] |
207
+
208
+ **Testing steps for 2.4.1:**
209
+ - [ ] Skip link present at top of page
210
+ - [ ] Skip link visible on focus
211
+ - [ ] Skip link moves focus to main content
212
+ - [ ] Landmark regions properly identified
213
+
214
+ **Testing steps for 2.4.2:**
215
+ - [ ] Page title describes page content
216
+ - [ ] Page title is unique across site
217
+ - [ ] Title format: "Page Name - Site Name"
218
+
219
+ **Testing steps for 2.4.3:**
220
+ - [ ] Tab order follows logical reading order
221
+ - [ ] No unexpected focus jumps
222
+ - [ ] Focus moves predictably through interactive elements
223
+
224
+ **Testing steps for 2.4.4:**
225
+ - [ ] Link text describes destination
226
+ - [ ] No "click here" or "read more" without context
227
+ - [ ] Image links have descriptive alt text
228
+
229
+ **Testing steps for 2.4.5:**
230
+ - [ ] Site has navigation menu
231
+ - [ ] Site has search functionality or site map
232
+ - [ ] Multiple pathways to content exist
233
+
234
+ **Testing steps for 2.4.6:**
235
+ - [ ] Headings describe section content
236
+ - [ ] Form labels describe expected input
237
+ - [ ] Labels are specific and unique
238
+
239
+ **Testing steps for 2.4.7:**
240
+ - [ ] Focus indicator visible on all elements
241
+ - [ ] Focus indicator has sufficient contrast
242
+ - [ ] Focus indicator not obscured by other content
243
+
244
+ ### 2.5 Input Modalities
245
+
246
+ | Criterion | Level | Requirement | Status |
247
+ |-----------|-------|-------------|--------|
248
+ | 2.5.1 Pointer Gestures | A | Multi-point or path-based gestures have single-point alternatives | [ ] |
249
+ | 2.5.2 Pointer Cancellation | A | Down-event does not trigger function; up-event can abort | [ ] |
250
+ | 2.5.3 Label in Name | A | Visible label text is included in accessible name | [ ] |
251
+ | 2.5.4 Motion Actuation | A | Motion-triggered functions have alternatives and can be disabled | [ ] |
252
+
253
+ **Testing steps for 2.5.1:**
254
+ - [ ] Pinch-to-zoom has button alternatives
255
+ - [ ] Swipe has button alternatives
256
+ - [ ] Path gestures have alternatives
257
+
258
+ **Testing steps for 2.5.2:**
259
+ - [ ] Actions trigger on mouse up, not mouse down
260
+ - [ ] Dragging can be cancelled by releasing outside target
261
+
262
+ **Testing steps for 2.5.3:**
263
+ - [ ] Button visible text matches accessible name
264
+ - [ ] Icon buttons have accessible names
265
+ - [ ] Links accessible names include visible text
266
+
267
+ **Testing steps for 2.5.4:**
268
+ - [ ] Shake-to-undo can be disabled
269
+ - [ ] Tilt features have alternatives
270
+
271
+ ## 3. Understandable
272
+
273
+ Information and operation of user interface must be understandable.
274
+
275
+ ### 3.1 Readable
276
+
277
+ | Criterion | Level | Requirement | Status |
278
+ |-----------|-------|-------------|--------|
279
+ | 3.1.1 Language of Page | A | Default language is programmatically identified | [ ] |
280
+ | 3.1.2 Language of Parts | AA | Language of passages or phrases is identified | [ ] |
281
+
282
+ **Testing steps for 3.1.1:**
283
+ - [ ] `<html lang="en">` attribute present
284
+ - [ ] Language code matches page content
285
+
286
+ **Testing steps for 3.1.2:**
287
+ - [ ] Foreign language passages have lang attribute
288
+ - [ ] Language changes marked inline
289
+
290
+ ### 3.2 Predictable
291
+
292
+ | Criterion | Level | Requirement | Status |
293
+ |-----------|-------|-------------|--------|
294
+ | 3.2.1 On Focus | A | Focus does not cause unexpected context change | [ ] |
295
+ | 3.2.2 On Input | A | Input does not cause unexpected context change | [ ] |
296
+ | 3.2.3 Consistent Navigation | AA | Navigation is consistently ordered | [ ] |
297
+ | 3.2.4 Consistent Identification | AA | Components with same function are consistently identified | [ ] |
298
+
299
+ **Testing steps for 3.2.1:**
300
+ - [ ] Focus does not submit forms
301
+ - [ ] Focus does not open new windows
302
+ - [ ] Focus does not change page content significantly
303
+
304
+ **Testing steps for 3.2.2:**
305
+ - [ ] Selecting option does not submit form
306
+ - [ ] Entering data does not cause unexpected navigation
307
+ - [ ] Clear indication before context changes
308
+
309
+ **Testing steps for 3.2.3:**
310
+ - [ ] Navigation appears in same location
311
+ - [ ] Navigation items in same order
312
+ - [ ] Consistent across all pages
313
+
314
+ **Testing steps for 3.2.4:**
315
+ - [ ] Search icon always means search
316
+ - [ ] Similar functions have similar labels
317
+ - [ ] Icons consistent throughout site
318
+
319
+ ### 3.3 Input Assistance
320
+
321
+ | Criterion | Level | Requirement | Status |
322
+ |-----------|-------|-------------|--------|
323
+ | 3.3.1 Error Identification | A | Input errors are identified and described in text | [ ] |
324
+ | 3.3.2 Labels or Instructions | A | Labels or instructions provided for user input | [ ] |
325
+ | 3.3.3 Error Suggestion | AA | Suggestions provided when input errors are detected | [ ] |
326
+ | 3.3.4 Error Prevention (Legal, Financial, Data) | AA | Reversible, verified, or confirmed for significant submissions | [ ] |
327
+
328
+ **Testing steps for 3.3.1:**
329
+ - [ ] Error messages identify the field in error
330
+ - [ ] Error messages describe the error
331
+ - [ ] Errors announced to screen readers
332
+
333
+ **Testing steps for 3.3.2:**
334
+ - [ ] All form fields have visible labels
335
+ - [ ] Required fields clearly indicated
336
+ - [ ] Format requirements stated (e.g., date format)
337
+
338
+ **Testing steps for 3.3.3:**
339
+ - [ ] Errors suggest valid input
340
+ - [ ] Examples provided where helpful
341
+ - [ ] Clear guidance for correction
342
+
343
+ **Testing steps for 3.3.4:**
344
+ For legal, financial, or data submissions:
345
+ - [ ] Data can be reviewed before submission
346
+ - [ ] Submission can be reversed, or
347
+ - [ ] Confirmation step before final submission
348
+
349
+ ## 4. Robust
350
+
351
+ Content must be robust enough to be interpreted by a wide variety of user agents.
352
+
353
+ ### 4.1 Compatible
354
+
355
+ | Criterion | Level | Requirement | Status |
356
+ |-----------|-------|-------------|--------|
357
+ | 4.1.1 Parsing | A | (Obsolete in WCAG 2.2 but relevant for 2.1) Markup is valid | [ ] |
358
+ | 4.1.2 Name, Role, Value | A | All UI components have accessible names, roles, values | [ ] |
359
+ | 4.1.3 Status Messages | AA | Status messages are announced without focus change | [ ] |
360
+
361
+ **Testing steps for 4.1.1:**
362
+ - [ ] HTML validates without errors
363
+ - [ ] No duplicate IDs
364
+ - [ ] Elements properly nested
365
+ - [ ] Opening/closing tags matched
366
+
367
+ **Testing steps for 4.1.2:**
368
+ - [ ] All interactive elements have accessible names
369
+ - [ ] Custom widgets have appropriate ARIA roles
370
+ - [ ] State changes are programmatically communicated
371
+ - [ ] Values are programmatically determinable
372
+
373
+ **Testing steps for 4.1.3:**
374
+ - [ ] Success messages use `role="status"` or `aria-live="polite"`
375
+ - [ ] Error messages use `role="alert"` or `aria-live="assertive"`
376
+ - [ ] Loading indicators announced
377
+ - [ ] Search results count announced
378
+
379
+ ## Quick Reference Testing Checklist
380
+
381
+ ### Keyboard Testing (Disconnect Mouse)
382
+ - [ ] Tab through entire page
383
+ - [ ] All interactive elements reachable
384
+ - [ ] Focus visible at all times
385
+ - [ ] No keyboard traps
386
+ - [ ] Modal Escape key works
387
+ - [ ] Dropdown arrow keys work
388
+
389
+ ### Screen Reader Testing
390
+ - [ ] Page title announced
391
+ - [ ] Landmarks identified
392
+ - [ ] Headings convey structure
393
+ - [ ] Images have alt text
394
+ - [ ] Links are descriptive
395
+ - [ ] Forms labels announced
396
+ - [ ] Errors announced
397
+ - [ ] Dynamic content announced
398
+
399
+ ### Visual Testing
400
+ - [ ] 200% zoom works
401
+ - [ ] Color contrast passes
402
+ - [ ] No color-only meaning
403
+ - [ ] Focus indicators visible
404
+ - [ ] Text is real text
405
+
406
+ ### Automated Testing
407
+ - [ ] axe DevTools: 0 issues
408
+ - [ ] WAVE: 0 errors
409
+ - [ ] Lighthouse: 90+ accessibility score
410
+
411
+ ## Severity Classification
412
+
413
+ When logging issues, classify severity:
414
+
415
+ | Severity | Definition | Example |
416
+ |----------|------------|---------|
417
+ | Critical | Blocks users completely | No keyboard access, no form labels |
418
+ | Major | Significant barrier | Low contrast, missing alt text |
419
+ | Minor | Inconvenience | Minor contrast issue, verbose alt text |
420
+ | Advisory | Best practice | Could be improved but not required |
421
+
422
+ ## Sign-off
423
+
424
+ | Item | Auditor | Date | Status |
425
+ |------|---------|------|--------|
426
+ | Level A criteria | | | [ ] Pass [ ] Fail |
427
+ | Level AA criteria | | | [ ] Pass [ ] Fail |
428
+ | Keyboard testing | | | [ ] Pass [ ] Fail |
429
+ | Screen reader testing | | | [ ] Pass [ ] Fail |
430
+ | Visual testing | | | [ ] Pass [ ] Fail |
431
+ | Automated testing | | | [ ] Pass [ ] Fail |
432
+
433
+ **Overall WCAG 2.1 AA Compliance:** [ ] Compliant [ ] Non-compliant
434
+
435
+ **Notes:**
@@ -0,0 +1,224 @@
1
+ ---
2
+ name: agent-coordination
3
+ description: "Methodology for coordinating agent work: task delegation templates, result handling, context accumulation, and phase-based execution"
4
+ license: MIT
5
+ compatibility: opencode
6
+ metadata:
7
+ category: development
8
+ version: "1.0"
9
+ ---
10
+
11
+ # Agent Coordination
12
+
13
+ Roleplay as a coordination methodology specialist that provides structured patterns for delegating work, handling results, and managing multi-phase execution.
14
+
15
+ AgentCoordination {
16
+ Activation {
17
+ Delegating work to specialist agents
18
+ Coordinating multi-phase implementations
19
+ Handling agent results and blockers
20
+ Managing context accumulation across phases
21
+ }
22
+
23
+ TaskDelegationTemplate {
24
+ RequiredFields {
25
+ | Field | Required | Description |
26
+ |-------|----------|-------------|
27
+ | FOCUS | Yes | Task description with specific deliverables and interfaces to implement |
28
+ | EXCLUDE | Yes | Other tasks in this phase, future phase work, scope beyond spec, unauthorized additions |
29
+ | CONTEXT | Yes | Direct agent to self-prime from implementation plan (Phase X, Task Y), solution design (Section X.Y), and project conventions. Specify relevant codebase directories |
30
+ | OUTPUT | Yes | Expected file paths and structured result: files created/modified, summary, tests, blockers |
31
+ | SUCCESS | Yes | Interfaces match spec, follows codebase patterns, tests pass, no unauthorized deviations |
32
+ | TERMINATION | Yes | Completed successfully, or blocked with specific issue reported |
33
+ }
34
+
35
+ PerspectiveGuidance {
36
+ | Perspective | Agent Focus |
37
+ |-------------|-------------|
38
+ | Feature | Implement business logic per spec, follow domain patterns, add error handling |
39
+ | API | Create endpoints per spec interfaces, validate inputs, document with OpenAPI |
40
+ | UI | Build components per design, manage state, ensure accessibility |
41
+ | Tests | Cover happy paths and edge cases, mock external deps, assert behavior |
42
+ | Docs | Update JSDoc/TSDoc, sync README, document new APIs |
43
+ }
44
+ }
45
+
46
+ ResultHandling {
47
+ Constraints {
48
+ Extract key outputs from agent response - do NOT display full responses
49
+ Update todowrite task status after each result
50
+ }
51
+
52
+ ExtractKeyOutputs {
53
+ Files => Paths created or modified
54
+ Summary => 1-2 sentence implementation highlight
55
+ Tests => Pass/fail/pending status
56
+ Blockers => Issues preventing completion
57
+ }
58
+
59
+ SuccessFormat {
60
+ ```
61
+ Task [N]: [Name]
62
+
63
+ Files: src/services/auth.ts, src/routes/auth.ts
64
+ Summary: Implemented JWT authentication with bcrypt password hashing
65
+ Tests: 5 passing
66
+ ```
67
+ }
68
+
69
+ BlockedFormat {
70
+ ```
71
+ Task [N]: [Name]
72
+
73
+ Status: Blocked
74
+ Reason: Missing User model - need src/models/User.ts
75
+ Options: [present via question]
76
+ ```
77
+ }
78
+ }
79
+
80
+ ContextAccumulation {
81
+ Phase1 => PRD/SDD excerpts
82
+ Phase2 => Phase 1 outputs + relevant specs
83
+ PhaseN => Accumulated outputs from prior phases + relevant specs
84
+ Rule => Pass only RELEVANT context to avoid overload
85
+ }
86
+
87
+ PhaseExecution {
88
+ TodowriteProtocol {
89
+ Load tasks incrementally - one phase at a time to manage cognitive load
90
+ 1. Load ONLY current phase tasks into todowrite
91
+ 2. Clear completed phase tasks before loading next phase
92
+ 3. Track phase progress separately from individual task progress
93
+ }
94
+
95
+ TaskMetadata {
96
+ ExtractFromPlanMd {
97
+ [activity: areas] => Type of work
98
+ [complexity: level] => Expected difficulty
99
+ [parallel: true] => Can run concurrently
100
+ [ref: SDD/Section X.Y] => Specification reference
101
+ }
102
+ }
103
+
104
+ ParallelTasks {
105
+ For tasks marked [parallel: true]:
106
+ - Launch ALL parallel agents in a SINGLE response
107
+ - Await results, summarize each
108
+ - Track completion independently
109
+ }
110
+
111
+ SequentialTasks {
112
+ - Launch ONE specialized agent
113
+ - Await result, summarize key outputs
114
+ - Mark as completed in todowrite
115
+ - Proceed to next task
116
+ }
117
+ }
118
+
119
+ PhaseCheckpoint {
120
+ BeforeMarkingComplete {
121
+ - [ ] ALL todowrite tasks showing completed
122
+ - [ ] ALL PLAN.md checkboxes updated for this phase
123
+ - [ ] ALL validation checks run and passed
124
+ - [ ] NO blocking issues remain
125
+ - [ ] User confirmation received
126
+ }
127
+
128
+ SummaryFormat {
129
+ ```
130
+ Phase [X] Complete: [Phase Name]
131
+
132
+ Tasks: [X/X] completed
133
+ Reviews: [N] passed
134
+ Validations: All passed
135
+
136
+ Key outputs:
137
+ - [Output 1]
138
+ - [Output 2]
139
+
140
+ Should I proceed to Phase [X+1]: [Next Phase Name]?
141
+ ```
142
+ }
143
+ }
144
+
145
+ BlockerHandling {
146
+ DecisionTable {
147
+ | Blocker Type | Action |
148
+ |--------------|--------|
149
+ | Missing info or context | Re-launch agent with additional context |
150
+ | Dependency incomplete | Check todowrite status; tell agent to stand by until unblocked |
151
+ | External issue (API down, env broken) | Ask user via question: Fix / Skip / Abort |
152
+ | Agent error or bad output | Retry up to 3 times, then escalate to user |
153
+ }
154
+
155
+ BlockedStatePresentation {
156
+ ```
157
+ Implementation Blocked
158
+
159
+ Phase: [X]
160
+ Task: [Description]
161
+ Reason: [Specific blocker]
162
+
163
+ Options:
164
+ 1. Retry with modifications
165
+ 2. Skip task and continue
166
+ 3. Abort implementation
167
+ 4. Get manual assistance
168
+
169
+ Awaiting your decision...
170
+ ```
171
+ }
172
+ }
173
+
174
+ ReviewHandling {
175
+ DecisionTable {
176
+ | Feedback | Action |
177
+ |----------|--------|
178
+ | APPROVED / LGTM | Proceed to next task |
179
+ | Specification violation | Must fix before proceeding |
180
+ | Revision needed | Implement changes (max 3 cycles) |
181
+ | After 3 revision cycles | Escalate to user via question |
182
+ }
183
+ }
184
+
185
+ DriftDetection {
186
+ Types => Scope Creep, Missing, Contradicts, Extra
187
+ WhenDetected => Present options via question: Acknowledge, Update implementation, Update spec, Defer
188
+ LogDecisions => To spec README.md
189
+ }
190
+
191
+ ConstitutionEnforcement {
192
+ IfConstitutionExists {
193
+ L1 (Must) => Blocks and autofixes
194
+ L2 (Should) => Blocks for manual fix
195
+ L3 (May) => Advisory only
196
+ }
197
+ }
198
+
199
+ DocumentStructure {
200
+ ```
201
+ docs/specs/[NNN]-[name]/
202
+ product-requirements.md # Referenced for context
203
+ solution-design.md # Referenced for compliance checks
204
+ implementation-plan.md # Executed phase-by-phase
205
+ ```
206
+ }
207
+
208
+ CompletionProtocol {
209
+ 1. Run final validation (skill({ name: "specification-validation" }))
210
+ 2. Generate changelog entry if significant changes made
211
+ 3. Present completion summary
212
+
213
+ GitFinalization {
214
+ IfUserRequestedGitIntegration {
215
+ - Offer to commit with conventional message (feat([spec-id]): ...)
216
+ - Offer to create PR with spec-based description via gh pr create
217
+ }
218
+
219
+ IfNoGitIntegration {
220
+ - Ask user via question: Run tests (recommended), Deploy to staging, or Manual review
221
+ }
222
+ }
223
+ }
224
+ }