@orchestrator-claude/definitions 3.5.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 (73) hide show
  1. package/agents/api-extractor.md +687 -0
  2. package/agents/business-rule-miner.md +754 -0
  3. package/agents/code-archaeologist.md +720 -0
  4. package/agents/docs-guardian.md +524 -0
  5. package/agents/implementer.md +512 -0
  6. package/agents/legacy-discoverer.md +583 -0
  7. package/agents/legacy-synthesizer.md +1101 -0
  8. package/agents/orchestrator.md +165 -0
  9. package/agents/planner.md +365 -0
  10. package/agents/researcher.md +447 -0
  11. package/agents/reviewer.md +514 -0
  12. package/agents/schema-extractor.md +781 -0
  13. package/agents/specifier.md +360 -0
  14. package/agents/task-generator.md +390 -0
  15. package/bin/orch-defs.js +2 -0
  16. package/dist/cli.d.ts +3 -0
  17. package/dist/cli.d.ts.map +1 -0
  18. package/dist/cli.js +172 -0
  19. package/dist/cli.js.map +1 -0
  20. package/dist/commands/DiffCommand.d.ts +13 -0
  21. package/dist/commands/DiffCommand.d.ts.map +1 -0
  22. package/dist/commands/DiffCommand.js +74 -0
  23. package/dist/commands/DiffCommand.js.map +1 -0
  24. package/dist/commands/SeedCommand.d.ts +19 -0
  25. package/dist/commands/SeedCommand.d.ts.map +1 -0
  26. package/dist/commands/SeedCommand.js +56 -0
  27. package/dist/commands/SeedCommand.js.map +1 -0
  28. package/dist/http/ApiClient.d.ts +50 -0
  29. package/dist/http/ApiClient.d.ts.map +1 -0
  30. package/dist/http/ApiClient.js +58 -0
  31. package/dist/http/ApiClient.js.map +1 -0
  32. package/dist/index.d.ts +12 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +11 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/manifest/ManifestLoader.d.ts +34 -0
  37. package/dist/manifest/ManifestLoader.d.ts.map +1 -0
  38. package/dist/manifest/ManifestLoader.js +110 -0
  39. package/dist/manifest/ManifestLoader.js.map +1 -0
  40. package/dist/manifest/types.d.ts +59 -0
  41. package/dist/manifest/types.d.ts.map +1 -0
  42. package/dist/manifest/types.js +5 -0
  43. package/dist/manifest/types.js.map +1 -0
  44. package/dist/scripts/generate-manifest.d.ts +10 -0
  45. package/dist/scripts/generate-manifest.d.ts.map +1 -0
  46. package/dist/scripts/generate-manifest.js +114 -0
  47. package/dist/scripts/generate-manifest.js.map +1 -0
  48. package/hooks/post-agent-artifact-relay.sh +157 -0
  49. package/hooks/post-artifact-generate.sh +39 -0
  50. package/hooks/post-implement-validate.sh +139 -0
  51. package/hooks/post-phase-checkpoint.sh +322 -0
  52. package/hooks/pre-agent-invoke.sh +34 -0
  53. package/hooks/pre-phase-advance.sh +40 -0
  54. package/hooks/track-agent-invocation.sh +241 -0
  55. package/kb/auth-strategies.md +742 -0
  56. package/kb/docs-constitution.md +310 -0
  57. package/kb/error-handling.md +555 -0
  58. package/kb/rest-conventions.md +458 -0
  59. package/kb/validation-patterns.md +589 -0
  60. package/manifest.json +314 -0
  61. package/package.json +65 -0
  62. package/skills/artifact-validator/SKILL.md +226 -0
  63. package/skills/docs-guardian/SKILL.md +230 -0
  64. package/skills/kb-lookup/SKILL.md +257 -0
  65. package/skills/phase-gate-evaluator/SKILL.md +274 -0
  66. package/skills/release/SKILL.md +239 -0
  67. package/skills/release/release.sh +491 -0
  68. package/skills/smoke-test/SKILL.md +195 -0
  69. package/skills/workflow-status/SKILL.md +322 -0
  70. package/workflows/bug-fix.json +74 -0
  71. package/workflows/feature-development.json +88 -0
  72. package/workflows/legacy-analysis.json +304 -0
  73. package/workflows/refactoring.json +74 -0
package/manifest.json ADDED
@@ -0,0 +1,314 @@
1
+ {
2
+ "schema": "orchestrator-definitions/v1",
3
+ "namespace": "orchestrator",
4
+ "version": "3.5.0",
5
+ "generatedAt": "2026-03-01T18:06:43.074Z",
6
+ "definitions": {
7
+ "agents": [
8
+ {
9
+ "slug": "api-extractor",
10
+ "file": "agents/api-extractor.md",
11
+ "version": "1.0.0",
12
+ "checksum": "sha256:a01d90808f6470956705edde3906265b54f4a0da80e8802927144238e2af4a2a",
13
+ "supersedes": null,
14
+ "metadata": {}
15
+ },
16
+ {
17
+ "slug": "business-rule-miner",
18
+ "file": "agents/business-rule-miner.md",
19
+ "version": "1.0.0",
20
+ "checksum": "sha256:a08ac6097faa7b6dcdc9afd89f51db7529dd8acde385f946ab715d2c1a11c271",
21
+ "supersedes": null,
22
+ "metadata": {}
23
+ },
24
+ {
25
+ "slug": "code-archaeologist",
26
+ "file": "agents/code-archaeologist.md",
27
+ "version": "1.0.0",
28
+ "checksum": "sha256:06221b1d6323c4a0355f48ec5604ceb6682179782d6412223058fe30514b2db0",
29
+ "supersedes": null,
30
+ "metadata": {}
31
+ },
32
+ {
33
+ "slug": "docs-guardian",
34
+ "file": "agents/docs-guardian.md",
35
+ "version": "1.0.0",
36
+ "checksum": "sha256:7caac803e5dd74b854650fc93ee6504acbed46ebb64d68e2ade3eedbfad9007b",
37
+ "supersedes": null,
38
+ "metadata": {}
39
+ },
40
+ {
41
+ "slug": "implementer",
42
+ "file": "agents/implementer.md",
43
+ "version": "1.0.0",
44
+ "checksum": "sha256:f1818ad825dd7c73d90fea0a2dd8ca98476588ec58cac42324c1c6b23cca2403",
45
+ "supersedes": null,
46
+ "metadata": {}
47
+ },
48
+ {
49
+ "slug": "legacy-discoverer",
50
+ "file": "agents/legacy-discoverer.md",
51
+ "version": "1.0.0",
52
+ "checksum": "sha256:45118f44a07258d133c9324b4336ecf1713c29cb3554628132589098fb1d26e6",
53
+ "supersedes": null,
54
+ "metadata": {}
55
+ },
56
+ {
57
+ "slug": "legacy-synthesizer",
58
+ "file": "agents/legacy-synthesizer.md",
59
+ "version": "1.0.0",
60
+ "checksum": "sha256:0599d2c9d5533d195db0435c8743919fb61cee8290df9cd8ccd71edbdb91f403",
61
+ "supersedes": null,
62
+ "metadata": {}
63
+ },
64
+ {
65
+ "slug": "orchestrator",
66
+ "file": "agents/orchestrator.md",
67
+ "version": "1.0.0",
68
+ "checksum": "sha256:9b4c0d847e1294d3a18322b7dd16633b17104611038796fbcedb3a98fa2514da",
69
+ "supersedes": null,
70
+ "metadata": {}
71
+ },
72
+ {
73
+ "slug": "planner",
74
+ "file": "agents/planner.md",
75
+ "version": "1.0.0",
76
+ "checksum": "sha256:8392b6eaff11d67040ff6d4fd5d76fc093caf424387e663e0af7052ae5af9b9d",
77
+ "supersedes": null,
78
+ "metadata": {}
79
+ },
80
+ {
81
+ "slug": "researcher",
82
+ "file": "agents/researcher.md",
83
+ "version": "1.0.0",
84
+ "checksum": "sha256:25df14a3cc339caf2aca2940d4475584f97d2dc685c99e84dbbff55e367ded0f",
85
+ "supersedes": null,
86
+ "metadata": {}
87
+ },
88
+ {
89
+ "slug": "reviewer",
90
+ "file": "agents/reviewer.md",
91
+ "version": "1.0.0",
92
+ "checksum": "sha256:ef83d8decdd13e1d21cad350c94bc09b4b9c2051c66e19c47c395c1d2e4412ff",
93
+ "supersedes": null,
94
+ "metadata": {}
95
+ },
96
+ {
97
+ "slug": "schema-extractor",
98
+ "file": "agents/schema-extractor.md",
99
+ "version": "1.0.0",
100
+ "checksum": "sha256:3a2f6d1f081a8ad636eeede99a1a4f66af66b519f790a25005fdeabf960160f1",
101
+ "supersedes": null,
102
+ "metadata": {}
103
+ },
104
+ {
105
+ "slug": "specifier",
106
+ "file": "agents/specifier.md",
107
+ "version": "1.0.0",
108
+ "checksum": "sha256:68d524f0a8f680e0712373be10b92fe5a2699fa8174c1be4e94e62568f53d7a6",
109
+ "supersedes": null,
110
+ "metadata": {}
111
+ },
112
+ {
113
+ "slug": "task-generator",
114
+ "file": "agents/task-generator.md",
115
+ "version": "1.0.0",
116
+ "checksum": "sha256:ec84955c201052be7b92276946246595121c4771256231e06ca0f7b43a0954c6",
117
+ "supersedes": null,
118
+ "metadata": {}
119
+ }
120
+ ],
121
+ "skills": [
122
+ {
123
+ "slug": "artifact-validator",
124
+ "file": "skills/artifact-validator/SKILL.md",
125
+ "version": "1.0.0",
126
+ "checksum": "sha256:aa97e6e8b8745f4e79aeaf0e33c19b59d3c1297e25c7f8842656c2fe206c8c56",
127
+ "supersedes": null,
128
+ "metadata": {}
129
+ },
130
+ {
131
+ "slug": "docs-guardian",
132
+ "file": "skills/docs-guardian/SKILL.md",
133
+ "version": "1.0.0",
134
+ "checksum": "sha256:30801b7922bb531df87e59e1a23e2d17d7b1747fd4d656fb98f25787024c09b4",
135
+ "supersedes": null,
136
+ "metadata": {}
137
+ },
138
+ {
139
+ "slug": "kb-lookup",
140
+ "file": "skills/kb-lookup/SKILL.md",
141
+ "version": "1.0.0",
142
+ "checksum": "sha256:12dc74260da5e9cc0d84bd88400ff6d5d7fcc0d3fc2e4a13ee607f86b4ab3336",
143
+ "supersedes": null,
144
+ "metadata": {}
145
+ },
146
+ {
147
+ "slug": "phase-gate-evaluator",
148
+ "file": "skills/phase-gate-evaluator/SKILL.md",
149
+ "version": "1.0.0",
150
+ "checksum": "sha256:2772309ff9f761034198aebb7b367b069095045d88f1545f21927fe3f38a11c9",
151
+ "supersedes": null,
152
+ "metadata": {}
153
+ },
154
+ {
155
+ "slug": "release",
156
+ "file": "skills/release/SKILL.md",
157
+ "version": "1.0.0",
158
+ "checksum": "sha256:0349d3efe718dfb6adb0c42d27acb290da1720f556e4e9298bd0135de497a96d",
159
+ "supersedes": null,
160
+ "metadata": {}
161
+ },
162
+ {
163
+ "slug": "smoke-test",
164
+ "file": "skills/smoke-test/SKILL.md",
165
+ "version": "1.0.0",
166
+ "checksum": "sha256:3bc41314a7c3b71d50574ffef15bc525cf2870a7c8945481a68cbf00e8e26fda",
167
+ "supersedes": null,
168
+ "metadata": {}
169
+ },
170
+ {
171
+ "slug": "workflow-status",
172
+ "file": "skills/workflow-status/SKILL.md",
173
+ "version": "1.0.0",
174
+ "checksum": "sha256:5cfbb02830cea582f23a4435f4b3fd5675724ae099c817f81b536f9ec6e64ece",
175
+ "supersedes": null,
176
+ "metadata": {}
177
+ }
178
+ ],
179
+ "hooks": [
180
+ {
181
+ "slug": "post-agent-artifact-relay",
182
+ "file": "hooks/post-agent-artifact-relay.sh",
183
+ "version": "1.0.0",
184
+ "checksum": "sha256:05add5f54cd1bf9197697314ea71a3bd31698cd00b195a257356b81ce400884e",
185
+ "supersedes": null,
186
+ "metadata": {}
187
+ },
188
+ {
189
+ "slug": "post-artifact-generate",
190
+ "file": "hooks/post-artifact-generate.sh",
191
+ "version": "1.0.0",
192
+ "checksum": "sha256:891d4be3bf636f482d93473de0e221215a76373f45d6c832f19128864045665b",
193
+ "supersedes": null,
194
+ "metadata": {}
195
+ },
196
+ {
197
+ "slug": "post-implement-validate",
198
+ "file": "hooks/post-implement-validate.sh",
199
+ "version": "1.0.0",
200
+ "checksum": "sha256:1793ad8b9e11a9855bf727d2628a9ab420c7866c511e8027b56bb3f3afe89a25",
201
+ "supersedes": null,
202
+ "metadata": {}
203
+ },
204
+ {
205
+ "slug": "post-phase-checkpoint",
206
+ "file": "hooks/post-phase-checkpoint.sh",
207
+ "version": "1.0.0",
208
+ "checksum": "sha256:26c7d47fbf0692b7724e4fc90140074388b11f26d08d383e598bc2cdbefbfdd9",
209
+ "supersedes": null,
210
+ "metadata": {}
211
+ },
212
+ {
213
+ "slug": "pre-agent-invoke",
214
+ "file": "hooks/pre-agent-invoke.sh",
215
+ "version": "1.0.0",
216
+ "checksum": "sha256:059c2fa044f9cd03fdc15aaee49281eadec4651415f00855ebe5782b44e114ed",
217
+ "supersedes": null,
218
+ "metadata": {}
219
+ },
220
+ {
221
+ "slug": "pre-phase-advance",
222
+ "file": "hooks/pre-phase-advance.sh",
223
+ "version": "1.0.0",
224
+ "checksum": "sha256:ac9d7e98111776f578c613619d875b9d853817448448c64eab3cfcb3f85ba321",
225
+ "supersedes": null,
226
+ "metadata": {}
227
+ },
228
+ {
229
+ "slug": "track-agent-invocation",
230
+ "file": "hooks/track-agent-invocation.sh",
231
+ "version": "1.0.0",
232
+ "checksum": "sha256:35fb736c5f5d2201c7059116e9985c0d7b835b533f0e21969e6fff767ce1847c",
233
+ "supersedes": null,
234
+ "metadata": {}
235
+ }
236
+ ],
237
+ "workflows": [
238
+ {
239
+ "slug": "bug-fix",
240
+ "file": "workflows/bug-fix.json",
241
+ "version": "1.0.0",
242
+ "checksum": "sha256:787fad52ecfb0c910387706ecb191bed43ef1179e6ef388672d14fefcc9e86d6",
243
+ "supersedes": null,
244
+ "metadata": {}
245
+ },
246
+ {
247
+ "slug": "feature-development",
248
+ "file": "workflows/feature-development.json",
249
+ "version": "1.0.0",
250
+ "checksum": "sha256:6995d95b8e58a4a1c393a6e68d36d68cc75c7dfddbb56ed2c5e3e6ec2767a4fc",
251
+ "supersedes": null,
252
+ "metadata": {}
253
+ },
254
+ {
255
+ "slug": "legacy-analysis",
256
+ "file": "workflows/legacy-analysis.json",
257
+ "version": "1.0.0",
258
+ "checksum": "sha256:603585476d2e4c5db0ad2b3fb8e43797bac4a137d1c9b624b794966b907f22ec",
259
+ "supersedes": null,
260
+ "metadata": {}
261
+ },
262
+ {
263
+ "slug": "refactoring",
264
+ "file": "workflows/refactoring.json",
265
+ "version": "1.0.0",
266
+ "checksum": "sha256:8df38b1039e00cb3ed753acec555cc158e7b3172d8c1261b45b30e0832e274f5",
267
+ "supersedes": null,
268
+ "metadata": {}
269
+ }
270
+ ],
271
+ "kb": [
272
+ {
273
+ "slug": "auth-strategies",
274
+ "file": "kb/auth-strategies.md",
275
+ "version": "1.0.0",
276
+ "checksum": "sha256:2b9d3e192092a54a5aa7db6984c8538c028c94172d81060281d838f4ebdd37f0",
277
+ "supersedes": null,
278
+ "metadata": {}
279
+ },
280
+ {
281
+ "slug": "docs-constitution",
282
+ "file": "kb/docs-constitution.md",
283
+ "version": "1.0.0",
284
+ "checksum": "sha256:be5c9a1e81a55daf1e82bc37510fdbe5a53a93d35e19c760430ee5b27d5928e4",
285
+ "supersedes": null,
286
+ "metadata": {}
287
+ },
288
+ {
289
+ "slug": "error-handling",
290
+ "file": "kb/error-handling.md",
291
+ "version": "1.0.0",
292
+ "checksum": "sha256:d304b9f6ae7a8c15802d2c484a25125f4efce62bca2077bfc1a5b4fc8d394413",
293
+ "supersedes": null,
294
+ "metadata": {}
295
+ },
296
+ {
297
+ "slug": "rest-conventions",
298
+ "file": "kb/rest-conventions.md",
299
+ "version": "1.0.0",
300
+ "checksum": "sha256:a2b55c48d31f34192b089244b609157bc3d6886ab0e0ca4bbae597b5a923b13f",
301
+ "supersedes": null,
302
+ "metadata": {}
303
+ },
304
+ {
305
+ "slug": "validation-patterns",
306
+ "file": "kb/validation-patterns.md",
307
+ "version": "1.0.0",
308
+ "checksum": "sha256:e94fe67b477a77d9eb78088848c3965a9274115ca7210b358bcedf23384ace69",
309
+ "supersedes": null,
310
+ "metadata": {}
311
+ }
312
+ ]
313
+ }
314
+ }
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@orchestrator-claude/definitions",
3
+ "version": "3.5.0",
4
+ "description": "Built-in definitions (agents, skills, hooks, workflows, KB seeds) for the Orchestrator ecosystem",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./manifest.json": "./manifest.json"
14
+ },
15
+ "bin": {
16
+ "orch-defs": "bin/orch-defs.js"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "bin",
21
+ "agents",
22
+ "skills",
23
+ "hooks",
24
+ "workflows",
25
+ "kb",
26
+ "manifest.json"
27
+ ],
28
+ "scripts": {
29
+ "build": "tsc && npm run generate-manifest",
30
+ "generate-manifest": "npx tsx src/scripts/generate-manifest.ts",
31
+ "test": "vitest run",
32
+ "test:watch": "vitest",
33
+ "test:coverage": "vitest run --coverage",
34
+ "clean": "rm -rf dist",
35
+ "prepublishOnly": "npm run build"
36
+ },
37
+ "dependencies": {
38
+ "commander": "^14.0.0",
39
+ "chalk": "^5.4.0"
40
+ },
41
+ "devDependencies": {
42
+ "@types/node": "^22.0.0",
43
+ "typescript": "^5.7.0",
44
+ "vitest": "^3.0.0",
45
+ "@vitest/coverage-v8": "^3.0.0",
46
+ "tsx": "^4.21.0"
47
+ },
48
+ "engines": {
49
+ "node": ">=20.0.0"
50
+ },
51
+ "keywords": [
52
+ "orchestrator",
53
+ "definitions",
54
+ "agents",
55
+ "claude-code",
56
+ "anthropic"
57
+ ],
58
+ "author": "Orchestrator Team",
59
+ "license": "MIT",
60
+ "repository": {
61
+ "type": "git",
62
+ "url": "git+https://github.com/orchestratorAII/orchestrator_claude.git",
63
+ "directory": "packages/definitions"
64
+ }
65
+ }
@@ -0,0 +1,226 @@
1
+ ---
2
+ name: artifact-validator
3
+ description: Valida artefatos do Orchestrator contra JSON schemas e regras de negocio da CONSTITUTION. Use apos geracao de artefatos (spec, plan, tasks) ou antes de avancar fase.
4
+ allowed-tools: Read, Grep, Glob
5
+ ---
6
+
7
+ # Artifact Validator Skill
8
+
9
+ ## Descricao
10
+
11
+ Esta skill valida artefatos do sistema de orquestracao contra:
12
+ 1. **JSON Schemas**: Estrutura e tipos obrigatorios
13
+ 2. **Regras de Negocio**: Definidas na CONSTITUTION.md
14
+ 3. **Consistencia**: Referencias internas e dependencias
15
+
16
+ ## Quando Usar
17
+
18
+ Use esta skill quando:
19
+ - Apos geracao de qualquer artefato (spec, plan, tasks, implementation)
20
+ - Antes de avancar para proxima fase do workflow
21
+ - Quando solicitado revisao de artefato existente
22
+ - Para verificar integridade de artefatos apos edicao
23
+
24
+ ## Invocacao
25
+
26
+ Exemplos de como invocar esta skill:
27
+
28
+ ```
29
+ "Valide o artefato specification em .orchestrator/artifacts/specify/spec.md"
30
+
31
+ "Verifique se o plano esta conforme o schema de plan"
32
+
33
+ "Valide tasks.md contra regras de negocio da CONSTITUTION"
34
+
35
+ "Faca validacao completa do artefato de implementacao"
36
+ ```
37
+
38
+ ## Parametros
39
+
40
+ | Parametro | Tipo | Obrigatorio | Descricao |
41
+ |-----------|------|-------------|-----------|
42
+ | `artifact_path` | string | Sim | Caminho do artefato a validar |
43
+ | `artifact_type` | enum | Sim | specification, plan, tasks, implementation, research |
44
+ | `validation_level` | enum | Nao | schema (apenas estrutura), business (apenas regras), full (ambos) |
45
+
46
+ ### Valores de validation_level
47
+
48
+ - **schema**: Valida apenas estrutura JSON/Markdown e campos obrigatorios
49
+ - **business**: Valida apenas regras de negocio da CONSTITUTION
50
+ - **full** (default): Executa ambas validacoes
51
+
52
+ ## Output
53
+
54
+ A skill retorna resultado estruturado:
55
+
56
+ ```json
57
+ {
58
+ "isValid": true | false,
59
+ "validationLevel": "schema" | "business" | "full",
60
+ "artifactType": "specification",
61
+ "artifactPath": ".orchestrator/artifacts/specify/spec.md",
62
+ "timestamp": "2025-12-09T10:30:00Z",
63
+
64
+ "schemaValidation": {
65
+ "passed": true,
66
+ "errors": [],
67
+ "warnings": []
68
+ },
69
+
70
+ "businessValidation": {
71
+ "passed": true,
72
+ "errors": [],
73
+ "warnings": [],
74
+ "rulesChecked": [
75
+ "CONSTITUTION.rule.001",
76
+ "CONSTITUTION.rule.002"
77
+ ]
78
+ },
79
+
80
+ "errors": [
81
+ {
82
+ "code": "SCHEMA_001",
83
+ "field": "requisitos.RF-001.criterio_aceite",
84
+ "message": "Campo obrigatorio ausente",
85
+ "severity": "error",
86
+ "suggestion": "Adicione criterios de aceite verificaveis para RF-001"
87
+ }
88
+ ],
89
+
90
+ "warnings": [
91
+ {
92
+ "code": "BUSINESS_W001",
93
+ "field": "escopo.out_scope",
94
+ "message": "Out of scope sem justificativa",
95
+ "severity": "warning",
96
+ "suggestion": "Adicione justificativa para cada item out of scope"
97
+ }
98
+ ],
99
+
100
+ "suggestions": [
101
+ "Considere adicionar metricas de performance em RNF",
102
+ "Referencie o research-context se disponivel"
103
+ ],
104
+
105
+ "summary": {
106
+ "totalErrors": 1,
107
+ "totalWarnings": 1,
108
+ "canProceed": false
109
+ }
110
+ }
111
+ ```
112
+
113
+ ## Regras de Validacao
114
+
115
+ ### Schema Validation
116
+
117
+ #### Specification (spec.md)
118
+ - Campos obrigatorios: metadata, sumario, escopo, requisitos_funcionais
119
+ - Cada RF deve ter: id, descricao, ator, criterio_aceite
120
+ - Cada RNF deve ter: id, metrica, target
121
+
122
+ #### Plan (plan.md)
123
+ - Campos obrigatorios: metadata, arquitetura, fases, dependencias
124
+ - Cada fase deve ter: id, descricao, entregaveis, estimativa
125
+ - Dependencias devem referenciar fases existentes
126
+
127
+ #### Tasks (tasks.md)
128
+ - Campos obrigatorios: metadata, backlog, dependencias
129
+ - Cada task deve ter: id, titulo, descricao, criterio_aceite, estimativa
130
+ - Dependencias devem formar DAG (sem ciclos)
131
+
132
+ #### Implementation
133
+ - Campos obrigatorios: metadata, task_id, arquivos_modificados
134
+ - Cada arquivo deve ter: path, tipo_mudanca, descricao_mudanca
135
+ - task_id deve existir em tasks.md
136
+
137
+ ### Business Validation
138
+
139
+ Regras extraidas de CONSTITUTION.md:
140
+
141
+ 1. **CONST-001**: Todo requisito deve ter criterio de aceite mensuravel
142
+ 2. **CONST-002**: Out of scope deve ter justificativa explicita
143
+ 3. **CONST-003**: Estimativas devem estar em unidades padrao (horas/dias)
144
+ 4. **CONST-004**: Referencias a outros artefatos devem ser validas
145
+ 5. **CONST-005**: Nomes de arquivos devem seguir convencao do projeto
146
+
147
+ ## Integracao com TypeScript
148
+
149
+ Esta skill invoca o handler TypeScript:
150
+
151
+ ```typescript
152
+ // src/presentation/skills/ArtifactValidatorSkillHandler.ts
153
+
154
+ export class ArtifactValidatorSkillHandler {
155
+ async handle(params: ValidationParams): Promise<ValidationResult> {
156
+ // 1. Carrega artefato do path
157
+ // 2. Executa SchemaValidator (infrastructure)
158
+ // 3. Executa ConstitutionValidator (domain)
159
+ // 4. Combina resultados
160
+ // 5. Retorna ValidationResult
161
+ }
162
+ }
163
+ ```
164
+
165
+ ## Exemplos de Uso
166
+
167
+ ### Validacao Schema Only
168
+ ```
169
+ User: "Valide a estrutura do spec.md"
170
+ Skill: artifact-validator com validation_level=schema
171
+ ```
172
+
173
+ ### Validacao Business Only
174
+ ```
175
+ User: "Verifique se o plano atende as regras da CONSTITUTION"
176
+ Skill: artifact-validator com validation_level=business
177
+ ```
178
+
179
+ ### Validacao Completa (Default)
180
+ ```
181
+ User: "Valide completamente o artefato tasks.md"
182
+ Skill: artifact-validator com validation_level=full
183
+ ```
184
+
185
+ ## Comportamento em Caso de Erro
186
+
187
+ ### Artefato Nao Encontrado
188
+ ```json
189
+ {
190
+ "isValid": false,
191
+ "errors": [{
192
+ "code": "ARTIFACT_NOT_FOUND",
193
+ "message": "Artefato nao encontrado: {path}"
194
+ }]
195
+ }
196
+ ```
197
+
198
+ ### Tipo Desconhecido
199
+ ```json
200
+ {
201
+ "isValid": false,
202
+ "errors": [{
203
+ "code": "UNKNOWN_TYPE",
204
+ "message": "Tipo de artefato desconhecido: {type}"
205
+ }]
206
+ }
207
+ ```
208
+
209
+ ### Erro de Parse
210
+ ```json
211
+ {
212
+ "isValid": false,
213
+ "errors": [{
214
+ "code": "PARSE_ERROR",
215
+ "message": "Erro ao parsear artefato: {details}"
216
+ }]
217
+ }
218
+ ```
219
+
220
+ ## Notas Importantes
221
+
222
+ 1. Esta skill **NAO** modifica artefatos, apenas valida
223
+ 2. Validacao **full** e sempre recomendada antes de avancar fase
224
+ 3. Warnings **NAO** impedem avanco, mas devem ser revisados
225
+ 4. Errors **IMPEDEM** avanco e devem ser corrigidos
226
+ 5. Sugestoes sao opcionais mas melhoram qualidade