{
  "name": "analyze_requirement",
  "title": "需求分析",
  "description": "准确理解用户需求，评估工作量和复杂度",
  "group": "project",
  "version": "1.0.0",
  "input_schema": {
    "type": "object",
    "properties": {
      "task": {
        "type": "string",
        "description": "需要执行的任务描述"
      }
    },
    "required": ["task"]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "content": {
        "type": "string",
        "description": "执行结果"
      }
    }
  },
  "steps": [
    {
      "id": "generate",
      "description": "生成执行结果",
      "operator": "executor",
      "handler": "llm",
      "on_error": {
        "retry": 2,
        "retry_delay": 500
      },
      "params": {
        "system_prompt": "{{ $meta.system_prompt }}",
        "user_prompt": "{{ $input.task }}"
      }
    },
    {
      "id": "validate",
      "description": "校验生成内容非空",
      "operator": "validator",
      "handler": "required",
      "params": {
        "field": "content",
        "value": "{{ $steps.generate.content }}"
      }
    },
    {
      "id": "check",
      "description": "校验失败则中止",
      "operator": "dispatcher",
      "handler": "condition",
      "params": {
        "source": "{{ $steps.validate.valid }}",
        "operator": "truthy",
        "else_jump": "end"
      }
    },
    {
      "id": "log_call",
      "description": "记录调用日志",
      "operator": "manager",
      "handler": "call_log",
      "params": {
        "work_name": "analyze_requirement",
        "stage": "executed",
        "status": "{{ $steps.validate.valid ? 'success' : 'fail' }}",
        "input_preview": { "$expr": "String($input.task).slice(0, 80)" },
        "last_error": "{{ $last_error }}"
      }
    }
  ]
}
