mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-29 20:11:04 +08:00
feat: add json_builder tool with schema-aware JSON construction and validation
Unified tool replacing manual schema reading (cat schema) across all agents and skills. Supports 5 commands: init (skeleton), set (incremental field setting with instant validation), validate (full structural + semantic), merge (dedup multiple JSONs), info (compact schema summary). Registers 24 schemas in schema-registry.ts. Updates all agent/skill/command files to use json_builder info/init/validate instead of cat schema references. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -139,16 +139,15 @@ When `process_docs: true`, generate planning-context.md before sub-plan.json:
|
||||
|
||||
## Schema-Driven Output
|
||||
|
||||
**CRITICAL**: Read the schema reference first to determine output structure:
|
||||
- `plan-overview-base-schema.json` → Implementation plan with `approach`, `complexity`
|
||||
- `plan-overview-fix-schema.json` → Fix plan with `root_cause`, `severity`, `risk_level`
|
||||
**CRITICAL**: Get schema info via json_builder to determine output structure:
|
||||
- `ccw tool exec json_builder '{"cmd":"info","schema":"plan"}'` → Implementation plan with `approach`, `complexity`
|
||||
- `ccw tool exec json_builder '{"cmd":"info","schema":"plan-fix"}'` → Fix plan with `root_cause`, `severity`, `risk_level`
|
||||
|
||||
```javascript
|
||||
// Step 1: Always read schema first
|
||||
const schema = Bash(`cat ${schema_path}`)
|
||||
|
||||
// Step 2: Generate plan conforming to schema
|
||||
const planObject = generatePlanFromSchema(schema, context)
|
||||
After generating plan.json and .task/*.json, validate:
|
||||
```bash
|
||||
ccw tool exec json_builder '{"cmd":"validate","target":"<session>/plan.json","schema":"plan"}'
|
||||
# For each task file:
|
||||
ccw tool exec json_builder '{"cmd":"validate","target":"<session>/.task/TASK-001.json","schema":"task"}'
|
||||
```
|
||||
|
||||
</schema_driven_output>
|
||||
@@ -863,7 +862,7 @@ function validateTask(task) {
|
||||
|
||||
**ALWAYS**:
|
||||
- **Search Tool Priority**: ACE (`mcp__ace-tool__search_context`) → CCW (`mcp__ccw-tools__smart_search`) / Built-in (`Grep`, `Glob`, `Read`)
|
||||
- **Read schema first** to determine output structure
|
||||
- **Get schema info via json_builder** to determine output structure
|
||||
- Generate task IDs (TASK-001/TASK-002 for plan, FIX-001/FIX-002 for fix-plan)
|
||||
- Include depends_on (even if empty [])
|
||||
- **Assign cli_execution_id** (`{sessionId}-{taskId}`)
|
||||
@@ -981,7 +980,7 @@ Upon completion, return one of:
|
||||
|
||||
Before returning, verify:
|
||||
|
||||
- [ ] Schema reference was read and output structure matches schema type (base vs fix)
|
||||
- [ ] Schema info was obtained via json_builder and output structure matches schema type (base vs fix)
|
||||
- [ ] All tasks have valid IDs (TASK-NNN or FIX-NNN format)
|
||||
- [ ] All tasks have 2+ implementation steps
|
||||
- [ ] All convergence criteria are quantified and testable (no vague language)
|
||||
|
||||
Reference in New Issue
Block a user