{
    "format": "skillpro/v1",
    "skill_id": "openclaw-openclaw-skills-taskflow-inbox-triage-skill-md",
    "name": "taskflow-inbox-triage",
    "version": "1.0.0",
    "description": "Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.",
    "category": [
        "职场效率"
    ],
    "trigger_words": [],
    "tags": [
        "ai"
    ],
    "source": "DeepseekModel",
    "source_url": "https://deepseekmodel.com/skill?id=openclaw-openclaw-skills-taskflow-inbox-triage-skill-md",
    "exported_at": "2026-09-16T16:15:04+08:00",
    "system_prompt": "name taskflow-inbox-triage description Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries. metadata {\"openclaw\":{\"emoji\":\"📥\"}} TaskFlow inbox triage This is a concrete example of how to think about TaskFlow without turning the core runtime into a DSL. Goal Triage inbox items with one owner flow: business -> post to Slack and wait for reply personal -> notify the owner now everything else -> keep for end-of-day summary Pattern Create one flow for the inbox batch. Run one detached task to classify new items. Persist the routing state in stateJson . Move to waiting only when an outside reply is required. Resume the flow when classification or human input completes. Finish when the batch has been routed. Suggested stateJson shape { \"businessThreads\" : [ ] , \"personalItems\" : [ ] , \"eodSummary\" : [ ] } Suggested waitJson when blocked on Slack: { \"kind\" : \"reply\" , \"channel\" : \"slack\" , \"threadKey\" : \"slack:thread-1\" } Minimal runtime calls const taskFlow = api. runtime . tasks . managedFlows . fromToolContext (ctx); const created = taskFlow. createManaged ({ controllerId : \"my-plugin/inbox-triage\" , goal : \"triage inbox\" , currentStep : \"classify\" , stateJson : { businessThreads : [], personalItems : [], eodSummary : [], }, }); const child = taskFlow. runTask ({ flowId : created. flowId , runtime : \"acp\" , childSessionKey : \"agent:main:subagent:classifier\" , task : \"Classify inbox messages\" , status : \"running\" , startedAt : Date . now (), lastEventAt : Date . now (), }); if (!child. created ) { throw new Error (child. reason ); } const waiting = taskFlow. setWaiting ({ flowId : created. flowId , expectedRevision : created. revision , currentStep : \"await_business_reply\" , stateJson : { businessThreads : [ \"slack:thread-1\" ], personalItems : [], eodSummary : [], }, waitJson : { kind : \"reply\" , channel : \"slack\" , threadKey : \"slack:thread-1\" , }, }); if (!waiting. applied ) { throw new Error (waiting. code ); } const resumed = taskFlow. resume ({ flowId : waiting. flow . flowId , expectedRevision : waiting. flow . revision , status : \"running\" , currentStep : \"route_items\" , stateJson : waiting. flow . stateJson , }); if (!resumed. applied ) { throw new Error (resumed. code ); } taskFlow. finish ({ flowId : resumed. flow . flowId , expectedRevision : resumed. flow . revision , stateJson : resumed. flow . stateJson , }); Related example skills/taskflow/examples/inbox-triage.lobster",
    "model_config": {
        "provider": "deepseek",
        "model": "deepseek-chat",
        "temperature": 0.7,
        "max_tokens": 4096,
        "top_p": 0.9
    },
    "examples": [
        {
            "input": "请用taskflow-inbox-triage帮我处理问题",
            "output": "好的，我是taskflow-inbox-triage。Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries. 我会根据你的需求提供专业帮助。"
        },
        {
            "input": "介绍一下你的能力",
            "output": "我是taskflow-inbox-triage，专注于职场效率领域。Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries."
        }
    ],
    "install_guide": {
        "coze": "在 Coze 平台创建 Bot -> 技能配置 -> 导入此 .skill 文件",
        "dify": "在 Dify 平台创建应用 -> 添加知识库 -> 导入此 .skill 配置",
        "claude": "将 system_prompt 字段内容复制到 Claude 自定义指令中",
        "custom": "将此 .skill 文件加载到你的 AI Agent 框架中，解析 system_prompt 和 model_config 即可使用"
    },
    "scripts": {
        "python": "# taskflow-inbox-triage - Python extension\n# Add custom Python logic here\ndef process(input_data):\n    return input_data\n",
        "javascript": "// taskflow-inbox-triage - JavaScript extension\n// Add custom JS logic here\nfunction process(inputData) {\n    return inputData;\n}\n"
    },
    "tools": {
        "mcp_servers": [],
        "api_endpoints": []
    },
    "dependencies": {
        "python": [],
        "node": []
    },
    "hooks": {
        "on_load": "echo \"Skill loaded: taskflow-inbox-triage\"",
        "on_call": "",
        "on_error": "echo \"Skill error: please check logs\""
    }
}