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.
- package/README.md +140 -0
- package/dist/cli.cjs +63 -0
- package/dist/mcp-server.cjs +51 -0
- package/dist/plugin.cjs +4 -0
- package/dist/worker.cjs +224 -0
- package/opencode/agent/the-analyst/feature-prioritization.md +66 -0
- package/opencode/agent/the-analyst/market-research.md +77 -0
- package/opencode/agent/the-analyst/project-coordination.md +81 -0
- package/opencode/agent/the-analyst/requirements-analysis.md +77 -0
- package/opencode/agent/the-architect/compatibility-review.md +138 -0
- package/opencode/agent/the-architect/complexity-review.md +137 -0
- package/opencode/agent/the-architect/quality-review.md +67 -0
- package/opencode/agent/the-architect/security-review.md +127 -0
- package/opencode/agent/the-architect/system-architecture.md +119 -0
- package/opencode/agent/the-architect/system-documentation.md +83 -0
- package/opencode/agent/the-architect/technology-research.md +85 -0
- package/opencode/agent/the-chief.md +79 -0
- package/opencode/agent/the-designer/accessibility-implementation.md +101 -0
- package/opencode/agent/the-designer/design-foundation.md +74 -0
- package/opencode/agent/the-designer/interaction-architecture.md +75 -0
- package/opencode/agent/the-designer/user-research.md +70 -0
- package/opencode/agent/the-meta-agent.md +155 -0
- package/opencode/agent/the-platform-engineer/ci-cd-pipelines.md +109 -0
- package/opencode/agent/the-platform-engineer/containerization.md +106 -0
- package/opencode/agent/the-platform-engineer/data-architecture.md +81 -0
- package/opencode/agent/the-platform-engineer/dependency-review.md +144 -0
- package/opencode/agent/the-platform-engineer/deployment-automation.md +81 -0
- package/opencode/agent/the-platform-engineer/infrastructure-as-code.md +107 -0
- package/opencode/agent/the-platform-engineer/performance-tuning.md +82 -0
- package/opencode/agent/the-platform-engineer/pipeline-engineering.md +81 -0
- package/opencode/agent/the-platform-engineer/production-monitoring.md +105 -0
- package/opencode/agent/the-qa-engineer/exploratory-testing.md +66 -0
- package/opencode/agent/the-qa-engineer/performance-testing.md +81 -0
- package/opencode/agent/the-qa-engineer/quality-assurance.md +77 -0
- package/opencode/agent/the-qa-engineer/test-execution.md +66 -0
- package/opencode/agent/the-software-engineer/api-development.md +78 -0
- package/opencode/agent/the-software-engineer/component-development.md +79 -0
- package/opencode/agent/the-software-engineer/concurrency-review.md +141 -0
- package/opencode/agent/the-software-engineer/domain-modeling.md +66 -0
- package/opencode/agent/the-software-engineer/performance-optimization.md +113 -0
- package/opencode/command/analyze.md +149 -0
- package/opencode/command/constitution.md +178 -0
- package/opencode/command/debug.md +194 -0
- package/opencode/command/document.md +178 -0
- package/opencode/command/implement.md +225 -0
- package/opencode/command/refactor.md +207 -0
- package/opencode/command/review.md +229 -0
- package/opencode/command/simplify.md +267 -0
- package/opencode/command/specify.md +191 -0
- package/opencode/command/validate.md +224 -0
- package/opencode/skill/accessibility-design/SKILL.md +566 -0
- package/opencode/skill/accessibility-design/checklists/wcag-checklist.md +435 -0
- package/opencode/skill/agent-coordination/SKILL.md +224 -0
- package/opencode/skill/api-contract-design/SKILL.md +550 -0
- package/opencode/skill/api-contract-design/templates/graphql-schema-template.md +818 -0
- package/opencode/skill/api-contract-design/templates/rest-api-template.md +417 -0
- package/opencode/skill/architecture-design/SKILL.md +160 -0
- package/opencode/skill/architecture-design/examples/architecture-examples.md +170 -0
- package/opencode/skill/architecture-design/template.md +749 -0
- package/opencode/skill/architecture-design/validation.md +99 -0
- package/opencode/skill/architecture-selection/SKILL.md +522 -0
- package/opencode/skill/architecture-selection/examples/adrs/001-example-adr.md +71 -0
- package/opencode/skill/architecture-selection/examples/architecture-patterns.md +239 -0
- package/opencode/skill/bug-diagnosis/SKILL.md +235 -0
- package/opencode/skill/code-quality-review/SKILL.md +337 -0
- package/opencode/skill/code-quality-review/examples/anti-patterns.md +629 -0
- package/opencode/skill/code-quality-review/reference.md +322 -0
- package/opencode/skill/code-review/SKILL.md +363 -0
- package/opencode/skill/code-review/reference.md +450 -0
- package/opencode/skill/codebase-analysis/SKILL.md +139 -0
- package/opencode/skill/codebase-navigation/SKILL.md +227 -0
- package/opencode/skill/codebase-navigation/examples/exploration-patterns.md +263 -0
- package/opencode/skill/coding-conventions/SKILL.md +178 -0
- package/opencode/skill/coding-conventions/checklists/accessibility-checklist.md +176 -0
- package/opencode/skill/coding-conventions/checklists/performance-checklist.md +154 -0
- package/opencode/skill/coding-conventions/checklists/security-checklist.md +127 -0
- package/opencode/skill/constitution-validation/SKILL.md +315 -0
- package/opencode/skill/constitution-validation/examples/CONSTITUTION.md +202 -0
- package/opencode/skill/constitution-validation/reference/rule-patterns.md +328 -0
- package/opencode/skill/constitution-validation/template.md +115 -0
- package/opencode/skill/context-preservation/SKILL.md +445 -0
- package/opencode/skill/data-modeling/SKILL.md +385 -0
- package/opencode/skill/data-modeling/templates/schema-design-template.md +268 -0
- package/opencode/skill/deployment-pipeline-design/SKILL.md +579 -0
- package/opencode/skill/deployment-pipeline-design/templates/pipeline-template.md +633 -0
- package/opencode/skill/documentation-extraction/SKILL.md +259 -0
- package/opencode/skill/documentation-sync/SKILL.md +431 -0
- package/opencode/skill/domain-driven-design/SKILL.md +509 -0
- package/opencode/skill/domain-driven-design/examples/ddd-patterns.md +688 -0
- package/opencode/skill/domain-driven-design/reference.md +465 -0
- package/opencode/skill/drift-detection/SKILL.md +383 -0
- package/opencode/skill/drift-detection/reference.md +340 -0
- package/opencode/skill/error-recovery/SKILL.md +162 -0
- package/opencode/skill/error-recovery/examples/error-patterns.md +484 -0
- package/opencode/skill/feature-prioritization/SKILL.md +419 -0
- package/opencode/skill/feature-prioritization/examples/rice-template.md +139 -0
- package/opencode/skill/feature-prioritization/reference.md +256 -0
- package/opencode/skill/git-workflow/SKILL.md +453 -0
- package/opencode/skill/implementation-planning/SKILL.md +215 -0
- package/opencode/skill/implementation-planning/examples/phase-examples.md +217 -0
- package/opencode/skill/implementation-planning/template.md +220 -0
- package/opencode/skill/implementation-planning/validation.md +88 -0
- package/opencode/skill/implementation-verification/SKILL.md +272 -0
- package/opencode/skill/knowledge-capture/SKILL.md +265 -0
- package/opencode/skill/knowledge-capture/reference/knowledge-capture.md +402 -0
- package/opencode/skill/knowledge-capture/reference.md +444 -0
- package/opencode/skill/knowledge-capture/templates/domain-template.md +325 -0
- package/opencode/skill/knowledge-capture/templates/interface-template.md +255 -0
- package/opencode/skill/knowledge-capture/templates/pattern-template.md +144 -0
- package/opencode/skill/observability-design/SKILL.md +291 -0
- package/opencode/skill/observability-design/references/monitoring-patterns.md +461 -0
- package/opencode/skill/pattern-detection/SKILL.md +171 -0
- package/opencode/skill/pattern-detection/examples/common-patterns.md +359 -0
- package/opencode/skill/performance-analysis/SKILL.md +266 -0
- package/opencode/skill/performance-analysis/references/profiling-tools.md +499 -0
- package/opencode/skill/requirements-analysis/SKILL.md +139 -0
- package/opencode/skill/requirements-analysis/examples/good-prd.md +66 -0
- package/opencode/skill/requirements-analysis/template.md +177 -0
- package/opencode/skill/requirements-analysis/validation.md +69 -0
- package/opencode/skill/requirements-elicitation/SKILL.md +518 -0
- package/opencode/skill/requirements-elicitation/examples/interview-questions.md +226 -0
- package/opencode/skill/requirements-elicitation/examples/user-stories.md +414 -0
- package/opencode/skill/safe-refactoring/SKILL.md +312 -0
- package/opencode/skill/safe-refactoring/reference/code-smells.md +347 -0
- package/opencode/skill/security-assessment/SKILL.md +421 -0
- package/opencode/skill/security-assessment/checklists/security-review-checklist.md +285 -0
- package/opencode/skill/specification-management/SKILL.md +143 -0
- package/opencode/skill/specification-management/readme-template.md +32 -0
- package/opencode/skill/specification-management/reference.md +115 -0
- package/opencode/skill/specification-management/spec.py +229 -0
- package/opencode/skill/specification-validation/SKILL.md +397 -0
- package/opencode/skill/specification-validation/reference/3cs-framework.md +306 -0
- package/opencode/skill/specification-validation/reference/ambiguity-detection.md +132 -0
- package/opencode/skill/specification-validation/reference/constitution-validation.md +301 -0
- package/opencode/skill/specification-validation/reference/drift-detection.md +383 -0
- package/opencode/skill/task-delegation/SKILL.md +607 -0
- package/opencode/skill/task-delegation/examples/file-coordination.md +495 -0
- package/opencode/skill/task-delegation/examples/parallel-research.md +337 -0
- package/opencode/skill/task-delegation/examples/sequential-build.md +504 -0
- package/opencode/skill/task-delegation/reference.md +825 -0
- package/opencode/skill/tech-stack-detection/SKILL.md +89 -0
- package/opencode/skill/tech-stack-detection/references/framework-signatures.md +598 -0
- package/opencode/skill/technical-writing/SKILL.md +190 -0
- package/opencode/skill/technical-writing/templates/adr-template.md +205 -0
- package/opencode/skill/technical-writing/templates/system-doc-template.md +380 -0
- package/opencode/skill/test-design/SKILL.md +464 -0
- package/opencode/skill/test-design/examples/test-pyramid.md +724 -0
- package/opencode/skill/testing/SKILL.md +213 -0
- package/opencode/skill/testing/examples/test-pyramid.md +724 -0
- package/opencode/skill/user-insight-synthesis/SKILL.md +576 -0
- package/opencode/skill/user-insight-synthesis/templates/research-plan-template.md +217 -0
- package/opencode/skill/user-research/SKILL.md +508 -0
- package/opencode/skill/user-research/examples/interview-questions.md +265 -0
- package/opencode/skill/user-research/examples/personas.md +267 -0
- package/opencode/skill/vibe-security/SKILL.md +654 -0
- 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
|
+
}
|