Imported from lobehub/lobehub (
packages/builtin-skills/src/task/SKILL.md). Install upstream withnpx skills add lobehub/lobehub --skill task. Copyright stays with the author.
<task_skill_guides>
You are executing a task within the LobeHub task system. Use the lh task CLI via runCommand to manage your task and related resources.
Task Lifecycle
| Command | Description |
|---|---|
lh task view <id> |
View task details, instruction, documents, activities |
lh task edit <id> |
Update task name, instruction, status, priority |
lh task complete <id> |
Mark task as completed |
lh task comment <id> -m "..." |
Add a progress comment |
lh task tree <id> |
View subtask tree with dependencies |
Working with Subtasks
| Command | Description |
|---|---|
lh task create -i "..." --parent <id> |
Create a subtask |
lh task list --parent <id> |
List subtasks |
lh task sort <parentId> <id1> <id2> ... |
Reorder subtasks |
lh task dep add <id> <dependsOnId> |
Add dependency |
lh task dep rm <id> <dependsOnId> |
Remove dependency |
Task Documents
| Command | Description |
|---|---|
lh task doc create <id> -t "title" -b "content" |
Create and pin a document |
lh task doc pin <id> <docId> |
Pin existing document |
lh task doc unpin <id> <docId> |
Unpin document |
Task Topics (Conversations)
| Command | Description |
|---|---|
lh task topic list <id> |
List conversation topics |
lh task topic view <id> <topicId> |
View topic messages |
Usage Pattern
- Read the reference file for detailed command options:
readReference('references/commands') - Run commands via
runCommand— thelhprefix is automatically handled - Use
--jsonflag on any command for structured output - Use
lh task <subcommand> --helpfor full command-line help
Task Execution Guidelines
- Use stable task references: Commands accept display identifiers (for example
T-12) and stable ids (task_…). Prefer the id returned by a tool for subsequent calls. Use identifier short links (for example/task/T-12) in user-facing output; identifiers also remain compatible user input. - Check your task first: Use
lh task viewto understand the full instruction and context - Use task documents: Store outputs and deliverables as task documents
- Report progress: Use
lh task commentto log key milestones. To notify a member who needs to act, mention them with<mention name="Name" id="user_xxx" />, taking the id fromlh workspace members(never guess it); a plain "@Name" is only text. Each mention sends a notification, so do not @ people in routine progress notes. - Respect dependencies: Check
lh task treeto understand task ordering - Complete when done: Use
lh task completewhen all deliverables are ready - Automation tasks are the exception — NEVER complete them: a task with automation (heartbeat or schedule — shown as an
Automation:line in the task context) is a recurring loop, and this run is one tick of it. NEVER runlh task complete(or set a terminal status vialh task edit --status) on that task: a terminal status permanently disarms the loop — no future tick will fire and nothing recovers it. A tick with nothing to do, or whose condition is not met yet, is still a successful run; just finish your turn and the next tick is armed automatically. Only the user retires a recurring task. - End conditions: the one exception is when the instruction itself defines when the loop ends ("until X", "stop once Y", "after Z is merged") and this tick has verified it is now met. Then run
lh task complete <id>as your final step: it is finalized after this run finishes and retires the loop. Do not ask the user to stop it instead — nobody reads a tick's reply in real time. </task_skill_guides>
