Multi-phase schema optimization workflow orchestrator. Creates session directories, spawns phase agents sequentially, validates outputs, aggregates results. Trigger: "run schema optimization", "optimize schema workflow", "execute schema phases"
Runs a multi-phase schema optimization workflow with strict validation and evidence collection.
This is a test harness pattern:
{
"skill_dir": "/absolute/path/to/.claude/skills/schema-optimization",
"input_folder": "/path/to/bigquery/export",
"extraction_type": "bigquery_json",
"session_dir_base": ".claude/skills/schema-optimization/reports/runs"
}
Required:
Optional:
TIMESTAMP=$(date +%Y-%m-%d_%H%M%S)
SESSION_DIR="${session_dir_base}/${TIMESTAMP}"
mkdir -p "${SESSION_DIR}"
Spawn Phase 1 agent with:
{
"skill_dir": "<skill_dir>",
"session_dir": "<SESSION_DIR>",
"reference_path": "<skill_dir>/references/01-phase-1.md",
"input_folder": "<input_folder>",
"extraction_type": "<extraction_type>"
}
Expected output:
{
"status": "complete",
"report_path": "<SESSION_DIR>/01-initial-schema-analysis.md",
"schema_summary": {
"total_tables": 0,
"total_fields": 0,
"key_findings": []
}
}
Validation:
status is "complete"report_path file existsschema_summary has required keysSpawn Phase 2 agent with:
{
"skill_dir": "<skill_dir>",
"session_dir": "<SESSION_DIR>",
"reference_path": "<skill_dir>/references/02-phase-2.md",
"phase1_report_path": "<phase1_report_path>",
"input_folder": "<input_folder>"
}
Expected output:
{
"status": "complete",
"report_path": "<SESSION_DIR>/02-field-utilization-analysis.md",
"utilization_summary": {
"unused_fields": [],
"low_utilization_fields": [],
"recommendations": []
}
}
Spawn Phase 3 agent with:
{
"skill_dir": "<skill_dir>",
"session_dir": "<SESSION_DIR>",
"reference_path": "<skill_dir>/references/03-phase-3.md",
"phase1_report_path": "<phase1_report_path>",
"phase2_report_path": "<phase2_report_path>",
"input_folder": "<input_folder>"
}
Expected output:
{
"status": "complete",
"report_path": "<SESSION_DIR>/03-impact-assessment.md",
"impact_summary": {
"high_risk_changes": [],
"medium_risk_changes": [],
"low_risk_changes": [],
"estimated_savings": {}
}
}
Spawn Phase 4 agent with:
{
"skill_dir": "<skill_dir>",
"session_dir": "<SESSION_DIR>",
"reference_path": "<skill_dir>/references/04-phase-4-verify-with-script.md",
"phase2_report_path": "<phase2_report_path>",
"phase3_report_path": "<phase3_report_path>",
"input_folder": "<input_folder>",
"script_path": "<skill_dir>/scripts/analyze_field_utilization.sh",
"output_folder_path": "<input_folder>"
}
Expected output:
{
"status": "complete",
"report_path": "<SESSION_DIR>/04-field-utilization-verification.md",
"verification_summary": {
"files_analyzed": 0,
"conclusions_confirmed": [],
"conclusions_revised": [],
"unexpected_findings": [],
"revised_action_items": []
}
}
Spawn Phase 5 agent with:
{
"skill_dir": "<skill_dir>",
"session_dir": "<SESSION_DIR>",
"reference_path": "<skill_dir>/references/05-phase-5.md",
"phase1_report_path": "<phase1_report_path>",
"phase2_report_path": "<phase2_report_path>",
"phase3_report_path": "<phase3_report_path>",
"phase4_report_path": "<phase4_report_path>"
}
Expected output:
{
"status": "complete",
"report_path": "<SESSION_DIR>/05-final-recommendations.md",
"recommendations_summary": {
"priority_actions": [],
"implementation_plan": [],
"success_metrics": []
}
}
{
"status": "complete",
"session_dir": "<SESSION_DIR>",
"timestamp": "YYYY-MM-DD_HHMMSS",
"phase_reports": {
"phase1": "<SESSION_DIR>/01-initial-schema-analysis.md",
"phase2": "<SESSION_DIR>/02-field-utilization-analysis.md",
"phase3": "<SESSION_DIR>/03-impact-assessment.md",
"phase4": "<SESSION_DIR>/04-field-utilization-verification.md",
"phase5": "<SESSION_DIR>/05-final-recommendations.md"
},
"final_summary": {
"total_tables": 0,
"total_fields": 0,
"unused_fields": 0,
"optimization_opportunities": 0,
"estimated_savings_pct": 0,
"verification_status": "confirmed"
}
}
If any phase fails:
{
"status": "error",
"failed_phase": 3,
"error_message": "Phase 3 agent failed validation",
"session_dir": "<SESSION_DIR>",
"completed_phases": ["phase1", "phase2"]
}
After each phase:
status is "complete" (fail if not)report_path exists on disk (fail if not)User: "Run schema optimization on my BigQuery export"
Claude: [Creates session directory]
Claude: [Spawns Phase 1 agent]
Claude: [Validates Phase 1 output]
Claude: [Spawns Phase 2 agent with Phase 1 report]
Claude: [... continues through Phase 5]
Claude: [Returns final JSON summary]
reports/runs/2025-01-15_143022/
├── 01-initial-schema-analysis.md
├── 02-field-utilization-analysis.md
├── 03-impact-assessment.md
├── 04-field-utilization-verification.md
└── 05-final-recommendations.md
Each file is evidence of work completed.
下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer