taskflow-inbox-triage

Implements an inbox triage flow pattern using TaskFlow state management and reply waiting.

1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/JEROME-PRAKASH-L/openclaw --skill taskflow-inbox-triage-jerome-prakash-l
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: taskflow-inbox-triage
Source: https://github.com/JEROME-PRAKASH-L/openclaw/tree/main/skills/taskflow-inbox-triage
Command: npx skills add https://github.com/JEROME-PRAKASH-L/openclaw --skill taskflow-inbox-triage-jerome-prakash-l

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Coordinating multi-step inbox triage—classifying messages, routing business items to Slack, notifying on personal items, and batching the rest for end-of-day summaries—requires durable state and pause/resume logic that ad-hoc scripts cannot provide. ## Core Features & Use Cases - Managed Flow Lifecycle: Creates a managed TaskFlow flow with a goal, current step, and persisted stateJson tracking business threads, personal items, and end-of-day summary entries. - Waiting and Resuming: Moves the flow into a waiting state with waitJson when an external Slack reply is required, then resumes with optimistic concurrency via expectedRevision. - Detached Classification Task: Runs a detached child task to classify inbox items before routing decisions are made. - Use Case: An assistant monitors your inbox, posts business threads to Slack and waits for replies, immediately notifies you of personal messages, and accumulates everything else into an end-of-day summary. ## Quick Start Ask the assistant to triage your inbox by classifying new messages, routing business threads to Slack, and saving the rest for an end-of-day summary.

Frequently Asked Questions about taskflow-inbox-triage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an inbox triage flow with TaskFlow?

Create a managed flow with createManaged, run a detached classification task with runTask, persist routing state in stateJson, and call setWaiting when an external reply is needed. Resume with resume and finish with finish once the batch is routed.

How does TaskFlow wait for a Slack reply?

Call setWaiting with a waitJson object specifying kind reply, channel slack, and the thread key. The flow stays in the waiting state until the external reply arrives, then resume is called with the expected revision.

What is stateJson used for in TaskFlow flows?

stateJson persists the flow's working state across steps, such as lists of business threads, personal items, and end-of-day summary entries. It is passed on creation, updated on waiting and resume, and finalized on finish.

Why does TaskFlow resume fail with a revision error?

Resume and setWaiting use optimistic concurrency via expectedRevision. If the flow was modified by another operation since you last read it, the call returns applied false with an error code, and you must re-read the flow and retry.

When should I use a managed TaskFlow flow instead of a simple script?

Use a managed flow when work spans multiple steps, must pause for external input like human replies, and needs durable state across sessions. Simple one-shot tasks without waiting do not need flow lifecycle management.