Task Manager logo

Task Manager

Community
zeenie-ai
task-manager

Coordinate durable team tasks by assigning connected teammates, reviewing results, and accepting, retrying, reassigning, or cancelling work.

Overview

Publisherzeenie-ai
RepositoryOpenCompany
Skill nametask-manager
Stars
912
Forks
137
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by zeenie-ai on GitHub. Read the source before you install it.

Installation

Install the Task Manager AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/zeenie-ai/OpenCompany.git /tmp/OpenCompany
mkdir -p .claude/skills
cp -r /tmp/OpenCompany/server/skills/assistant/task-manager .claude/skills/task-manager
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Task Manager in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Task Manager on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Task Manager is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Task Manager

Use task_manager as the team lead's durable control plane. It is scoped to the current workflow execution and only permits assignment to agents connected to this lead's input-teammates handle.

Required workflow

  1. Call list_tasks with include_history=true before assigning work so you do not duplicate a mission from an earlier workflow execution.
  2. Split independent work into bounded tasks with explicit acceptance criteria.
  3. Call assign_task once per mission. Use the connected teammate node ID or the exact delegate name reported by the lead's available teammate list. Do not call delegate_to_* directly; delegate descriptors are internal dispatch identities, not the lead's task-creation interface.
  4. Independent tasks may be assigned together. The durable queue starts at most three descendants across the whole agent tree; excess tasks remain queued. After assign_task returns queued, report that delegation started and return immediately. Do not poll or wait in the assigning invocation.
  5. When a teammate submits work or an attempt fails, call get_task, then use inspect_task_trace before retrying, reassigning, or reporting a terminal failure. Start with detail="summary"; use failures or a paginated timeline only when the summary does not explain the outcome. For large histories use detail="search" with a narrow query, inspect the returned context lines, and follow next_cursor until the match is found or the cursor is empty. Prefer categories and all_terms over broad searches. Copy task.id to task_id and task.revision to expected_revision for the review mutation.
  6. Choose exactly one review outcome:
    • accept_task when the result satisfies the task;
    • modify_task for blocked or queued work;
    • retry_task when the mission is still valid;
    • reassign_task to another connected teammate with revision context;
    • cancel_task when the work is no longer needed.
  7. Call finish_team only after every required task is accepted or intentionally cancelled. Synthesize accepted results in the final report and disclose any unresolved failure.

Operations

OperationPurposeImportant arguments
assign_taskPersist and queue a bounded missiontitle, mission, assignee_node_id or delegate_name, optional context, acceptance_criteria, depends_on
list_tasksInspect current or historical tasksoptional status_filter, include_history
get_taskReview one task and all attemptstask_id
inspect_task_traceInspect or grep the task attempt's sanitized Temporal eventstask_id; optional attempt, detail, cursor, limit; search supports query, search_mode, categories, context_lines, scan_limit
modify_taskChange queued/blocked worktask_id, expected_revision, changed task fields
cancel_taskCancel queued or running worktask_id, expected_revision, reason
retry_taskQueue a new attempttask_id, expected_revision, optional revision context
reassign_taskQueue a new attempt for another teammatetask_id, expected_revision, new connected assignee
accept_taskRecord lead approval of submitted worktask_id, expected_revision
finish_teamFinalize after the review barrier clearsoptional summary

If exactly one task is submitted in the current execution, accept_task may omit task_id and expected_revision; the runtime safely resolves that single task and its current revision. If zero or multiple submissions await review, you must call list_tasks or get_task and pass both fields. Never guess.

mark_done is a deprecated compatibility alias for accept_task. Never use it to discard history.

State model

  • blocked: waiting for dependencies.
  • queued: durable and waiting for a concurrency permit.
  • running: owned by a teammate.
  • submitted: teammate finished; lead review is required.
  • accepted: lead approved the work.
  • failed: no automatic attempt remains.
  • cancelled: intentionally stopped; may be revised and reassigned.

Do not treat submitted as finished team work. Do not poll a running task; taskTrigger starts a separate review invocation carrying the owning execution. Do not invent teammate IDs, team IDs, or execution IDs—the runtime supplies authority and rejects cross-team access. Trace output is intentionally sanitized and scoped to the persisted task execution. Never request or infer raw Temporal workflow IDs.

Trace search is a bounded grep-like read over normalized event metadata, never raw payloads. A call scans at most 500 events and returns only matches plus up to five surrounding events. Continue from next_cursor; do not restart from the beginning or load the entire timeline when a targeted search is sufficient.

Team Monitor interpretation

Team Monitor is read-only. It shows graph-connected teammates immediately and merges their persisted working/idle status during execution. Its Done count means accepted, not merely submitted. Use Task Manager—not Team Monitor—to accept, retry, modify, reassign, cancel, or finish work.

Frequently asked questions

What does the Task Manager AI skill do?

Coordinate durable team tasks by assigning connected teammates, reviewing results, and accepting, retrying, reassigning, or cancelling work.

Why use Task Manager on TypingMind?

Because you install it once and use it with any model. Task Manager is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Task Manager in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/zeenie-ai/OpenCompany/tree/main/server/skills/assistant/task-manager. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Task Manager?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Task Manager?

As many as you like. As long as a model supports skills, you can use Task Manager with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Task Manager AI skill free?

Yes. It is published on GitHub by zeenie-ai under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇