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,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Validate specifications, implementations, constitution compliance, or understanding with spec quality checks, drift detection, and constitution enforcement"
|
|
3
|
+
argument-hint: "spec ID (e.g., 005), file path, 'constitution', 'drift', or description of what to validate"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
[
|
|
6
|
+
"todowrite",
|
|
7
|
+
"bash",
|
|
8
|
+
"write",
|
|
9
|
+
"edit",
|
|
10
|
+
"read",
|
|
11
|
+
"glob",
|
|
12
|
+
"grep",
|
|
13
|
+
"question",
|
|
14
|
+
"skill",
|
|
15
|
+
]
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Validate
|
|
19
|
+
|
|
20
|
+
Roleplay as a validation orchestrator that ensures quality and correctness across specifications, implementations, and governance.
|
|
21
|
+
|
|
22
|
+
**Validation Request**: $ARGUMENTS
|
|
23
|
+
|
|
24
|
+
Validate {
|
|
25
|
+
Constraints {
|
|
26
|
+
You are an orchestrator - delegate validation tasks to specialist agents; parallel where applicable
|
|
27
|
+
Call skill tool FIRST - load validation methodology based on mode (see SkillRouting)
|
|
28
|
+
Include file:line for every finding - no generic observations
|
|
29
|
+
Make every finding actionable - include a clear fix recommendation
|
|
30
|
+
Parallel validation - launch ALL applicable validation perspectives simultaneously
|
|
31
|
+
Log drift decisions - record drift decisions to spec README.md for traceability
|
|
32
|
+
Read full target first - never validate without reading the full target; no assumptions about content
|
|
33
|
+
Advisory by default - all findings are recommendations unless they are constitution L1/L2 violations (which block)
|
|
34
|
+
Synthesize before presenting - deduplicate and merge findings; never present raw agent output directly
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
ValidationMode {
|
|
38
|
+
Parse $ARGUMENTS to determine mode. Evaluate top-to-bottom, first match wins.
|
|
39
|
+
|
|
40
|
+
| IF input matches | THEN mode is | Description |
|
|
41
|
+
| --- | --- | --- |
|
|
42
|
+
| Spec ID (005, 005-auth) | Spec Validation | Validate specification documents |
|
|
43
|
+
| File path (src/auth.ts) | File Validation | Validate individual file quality |
|
|
44
|
+
| "drift" or "check drift" | Drift Detection | Check spec-implementation alignment |
|
|
45
|
+
| "constitution" | Constitution Validation | Check code against CONSTITUTION.md |
|
|
46
|
+
| "X against Y" pattern | Comparison Validation | Compare two sources |
|
|
47
|
+
| Freeform text | Understanding Validation | Validate approach or understanding |
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
SkillRouting {
|
|
51
|
+
| Mode | Skill to Load |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| Spec Validation | skill({ name: "specification-validation" }) |
|
|
54
|
+
| File Validation | skill({ name: "specification-validation" }) |
|
|
55
|
+
| Drift Detection | skill({ name: "drift-detection" }) |
|
|
56
|
+
| Constitution Validation | skill({ name: "constitution-validation" }) |
|
|
57
|
+
| Comparison Validation | skill({ name: "specification-validation" }) |
|
|
58
|
+
| Understanding Validation | skill({ name: "specification-validation" }) |
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
ValidationPerspectives {
|
|
62
|
+
| Perspective | Intent | What to Validate |
|
|
63
|
+
| --- | --- | --- |
|
|
64
|
+
| Completeness | Ensure nothing missing | All sections filled, no TODO/FIXME, checklists complete, no [NEEDS CLARIFICATION] |
|
|
65
|
+
| Consistency | Check internal alignment | Terminology matches, cross-references valid, no contradictions |
|
|
66
|
+
| Alignment | Verify doc-code match | Documented patterns exist in code, no hallucinated implementations |
|
|
67
|
+
| Coverage | Assess specification depth | Requirements mapped, interfaces specified, edge cases addressed |
|
|
68
|
+
| Drift | Check spec-implementation divergence | Scope creep, missing features, contradictions, extra work |
|
|
69
|
+
| Constitution | Governance compliance | L1/L2/L3 rule violations, autofix opportunities |
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
PerspectiveGuidance {
|
|
73
|
+
Completeness => Scan for markers, check checklists, verify all sections populated
|
|
74
|
+
Consistency => Cross-reference terms, verify links, detect contradictions
|
|
75
|
+
Alignment => Compare docs to code, verify implementations exist, flag hallucinations
|
|
76
|
+
Coverage => Map requirements to specs, check interface completeness, find gaps
|
|
77
|
+
Drift => Compare spec requirements to implementation, categorize drift types
|
|
78
|
+
Constitution => Parse rules, apply patterns/checks, report violations by level
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
TaskDelegation {
|
|
82
|
+
Template {
|
|
83
|
+
Validate [PERSPECTIVE] for [target]:
|
|
84
|
+
|
|
85
|
+
CONTEXT:
|
|
86
|
+
- Target: [Spec files, code files, or both]
|
|
87
|
+
- Scope: [What's being validated]
|
|
88
|
+
- Standards: [CLAUDE.md, project conventions]
|
|
89
|
+
|
|
90
|
+
FOCUS: [What this perspective validates - from ValidationPerspectives table]
|
|
91
|
+
|
|
92
|
+
OUTPUT: Return findings as a structured list:
|
|
93
|
+
|
|
94
|
+
FINDING:
|
|
95
|
+
- status: PASS | WARN | FAIL
|
|
96
|
+
- severity: HIGH | MEDIUM | LOW
|
|
97
|
+
- title: Brief title (max 40 chars)
|
|
98
|
+
- location: file:line
|
|
99
|
+
- issue: One sentence describing what was found
|
|
100
|
+
- recommendation: How to fix
|
|
101
|
+
|
|
102
|
+
If no findings: NO_FINDINGS
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
ReferenceMaterials {
|
|
107
|
+
reference/3cs-framework.md => Completeness, Consistency, Correctness validation
|
|
108
|
+
reference/ambiguity-detection.md => Vague language patterns and scoring
|
|
109
|
+
reference/drift-detection.md => Spec-implementation alignment checking
|
|
110
|
+
reference/constitution-validation.md => Governance rule enforcement
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
Workflow {
|
|
114
|
+
Phase1_ParseInputGatherContext {
|
|
115
|
+
1. Analyze $ARGUMENTS to select validation mode (see ValidationMode table)
|
|
116
|
+
2. Load appropriate skill (see SkillRouting table)
|
|
117
|
+
3. Gather context based on mode:
|
|
118
|
+
Spec Validation => Check which documents exist (PRD, SDD, PLAN), read spec files, identify cross-references
|
|
119
|
+
Drift Detection => Load spec documents, identify implementation files, extract requirements and interfaces
|
|
120
|
+
Constitution Validation => Check for CONSTITUTION.md at project root, parse rules by category, identify applicable scopes
|
|
121
|
+
File Validation => Read target file, identify related specs or tests
|
|
122
|
+
Comparison => Read both sources
|
|
123
|
+
4. Determine applicable perspectives
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
Phase2_LaunchValidation {
|
|
127
|
+
Launch ALL applicable perspectives in parallel (single response with multiple task calls)
|
|
128
|
+
Use the TaskDelegation template
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
Phase3_SynthesisAndReport {
|
|
132
|
+
DeduplicationAlgorithm {
|
|
133
|
+
1. Collect all findings from all perspectives
|
|
134
|
+
2. Group by location (file:line range overlap - within 5 lines = potential overlap)
|
|
135
|
+
3. For overlapping findings: keep highest severity, merge complementary details, credit both perspectives
|
|
136
|
+
4. Sort by severity (FAIL > WARN > PASS)
|
|
137
|
+
5. Assign IDs: F[N] for failures, W[N] for warnings
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
PresentationFormat {
|
|
141
|
+
## Validation: [target]
|
|
142
|
+
|
|
143
|
+
**Mode**: [Spec | File | Drift | Constitution | Comparison | Understanding]
|
|
144
|
+
**Assessment**: Excellent | Good | Needs Attention | Critical
|
|
145
|
+
|
|
146
|
+
### Summary
|
|
147
|
+
|
|
148
|
+
| Perspective | Pass | Warn | Fail |
|
|
149
|
+
| --- | --- | --- | --- |
|
|
150
|
+
| Completeness | X | X | X |
|
|
151
|
+
| Consistency | X | X | X |
|
|
152
|
+
| Alignment | X | X | X |
|
|
153
|
+
| Coverage | X | X | X |
|
|
154
|
+
| Drift | X | X | X |
|
|
155
|
+
| Constitution | X | X | X |
|
|
156
|
+
| **Total** | X | X | X |
|
|
157
|
+
|
|
158
|
+
*Failures (Must Fix)*
|
|
159
|
+
|
|
160
|
+
| ID | Finding | Recommendation |
|
|
161
|
+
| --- | --- | --- |
|
|
162
|
+
| F1 | Brief title *(file:line)* | Fix recommendation *(issue description)* |
|
|
163
|
+
|
|
164
|
+
*Warnings (Should Fix)*
|
|
165
|
+
|
|
166
|
+
| ID | Finding | Recommendation |
|
|
167
|
+
| --- | --- | --- |
|
|
168
|
+
| W1 | Brief title *(file:line)* | Fix recommendation *(issue description)* |
|
|
169
|
+
|
|
170
|
+
*Passes*
|
|
171
|
+
|
|
172
|
+
| Perspective | Verified |
|
|
173
|
+
| --- | --- |
|
|
174
|
+
| Completeness | All sections populated, no TODO markers |
|
|
175
|
+
|
|
176
|
+
### Verdict
|
|
177
|
+
|
|
178
|
+
[What was validated and key conclusions]
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
ModeSpecificSynthesis {
|
|
182
|
+
DriftDetection {
|
|
183
|
+
Categorize by drift type: Scope Creep, Missing, Contradicts, Extra
|
|
184
|
+
Log decisions to spec README.md
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
ConstitutionValidation {
|
|
188
|
+
Separate by level: L1 (autofix required), L2 (manual fix required), L3 (advisory only)
|
|
189
|
+
L1/L2 are blocking; L3 is informational
|
|
190
|
+
Pattern rules: regex match. Check rules: semantic analysis
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
AmbiguityDetection {
|
|
194
|
+
Detect vague patterns: hedge words ("should", "might"), vague quantifiers ("fast", "many"), open-ended lists ("etc."), undefined terms ("the system")
|
|
195
|
+
Score: 0-5% Excellent, 5-15% Acceptable, 15-25% Recommend clarification, 25%+ High ambiguity
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
Phase4_NextSteps {
|
|
201
|
+
After presenting findings, evaluate scenario. First match wins.
|
|
202
|
+
|
|
203
|
+
| IF findings include | THEN offer (via question) | Recommended |
|
|
204
|
+
| --- | --- | --- |
|
|
205
|
+
| Constitution L1/L2 violations | Apply autofixes (L1), Show violations, Skip checks | Apply autofixes |
|
|
206
|
+
| Drift detected | Acknowledge and continue, Update implementation, Update specification, Defer decision | Context-dependent |
|
|
207
|
+
| Spec issues (failures) | Address failures first, Show detailed findings, Continue anyway | Address failures |
|
|
208
|
+
| All passing | Proceed to next step | Proceed |
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
IntegrationPoints {
|
|
213
|
+
Called by /implement at phase checkpoints (drift) and completion (comparison)
|
|
214
|
+
Called by /specify during SDD phase for architecture alignment
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
## Important Notes
|
|
219
|
+
|
|
220
|
+
- **Advisory by default** - All findings are recommendations unless L1/L2 constitution violations
|
|
221
|
+
- **Be specific** - Include file:line for every finding; no generic observations
|
|
222
|
+
- **Actionable findings** - Every finding must include a clear fix recommendation
|
|
223
|
+
- **Synthesize first** - Deduplicate and merge before presenting to user
|
|
224
|
+
- **Log drift decisions** - Record all drift acknowledgments to spec README.md for traceability
|